SlideShare uma empresa Scribd logo
1 de 54
Baixar para ler offline
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
David Reis | Arquiteto de Soluções
Eduardo Horai | Gerente Sr. Arquitetura de Soluções
22-Setembro-2016
Introdução à Internet das Coisas
com AWS IoT
A “Internet das Coisas”
(plural)
Coisas NÃO são recursos estáticos
Propósito != Medição
O cliente tem várias identidades
A casa é a empresa de alguém
AWS IoT
Ruído de Roteamento
Device Gateway
Publish / Subscribe
Suporte a Protocolos Padrões
MQTT, HTTP, WebSockets
Conexões de Longa Duração
Receber sinais da nuvem
Seguro por Padrão
Conecte com segurança usando
certificados X509 e TLS 1.2
com Autenticação Mútua
Mensagens dos Sensores
Suporte a protocolos padrão
MQTT, HTTP, WebSockets
Tópico/canal
Hierarquia para roteamento das mensagens
Controle total da árvore
Conteúdo (JSON)
JSON customizado
Encontrando os Sinais
Extraindo o Valor das Mensagens
• Filtrar mensagens usando um critério
• Mover mensagens para outros tópicos
• Mover mensagens para outros sistemas
• Transformar o conteúdo das mensagens
• Predizer mensages usando tendências
• Reagir baseado nas mensagens
Motor de Regras (Rules Engine)
AWS IoT SQL – Referência
SELECT DATA FROM TOPIC WHERE FILTER
• Similar a ler uma tabela de um banco de dados
• A origem padrão é um tópico MQTT
Exemplos:
• FROM mqtt(‘meu/topico’)
• FROM mqtt(‘meu/coringa/+/topico’)
• FROM (‘meu/topico’)
Motor de Regras
• Similar a sintaxe SQL
• SELECT * FROM tópico WHERE filtro
• Funções
• Manipulação de strings (suporte a expressões regulares)
• Operações matemáticas
• Funções auxiliares baseadas em contexto
• Suporte a criptografia
• UUID, timestamp, rand, etc.
• Executar ações em paralelo
novo: Funcionalidades do Motor de Regras
• Versionamento
• 2016-10-08 – Versão original
• 2016-03-23-beta – Versão beta lançada em uma
determinada data
• beta – Última versão beta (mudanças com quebras!)
• lts – Última versão estável, atualizada automaticamente
{
"sql": "expression",
"ruleDisabled": false,
"awsIotSqlVersion": "2015-03-23-beta",
"actions": [{
"republish": {
"topic": "my-mqtt-topic",
"roleArn": "arn:aws:iam::123456789012:role/my-iot-role"
}
}]}
novo: Funcionalidades do Motor de Regras
• Coleções JSON
• get(vetor, int) – pegar um item na posição do vetor
• get(string, int) – pegar um caractere na posição da string
• get(objeto, chave) – pegar o valor da chave
• SUB SELECT de coleções
• SELECT (SELECT v FROM e WHERE n = 'temperatura') as
temperatura FROM 'topico'
novo: Integração com Elasticsearch
Demo
novo: Ciclo de Vida de Eventos
novo: Função de Predição
Fluxo básico para usar predição
• Gere dados
• Use uma regra do AWS IoT para enviar dados para o S3
• Construa o seu modelo no Amazon Machine Learning
usando o S3 como fonte de dados
• Habilite as predições em tempo-real no Amazon ML
• Use uma regra do AWS IoT para validar o valor predito
com o Amazon ML
• Adicione outras ações
Blog de Manutenção Preditiva:
http://bit.ly/aws-iot-aml-blog
novo: Registro de Coisas - Tipo
• Registrar uma coisa para que possa localizá-la
posteriormente
• Atributos que podem ser buscados
• Definir coisas usando tipo
AWS IoT Device Shadow
AWS IoT Device Shadow
1. Dispositivo publica o estado atual
2. Persiste no repositório de dados JSON
3. Aplicativo solicita o estado
atual do dispositivo
4. Aplicativo solicita atualização
no estado
5. Device shadow sincroniza
o estado atualizado
6. Dispositivo publica o
estado atual
7. Device shadow confirma a
mudança do estado
AWS IoT Fluxo de uso do Device Shadow
AWS IoT Device Shadow: Simples e Poderoso
{
"state" : {
“desired" : {
“luzes": { "cor": “VERMELHO" },
"motor" : "LIGADO"
},
"reported" : {
“luzes" : { "cor": “VERDE" },
„motor" : "LIGADO"
},
"delta" : {
“luzes" : { "cor": "VERMELHO" }
} },
"version" : 10
}
Dispositivo
Reporta o estado atual para uma ou mais device
shadows
Obtém o estado desejado da shadow
Aplicação Móvel
Determina o estado desejado do dispositivo
Obtém o último estado reportado pelo dispositivo
Apaga a device shadow
Shadow
Shadow informa a diferença (delta),
estado desejado (desired) e reportado (reported)
incluindo o metadado e versão
Demo
Segurança
Princípios de Segurança da AWS
Separação de Papéis
Pessoal diferente para cada função
Privilégio mínimo
Segurança nos Dispositivos
Autenticação Mútua usando TLS
• Criar um CSR
• Criar um certificado X.509 a partir do CSR
• Ativar o certificado
• Criar uma policy
• Anexar a policy ao certificado
* Certificado precisa ser emitido pelo AWS IoT
novo: Traga o seu próprio Certificado
• Use os certificados emitidos pela sua própria AC
• Aproveitar a infraestrutura de emissão atual
• Usar certificados que já estão embarcados
• Acesso limitado a internet na linha de montagem/fábrica
• Provisionamento simplificado de dispositivos
• 8 chamadas novas de API para suportar o
gerenciamento dos certificados
Exemplo de Policy publish/subscribe
"Effect": "Allow",
"Action": [
"iot:Publish"
],
"Resource": [
"arn:aws:iot:us-east-1:123456789012:topic/foo"
]
},
{
"Effect": "Deny",
"Action": [
”iot:Subscribe"
],
"Resource": [
"arn:aws:iot:us-east-1:123456789012:topic/bar"
]
Permite acesso a
topic/foo
Nega acesso a
topic/bar
AWS IoT policies
• Resultado (Effect)
• Permitir (Allow) ou Negar (Deny)
• Ação (Action)
• "iot:Publish" – publicar em um tópico MQTT
• "iot:Subscribe" – inscrever em um tópico MQTT
• "iot:UpdateThingShadow" – Atualizar uma thing shadow
• "iot:GetThingShadow" – Obter uma thing shadow
• "iot:DeleteThingShadow - Apagar uma thing shadow
• Recurso (Resource)
• Cliente
• ARN do tópico ou do filtro do tópico
Protegendo o acesso aos recursos da AWS
Criando um relação de confiança com AWS IoT
P P
P
Role
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": “iot.amazonaws.com”
},
"Action": "sts:AssumeRole"
}
]
}
Protegendo acesso aos recursos da AWS
Protegendo acesso dos usuários
• WebSockets suporta autenticação
Signature Version 4
• IAM roles e policies
• Pool de Identidade do Amazon Cognito
• Acesso anônimo ao iot:Subscribe
• Use o seu próprio padrão de autenticação no nível de
aplicação
SDKs para Dispositivos
Suporte ao SDK para Dispositivos
• Baseado em padrões abertos como Eclipse Paho
• C
• Arduino (Yun)
• iOS (Swift)
• Android
• Suporte a WebSocket
• NodeJS
• JS SDK para sites estáticos (WebSockets)
Resumo
• AWS IoT
• novo Regiões (EU – Frankfurt e AP – Cingapura)
• novo Ciclo de Vida de Eventos
• novo Tipos para o Device Registry
• novo Funcionalidades do Motor de Regra
• Elasticsearch
• Amazon ML como função de predição
• novo Traga o seu próprio certificado
Lembre-se de avaliar as
apresentações!
Muito Obrigado!
David Reis | dreis@amazon.com
Eduardo Horai | ehorai@amazon.com

Mais conteúdo relacionado

Mais procurados

Raising the bar #2 - Explorando o poder do banco de dados com Amazon Aurora
Raising the bar #2 - Explorando o poder do banco de dados com Amazon AuroraRaising the bar #2 - Explorando o poder do banco de dados com Amazon Aurora
Raising the bar #2 - Explorando o poder do banco de dados com Amazon AuroraAmazon Web Services LATAM
 
Raising the bar #3 - Construindo Apps Móveis com AWS Mobile Hub
Raising the bar #3 - Construindo Apps Móveis com AWS Mobile HubRaising the bar #3 - Construindo Apps Móveis com AWS Mobile Hub
Raising the bar #3 - Construindo Apps Móveis com AWS Mobile HubAmazon Web Services LATAM
 
Building blocks #4 - Rede de entrega de conteúdo (CDN) na AWS
Building blocks #4 - Rede de entrega de conteúdo (CDN) na AWSBuilding blocks #4 - Rede de entrega de conteúdo (CDN) na AWS
Building blocks #4 - Rede de entrega de conteúdo (CDN) na AWSAmazon Web Services LATAM
 
AWS Virtual Private Cloud (VPC): Isolando seus Recursos na Nuvem
AWS Virtual Private Cloud (VPC): Isolando seus Recursos na Nuvem AWS Virtual Private Cloud (VPC): Isolando seus Recursos na Nuvem
AWS Virtual Private Cloud (VPC): Isolando seus Recursos na Nuvem Amazon Web Services LATAM
 
Path to the future #5 - Melhores práticas de data warehouse no Amazon Redshift
Path to the future #5 - Melhores práticas de data warehouse no Amazon RedshiftPath to the future #5 - Melhores práticas de data warehouse no Amazon Redshift
Path to the future #5 - Melhores práticas de data warehouse no Amazon RedshiftAmazon Web Services LATAM
 
Escalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuariosEscalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuariosAmazon Web Services LATAM
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaAmazon Web Services LATAM
 

Mais procurados (20)

Raising the bar #2 - Explorando o poder do banco de dados com Amazon Aurora
Raising the bar #2 - Explorando o poder do banco de dados com Amazon AuroraRaising the bar #2 - Explorando o poder do banco de dados com Amazon Aurora
Raising the bar #2 - Explorando o poder do banco de dados com Amazon Aurora
 
Primeiros Passos na AWS
Primeiros Passos na AWSPrimeiros Passos na AWS
Primeiros Passos na AWS
 
Raising the bar #3 - Construindo Apps Móveis com AWS Mobile Hub
Raising the bar #3 - Construindo Apps Móveis com AWS Mobile HubRaising the bar #3 - Construindo Apps Móveis com AWS Mobile Hub
Raising the bar #3 - Construindo Apps Móveis com AWS Mobile Hub
 
Criando e conectando seu datacenter virtual
Criando e conectando seu datacenter virtualCriando e conectando seu datacenter virtual
Criando e conectando seu datacenter virtual
 
Building blocks #4 - Rede de entrega de conteúdo (CDN) na AWS
Building blocks #4 - Rede de entrega de conteúdo (CDN) na AWSBuilding blocks #4 - Rede de entrega de conteúdo (CDN) na AWS
Building blocks #4 - Rede de entrega de conteúdo (CDN) na AWS
 
AWS Virtual Private Cloud (VPC): Isolando seus Recursos na Nuvem
AWS Virtual Private Cloud (VPC): Isolando seus Recursos na Nuvem AWS Virtual Private Cloud (VPC): Isolando seus Recursos na Nuvem
AWS Virtual Private Cloud (VPC): Isolando seus Recursos na Nuvem
 
Fazendo seu DR na AWS de maneira prática
Fazendo seu DR na AWS de maneira práticaFazendo seu DR na AWS de maneira prática
Fazendo seu DR na AWS de maneira prática
 
Escalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com BeanstalkEscalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com Beanstalk
 
Path to the future #5 - Melhores práticas de data warehouse no Amazon Redshift
Path to the future #5 - Melhores práticas de data warehouse no Amazon RedshiftPath to the future #5 - Melhores práticas de data warehouse no Amazon Redshift
Path to the future #5 - Melhores práticas de data warehouse no Amazon Redshift
 
Amazon EC2 avançado
Amazon EC2 avançadoAmazon EC2 avançado
Amazon EC2 avançado
 
Escalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuariosEscalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuarios
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS Lambda
 
Melhores Práticas no Uso da Nuvem AWS
Melhores Práticas no Uso da Nuvem AWSMelhores Práticas no Uso da Nuvem AWS
Melhores Práticas no Uso da Nuvem AWS
 
Escalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com BeanstalkEscalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com Beanstalk
 
Segurança de ponta a ponta na AWS
Segurança de ponta a ponta na AWSSegurança de ponta a ponta na AWS
Segurança de ponta a ponta na AWS
 
Primeiros Passos na AWS
Primeiros Passos na AWSPrimeiros Passos na AWS
Primeiros Passos na AWS
 
Infraestrutura como código
Infraestrutura como códigoInfraestrutura como código
Infraestrutura como código
 
Webinar: Introdução a Big data
Webinar: Introdução a Big dataWebinar: Introdução a Big data
Webinar: Introdução a Big data
 
Criando e conectando seu datacenter virtual
Criando e conectando seu datacenter virtualCriando e conectando seu datacenter virtual
Criando e conectando seu datacenter virtual
 
Fazendo seu DR na AWS
Fazendo seu DR na AWSFazendo seu DR na AWS
Fazendo seu DR na AWS
 

Destaque

Path to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big DataPath to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big DataAmazon Web Services LATAM
 
Creando su Datacenter Virtual: Fundamentos de VPC y opciones de conectividad
Creando su Datacenter Virtual: Fundamentos de VPC y opciones de conectividadCreando su Datacenter Virtual: Fundamentos de VPC y opciones de conectividad
Creando su Datacenter Virtual: Fundamentos de VPC y opciones de conectividadAmazon Web Services LATAM
 
Webinar: Mejores prácticas de Seguridad de la Información
Webinar: Mejores prácticas de Seguridad de la InformaciónWebinar: Mejores prácticas de Seguridad de la Información
Webinar: Mejores prácticas de Seguridad de la InformaciónAmazon Web Services LATAM
 
Webinar: Ask the Architect - Servicios de Storage de AWS
Webinar: Ask the Architect - Servicios de Storage de AWSWebinar: Ask the Architect - Servicios de Storage de AWS
Webinar: Ask the Architect - Servicios de Storage de AWSAmazon Web Services LATAM
 
Armazenamento para uma estratégia híbrida
 Armazenamento para uma estratégia híbrida Armazenamento para uma estratégia híbrida
Armazenamento para uma estratégia híbridaAmazon Web Services LATAM
 
Path to the future #4 - Ingestão, processamento e análise de dados em tempo real
Path to the future #4 - Ingestão, processamento e análise de dados em tempo realPath to the future #4 - Ingestão, processamento e análise de dados em tempo real
Path to the future #4 - Ingestão, processamento e análise de dados em tempo realAmazon Web Services LATAM
 
Quais são as opções de banco de dados gerenciados na AWS?
 Quais são as opções de banco de dados gerenciados na AWS? Quais são as opções de banco de dados gerenciados na AWS?
Quais são as opções de banco de dados gerenciados na AWS?Amazon Web Services LATAM
 
Rodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvemRodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvemAmazon Web Services LATAM
 

Destaque (10)

Path to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big DataPath to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big Data
 
Creando su Datacenter Virtual: Fundamentos de VPC y opciones de conectividad
Creando su Datacenter Virtual: Fundamentos de VPC y opciones de conectividadCreando su Datacenter Virtual: Fundamentos de VPC y opciones de conectividad
Creando su Datacenter Virtual: Fundamentos de VPC y opciones de conectividad
 
Webinar: Mejores prácticas de Seguridad de la Información
Webinar: Mejores prácticas de Seguridad de la InformaciónWebinar: Mejores prácticas de Seguridad de la Información
Webinar: Mejores prácticas de Seguridad de la Información
 
Comenzando a usar el Continuous Delivery
 Comenzando a usar el Continuous Delivery Comenzando a usar el Continuous Delivery
Comenzando a usar el Continuous Delivery
 
Webinar: Ask the Architect - Servicios de Storage de AWS
Webinar: Ask the Architect - Servicios de Storage de AWSWebinar: Ask the Architect - Servicios de Storage de AWS
Webinar: Ask the Architect - Servicios de Storage de AWS
 
Armazenamento para uma estratégia híbrida
 Armazenamento para uma estratégia híbrida Armazenamento para uma estratégia híbrida
Armazenamento para uma estratégia híbrida
 
DevOps en AWS
DevOps en AWSDevOps en AWS
DevOps en AWS
 
Path to the future #4 - Ingestão, processamento e análise de dados em tempo real
Path to the future #4 - Ingestão, processamento e análise de dados em tempo realPath to the future #4 - Ingestão, processamento e análise de dados em tempo real
Path to the future #4 - Ingestão, processamento e análise de dados em tempo real
 
Quais são as opções de banco de dados gerenciados na AWS?
 Quais são as opções de banco de dados gerenciados na AWS? Quais são as opções de banco de dados gerenciados na AWS?
Quais são as opções de banco de dados gerenciados na AWS?
 
Rodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvemRodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvem
 

Semelhante a Introdução à Internet das Coisas com AWS IoT

Introdução à Internet das Coisas com AWS IoT
Introdução à Internet das Coisas com AWS IoTIntrodução à Internet das Coisas com AWS IoT
Introdução à Internet das Coisas com AWS IoTAlexandre Santos
 
Workshop Microservices - Construindo APIs RESTful com Spring Boot
Workshop Microservices - Construindo APIs RESTful com Spring BootWorkshop Microservices - Construindo APIs RESTful com Spring Boot
Workshop Microservices - Construindo APIs RESTful com Spring BootRodrigo Cândido da Silva
 
Novidades da plataforma Azure IoT
Novidades da plataforma Azure IoTNovidades da plataforma Azure IoT
Novidades da plataforma Azure IoTWalter Coan
 
Gerenciando e implantando suas aplicações na Nuvem da AWS
Gerenciando e implantando suas aplicações na Nuvem da AWSGerenciando e implantando suas aplicações na Nuvem da AWS
Gerenciando e implantando suas aplicações na Nuvem da AWSAmazon Web Services LATAM
 
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...Renato Groff
 
Akka - Uma plataforma para o desenvolvimento de sistemas concorrentes e distr...
Akka - Uma plataforma para o desenvolvimento de sistemas concorrentes e distr...Akka - Uma plataforma para o desenvolvimento de sistemas concorrentes e distr...
Akka - Uma plataforma para o desenvolvimento de sistemas concorrentes e distr...Daniel Sobral
 
Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.
Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.
Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.Walter Coan
 
De a máxima cobertura nos seus testes de API
De a máxima cobertura nos seus testes de APIDe a máxima cobertura nos seus testes de API
De a máxima cobertura nos seus testes de APIElias Nogueira
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaAmazon Web Services LATAM
 
Treze ferramentas/frameworks para desenvolvimento Android
Treze ferramentas/frameworks para desenvolvimento AndroidTreze ferramentas/frameworks para desenvolvimento Android
Treze ferramentas/frameworks para desenvolvimento AndroidAdriano Rocha
 
Treze ferramentas/frameworks para desenvolvimento android
Treze ferramentas/frameworks para desenvolvimento androidTreze ferramentas/frameworks para desenvolvimento android
Treze ferramentas/frameworks para desenvolvimento androidRicardo Longa
 
AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com BeanstalkAWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com BeanstalkAmazon Web Services LATAM
 
Azure na Prática - Azure IoT Edge
Azure na Prática - Azure IoT EdgeAzure na Prática - Azure IoT Edge
Azure na Prática - Azure IoT EdgeWalter Coan
 
SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...
SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...
SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...Walter Coan
 
Desenvolvendo aplicações móveis na Nuvem
Desenvolvendo aplicações móveis na NuvemDesenvolvendo aplicações móveis na Nuvem
Desenvolvendo aplicações móveis na NuvemJose Papo, MSc
 
2016/08/19 - Uma visão geral da AWS para desenvolvedores
2016/08/19 - Uma visão geral da AWS para desenvolvedores2016/08/19 - Uma visão geral da AWS para desenvolvedores
2016/08/19 - Uma visão geral da AWS para desenvolvedoresJardel Weyrich
 
CDI Extensions e DeltaSpike
CDI Extensions e DeltaSpikeCDI Extensions e DeltaSpike
CDI Extensions e DeltaSpikeRafael Benevides
 
Desenvolvimento Ágil de Aplicações Java na Nuvem com o AWS Elastic Beanstalk
Desenvolvimento Ágil de Aplicações Java na Nuvem com o AWS Elastic BeanstalkDesenvolvimento Ágil de Aplicações Java na Nuvem com o AWS Elastic Beanstalk
Desenvolvimento Ágil de Aplicações Java na Nuvem com o AWS Elastic BeanstalkAmazon Web Services LATAM
 
Python na nuvem: OpenStack Swift
Python na nuvem: OpenStack SwiftPython na nuvem: OpenStack Swift
Python na nuvem: OpenStack SwiftDenis Cavalcante
 

Semelhante a Introdução à Internet das Coisas com AWS IoT (20)

Introdução à Internet das Coisas com AWS IoT
Introdução à Internet das Coisas com AWS IoTIntrodução à Internet das Coisas com AWS IoT
Introdução à Internet das Coisas com AWS IoT
 
Deep dive de AWS IoT
Deep dive de AWS IoTDeep dive de AWS IoT
Deep dive de AWS IoT
 
Workshop Microservices - Construindo APIs RESTful com Spring Boot
Workshop Microservices - Construindo APIs RESTful com Spring BootWorkshop Microservices - Construindo APIs RESTful com Spring Boot
Workshop Microservices - Construindo APIs RESTful com Spring Boot
 
Novidades da plataforma Azure IoT
Novidades da plataforma Azure IoTNovidades da plataforma Azure IoT
Novidades da plataforma Azure IoT
 
Gerenciando e implantando suas aplicações na Nuvem da AWS
Gerenciando e implantando suas aplicações na Nuvem da AWSGerenciando e implantando suas aplicações na Nuvem da AWS
Gerenciando e implantando suas aplicações na Nuvem da AWS
 
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
 
Akka - Uma plataforma para o desenvolvimento de sistemas concorrentes e distr...
Akka - Uma plataforma para o desenvolvimento de sistemas concorrentes e distr...Akka - Uma plataforma para o desenvolvimento de sistemas concorrentes e distr...
Akka - Uma plataforma para o desenvolvimento de sistemas concorrentes e distr...
 
Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.
Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.
Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.
 
De a máxima cobertura nos seus testes de API
De a máxima cobertura nos seus testes de APIDe a máxima cobertura nos seus testes de API
De a máxima cobertura nos seus testes de API
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS Lambda
 
Treze ferramentas/frameworks para desenvolvimento Android
Treze ferramentas/frameworks para desenvolvimento AndroidTreze ferramentas/frameworks para desenvolvimento Android
Treze ferramentas/frameworks para desenvolvimento Android
 
Treze ferramentas/frameworks para desenvolvimento android
Treze ferramentas/frameworks para desenvolvimento androidTreze ferramentas/frameworks para desenvolvimento android
Treze ferramentas/frameworks para desenvolvimento android
 
AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com BeanstalkAWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
 
Azure na Prática - Azure IoT Edge
Azure na Prática - Azure IoT EdgeAzure na Prática - Azure IoT Edge
Azure na Prática - Azure IoT Edge
 
SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...
SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...
SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...
 
Desenvolvendo aplicações móveis na Nuvem
Desenvolvendo aplicações móveis na NuvemDesenvolvendo aplicações móveis na Nuvem
Desenvolvendo aplicações móveis na Nuvem
 
2016/08/19 - Uma visão geral da AWS para desenvolvedores
2016/08/19 - Uma visão geral da AWS para desenvolvedores2016/08/19 - Uma visão geral da AWS para desenvolvedores
2016/08/19 - Uma visão geral da AWS para desenvolvedores
 
CDI Extensions e DeltaSpike
CDI Extensions e DeltaSpikeCDI Extensions e DeltaSpike
CDI Extensions e DeltaSpike
 
Desenvolvimento Ágil de Aplicações Java na Nuvem com o AWS Elastic Beanstalk
Desenvolvimento Ágil de Aplicações Java na Nuvem com o AWS Elastic BeanstalkDesenvolvimento Ágil de Aplicações Java na Nuvem com o AWS Elastic Beanstalk
Desenvolvimento Ágil de Aplicações Java na Nuvem com o AWS Elastic Beanstalk
 
Python na nuvem: OpenStack Swift
Python na nuvem: OpenStack SwiftPython na nuvem: OpenStack Swift
Python na nuvem: OpenStack Swift
 

Mais de Amazon Web Services LATAM

AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.Amazon Web Services LATAM
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.Amazon Web Services LATAM
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAmazon Web Services LATAM
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAmazon Web Services LATAM
 
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSRansomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSAmazon Web Services LATAM
 
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSRansomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSAmazon Web Services LATAM
 
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAmazon Web Services LATAM
 
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAmazon Web Services LATAM
 
Cómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosCómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosAmazon Web Services LATAM
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSAmazon Web Services LATAM
 

Mais de Amazon Web Services LATAM (20)

AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWS
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWS
 
Cómo empezar con Amazon EKS
Cómo empezar con Amazon EKSCómo empezar con Amazon EKS
Cómo empezar con Amazon EKS
 
Como começar com Amazon EKS
Como começar com Amazon EKSComo começar com Amazon EKS
Como começar com Amazon EKS
 
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSRansomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWS
 
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSRansomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWS
 
Ransomware: Estratégias de Mitigação
Ransomware: Estratégias de MitigaçãoRansomware: Estratégias de Mitigação
Ransomware: Estratégias de Mitigação
 
Ransomware: Estratégias de Mitigación
Ransomware: Estratégias de MitigaciónRansomware: Estratégias de Mitigación
Ransomware: Estratégias de Mitigación
 
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWS
 
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
 
Cómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosCómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administrados
 
Simplifique su BI con AWS
Simplifique su BI con AWSSimplifique su BI con AWS
Simplifique su BI con AWS
 
Simplifique o seu BI com a AWS
Simplifique o seu BI com a AWSSimplifique o seu BI com a AWS
Simplifique o seu BI com a AWS
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWS
 

Introdução à Internet das Coisas com AWS IoT

  • 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. David Reis | Arquiteto de Soluções Eduardo Horai | Gerente Sr. Arquitetura de Soluções 22-Setembro-2016 Introdução à Internet das Coisas com AWS IoT
  • 2. A “Internet das Coisas” (plural)
  • 3.
  • 4. Coisas NÃO são recursos estáticos
  • 5.
  • 7.
  • 8.
  • 9. O cliente tem várias identidades
  • 10.
  • 11.
  • 12. A casa é a empresa de alguém
  • 13.
  • 17. Publish / Subscribe Suporte a Protocolos Padrões MQTT, HTTP, WebSockets Conexões de Longa Duração Receber sinais da nuvem Seguro por Padrão Conecte com segurança usando certificados X509 e TLS 1.2 com Autenticação Mútua
  • 18. Mensagens dos Sensores Suporte a protocolos padrão MQTT, HTTP, WebSockets Tópico/canal Hierarquia para roteamento das mensagens Controle total da árvore Conteúdo (JSON) JSON customizado
  • 20. Extraindo o Valor das Mensagens • Filtrar mensagens usando um critério • Mover mensagens para outros tópicos • Mover mensagens para outros sistemas • Transformar o conteúdo das mensagens • Predizer mensages usando tendências • Reagir baseado nas mensagens
  • 21. Motor de Regras (Rules Engine)
  • 22. AWS IoT SQL – Referência SELECT DATA FROM TOPIC WHERE FILTER • Similar a ler uma tabela de um banco de dados • A origem padrão é um tópico MQTT Exemplos: • FROM mqtt(‘meu/topico’) • FROM mqtt(‘meu/coringa/+/topico’) • FROM (‘meu/topico’)
  • 23. Motor de Regras • Similar a sintaxe SQL • SELECT * FROM tópico WHERE filtro • Funções • Manipulação de strings (suporte a expressões regulares) • Operações matemáticas • Funções auxiliares baseadas em contexto • Suporte a criptografia • UUID, timestamp, rand, etc. • Executar ações em paralelo
  • 24. novo: Funcionalidades do Motor de Regras • Versionamento • 2016-10-08 – Versão original • 2016-03-23-beta – Versão beta lançada em uma determinada data • beta – Última versão beta (mudanças com quebras!) • lts – Última versão estável, atualizada automaticamente { "sql": "expression", "ruleDisabled": false, "awsIotSqlVersion": "2015-03-23-beta", "actions": [{ "republish": { "topic": "my-mqtt-topic", "roleArn": "arn:aws:iam::123456789012:role/my-iot-role" } }]}
  • 25. novo: Funcionalidades do Motor de Regras • Coleções JSON • get(vetor, int) – pegar um item na posição do vetor • get(string, int) – pegar um caractere na posição da string • get(objeto, chave) – pegar o valor da chave • SUB SELECT de coleções • SELECT (SELECT v FROM e WHERE n = 'temperatura') as temperatura FROM 'topico'
  • 26. novo: Integração com Elasticsearch
  • 27. Demo
  • 28. novo: Ciclo de Vida de Eventos
  • 29. novo: Função de Predição
  • 30. Fluxo básico para usar predição • Gere dados • Use uma regra do AWS IoT para enviar dados para o S3 • Construa o seu modelo no Amazon Machine Learning usando o S3 como fonte de dados • Habilite as predições em tempo-real no Amazon ML • Use uma regra do AWS IoT para validar o valor predito com o Amazon ML • Adicione outras ações
  • 31. Blog de Manutenção Preditiva: http://bit.ly/aws-iot-aml-blog
  • 32. novo: Registro de Coisas - Tipo • Registrar uma coisa para que possa localizá-la posteriormente • Atributos que podem ser buscados • Definir coisas usando tipo
  • 33. AWS IoT Device Shadow
  • 34. AWS IoT Device Shadow
  • 35. 1. Dispositivo publica o estado atual 2. Persiste no repositório de dados JSON 3. Aplicativo solicita o estado atual do dispositivo 4. Aplicativo solicita atualização no estado 5. Device shadow sincroniza o estado atualizado 6. Dispositivo publica o estado atual 7. Device shadow confirma a mudança do estado AWS IoT Fluxo de uso do Device Shadow
  • 36. AWS IoT Device Shadow: Simples e Poderoso { "state" : { “desired" : { “luzes": { "cor": “VERMELHO" }, "motor" : "LIGADO" }, "reported" : { “luzes" : { "cor": “VERDE" }, „motor" : "LIGADO" }, "delta" : { “luzes" : { "cor": "VERMELHO" } } }, "version" : 10 } Dispositivo Reporta o estado atual para uma ou mais device shadows Obtém o estado desejado da shadow Aplicação Móvel Determina o estado desejado do dispositivo Obtém o último estado reportado pelo dispositivo Apaga a device shadow Shadow Shadow informa a diferença (delta), estado desejado (desired) e reportado (reported) incluindo o metadado e versão
  • 37. Demo
  • 39. Princípios de Segurança da AWS Separação de Papéis Pessoal diferente para cada função Privilégio mínimo
  • 40.
  • 42. Autenticação Mútua usando TLS • Criar um CSR • Criar um certificado X.509 a partir do CSR • Ativar o certificado • Criar uma policy • Anexar a policy ao certificado * Certificado precisa ser emitido pelo AWS IoT
  • 43. novo: Traga o seu próprio Certificado • Use os certificados emitidos pela sua própria AC • Aproveitar a infraestrutura de emissão atual • Usar certificados que já estão embarcados • Acesso limitado a internet na linha de montagem/fábrica • Provisionamento simplificado de dispositivos • 8 chamadas novas de API para suportar o gerenciamento dos certificados
  • 44. Exemplo de Policy publish/subscribe "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/foo" ] }, { "Effect": "Deny", "Action": [ ”iot:Subscribe" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/bar" ] Permite acesso a topic/foo Nega acesso a topic/bar
  • 45. AWS IoT policies • Resultado (Effect) • Permitir (Allow) ou Negar (Deny) • Ação (Action) • "iot:Publish" – publicar em um tópico MQTT • "iot:Subscribe" – inscrever em um tópico MQTT • "iot:UpdateThingShadow" – Atualizar uma thing shadow • "iot:GetThingShadow" – Obter uma thing shadow • "iot:DeleteThingShadow - Apagar uma thing shadow • Recurso (Resource) • Cliente • ARN do tópico ou do filtro do tópico
  • 46. Protegendo o acesso aos recursos da AWS
  • 47. Criando um relação de confiança com AWS IoT P P P Role { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": “iot.amazonaws.com” }, "Action": "sts:AssumeRole" } ] }
  • 48. Protegendo acesso aos recursos da AWS
  • 49. Protegendo acesso dos usuários • WebSockets suporta autenticação Signature Version 4 • IAM roles e policies • Pool de Identidade do Amazon Cognito • Acesso anônimo ao iot:Subscribe • Use o seu próprio padrão de autenticação no nível de aplicação
  • 51. Suporte ao SDK para Dispositivos • Baseado em padrões abertos como Eclipse Paho • C • Arduino (Yun) • iOS (Swift) • Android • Suporte a WebSocket • NodeJS • JS SDK para sites estáticos (WebSockets)
  • 52. Resumo • AWS IoT • novo Regiões (EU – Frankfurt e AP – Cingapura) • novo Ciclo de Vida de Eventos • novo Tipos para o Device Registry • novo Funcionalidades do Motor de Regra • Elasticsearch • Amazon ML como função de predição • novo Traga o seu próprio certificado
  • 53. Lembre-se de avaliar as apresentações!
  • 54. Muito Obrigado! David Reis | dreis@amazon.com Eduardo Horai | ehorai@amazon.com