SlideShare uma empresa Scribd logo
1 de 46
Baixar para ler offline
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Angelo Carvalho | Arquiteto de Soluções
22 de Setembro de 2016
Introdução à Internet das Coisas
com AWS IoT
A “Internet das Coisas”
(plural)
Coisas NÃO são recursos estáticos
O cliente tem várias identidades
A casa é a empresa de alguém
AWS IoT
Demo
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
• 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: Integração com Elasticsearch
novo: Ciclo de Vida de Eventos
novo: Função de Predição
Fluxo básico para usar predição
• Gerar 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
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
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
• Embedded C
• JavaScript
• Arduíno Yún
• Java
• Python
• iOS
• Android
Resumo
• AWS IoT
• novo Ciclo de Vida de Eventos
• novo Funcionalidades do Motor de Regra
• Elasticsearch
• Amazon ML como função de predição
• novo Traga o seu próprio certificado
Muito Obrigado!
Angelo Carvalho | carvaa@amazon.com

Mais conteúdo relacionado

Mais procurados

Webinar: Primeiros Passos na Amazon Web Services
Webinar: Primeiros Passos na Amazon Web ServicesWebinar: Primeiros Passos na Amazon Web Services
Webinar: Primeiros Passos na Amazon Web ServicesAmazon 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
 
Visão geral do Windows Azure Backup
Visão geral do Windows Azure BackupVisão geral do Windows Azure Backup
Visão geral do Windows Azure BackupFabio Hara
 
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
 
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
 
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
 
Escalando para os primeiros 10 milhões de usuários
Escalando para os primeiros 10 milhões de usuáriosEscalando para os primeiros 10 milhões de usuários
Escalando para os primeiros 10 milhões de usuáriosAmazon Web Services LATAM
 
Raising the bar #5 - Melhores práticas de workloads Microsoft
Raising the bar #5 - Melhores práticas de workloads MicrosoftRaising the bar #5 - Melhores práticas de workloads Microsoft
Raising the bar #5 - Melhores práticas de workloads MicrosoftAmazon Web Services LATAM
 
Building blocks #1 - Primeiros passos na Amazon Web Services
Building blocks #1 - Primeiros passos na Amazon Web ServicesBuilding blocks #1 - Primeiros passos na Amazon Web Services
Building blocks #1 - Primeiros passos na Amazon Web ServicesAmazon Web Services LATAM
 
Webinar: O que é computação em nuvem com a AWS?
Webinar: O que é computação em nuvem com a AWS?Webinar: O que é computação em nuvem com a AWS?
Webinar: O que é computação em nuvem com a AWS?Amazon Web Services
 
Building blocks #5 - Recuperação de desastres de maneira prática na AWS
Building blocks #5 - Recuperação de desastres de maneira prática na AWSBuilding blocks #5 - Recuperação de desastres de maneira prática na AWS
Building blocks #5 - Recuperação de desastres de maneira prática na AWSAmazon Web Services LATAM
 

Mais procurados (20)

Seu primeiro aplicativo de Big Data
Seu primeiro aplicativo de Big DataSeu primeiro aplicativo de Big Data
Seu primeiro aplicativo de Big Data
 
Escalando com segurança na AWS
Escalando com segurança na AWSEscalando com segurança na AWS
Escalando com segurança na AWS
 
Criando e conectando seu datacenter virtual
Criando e conectando seu datacenter virtualCriando e conectando seu datacenter virtual
Criando e conectando seu datacenter virtual
 
Adicionando segurança web: AWS WAF
Adicionando segurança web: AWS WAFAdicionando segurança web: AWS WAF
Adicionando segurança web: AWS WAF
 
Webinar: Primeiros Passos na Amazon Web Services
Webinar: Primeiros Passos na Amazon Web ServicesWebinar: Primeiros Passos na Amazon Web Services
Webinar: Primeiros Passos na Amazon Web Services
 
Primeiros Passos na AWS
Primeiros Passos na AWSPrimeiros Passos na AWS
Primeiros Passos na AWS
 
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
 
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
 
Visão geral do Windows Azure Backup
Visão geral do Windows Azure BackupVisão geral do Windows Azure Backup
Visão geral do Windows Azure Backup
 
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
 
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
 
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
 
Escalando para os primeiros 10 milhões de usuários
Escalando para os primeiros 10 milhões de usuáriosEscalando para os primeiros 10 milhões de usuários
Escalando para os primeiros 10 milhões de usuários
 
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
 
Criando e conectando seu datacenter virtual
Criando e conectando seu datacenter virtualCriando e conectando seu datacenter virtual
Criando e conectando seu datacenter virtual
 
Raising the bar #5 - Melhores práticas de workloads Microsoft
Raising the bar #5 - Melhores práticas de workloads MicrosoftRaising the bar #5 - Melhores práticas de workloads Microsoft
Raising the bar #5 - Melhores práticas de workloads Microsoft
 
Building blocks #1 - Primeiros passos na Amazon Web Services
Building blocks #1 - Primeiros passos na Amazon Web ServicesBuilding blocks #1 - Primeiros passos na Amazon Web Services
Building blocks #1 - Primeiros passos na Amazon Web Services
 
Webinar: O que é computação em nuvem com a AWS?
Webinar: O que é computação em nuvem com a AWS?Webinar: O que é computação em nuvem com a AWS?
Webinar: O que é computação em nuvem com a AWS?
 
Building blocks #5 - Recuperação de desastres de maneira prática na AWS
Building blocks #5 - Recuperação de desastres de maneira prática na AWSBuilding blocks #5 - Recuperação de desastres de maneira prática na AWS
Building blocks #5 - Recuperação de desastres de maneira prática na 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
 

Destaque

Eleições 2016 - Linhares - Faceli - DCE (Diretório Centra dos Estudantes) - P...
Eleições 2016 - Linhares - Faceli - DCE (Diretório Centra dos Estudantes) - P...Eleições 2016 - Linhares - Faceli - DCE (Diretório Centra dos Estudantes) - P...
Eleições 2016 - Linhares - Faceli - DCE (Diretório Centra dos Estudantes) - P...Jordano Santos Cerqueira
 
Presentación pecha kucha
Presentación pecha kuchaPresentación pecha kucha
Presentación pecha kuchamariareinalopez
 
Oil price cycles and wavelets
Oil price cycles and waveletsOil price cycles and wavelets
Oil price cycles and waveletsTheoNaccache
 
PANDUAN MEMBUAT PROPOSAL & PRESENTASI
PANDUAN MEMBUAT PROPOSAL & PRESENTASIPANDUAN MEMBUAT PROPOSAL & PRESENTASI
PANDUAN MEMBUAT PROPOSAL & PRESENTASIYohanita Tengku
 
The Voice Iss.2 2016 Proof 6.30.16
The Voice Iss.2 2016 Proof 6.30.16The Voice Iss.2 2016 Proof 6.30.16
The Voice Iss.2 2016 Proof 6.30.16Ian Adams
 
V2 프래젠테이션obc usa
V2 프래젠테이션obc usaV2 프래젠테이션obc usa
V2 프래젠테이션obc usaSteven Kim
 
Kanban - Set a pace for the input
Kanban - Set a pace for the inputKanban - Set a pace for the input
Kanban - Set a pace for the inputAvarteq
 

Destaque (11)

INTEGRAL 08
INTEGRAL 08INTEGRAL 08
INTEGRAL 08
 
Eleições 2016 - Linhares - Faceli - DCE (Diretório Centra dos Estudantes) - P...
Eleições 2016 - Linhares - Faceli - DCE (Diretório Centra dos Estudantes) - P...Eleições 2016 - Linhares - Faceli - DCE (Diretório Centra dos Estudantes) - P...
Eleições 2016 - Linhares - Faceli - DCE (Diretório Centra dos Estudantes) - P...
 
Presentación pecha kucha
Presentación pecha kuchaPresentación pecha kucha
Presentación pecha kucha
 
Oil price cycles and wavelets
Oil price cycles and waveletsOil price cycles and wavelets
Oil price cycles and wavelets
 
PIZZA
PIZZAPIZZA
PIZZA
 
PANDUAN MEMBUAT PROPOSAL & PRESENTASI
PANDUAN MEMBUAT PROPOSAL & PRESENTASIPANDUAN MEMBUAT PROPOSAL & PRESENTASI
PANDUAN MEMBUAT PROPOSAL & PRESENTASI
 
Risol Isi Ragout 3
Risol Isi Ragout 3Risol Isi Ragout 3
Risol Isi Ragout 3
 
Tabla
TablaTabla
Tabla
 
The Voice Iss.2 2016 Proof 6.30.16
The Voice Iss.2 2016 Proof 6.30.16The Voice Iss.2 2016 Proof 6.30.16
The Voice Iss.2 2016 Proof 6.30.16
 
V2 프래젠테이션obc usa
V2 프래젠테이션obc usaV2 프래젠테이션obc usa
V2 프래젠테이션obc usa
 
Kanban - Set a pace for the input
Kanban - Set a pace for the inputKanban - Set a pace for the input
Kanban - Set a pace for the input
 

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

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
 
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
 
Novidades da plataforma Azure IoT
Novidades da plataforma Azure IoTNovidades da plataforma Azure IoT
Novidades da plataforma Azure IoTWalter Coan
 
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
 
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
 
Webinar: Serviço de Distribuição de Conteúdo da AWS
Webinar: Serviço de Distribuição de Conteúdo da AWS Webinar: Serviço de Distribuição de Conteúdo da AWS
Webinar: Serviço de Distribuição de Conteúdo da AWS Amazon Web Services LATAM
 
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
 
Talk Floripa - Desenvolvimento de projetos de Internet das Coisas
Talk Floripa - Desenvolvimento de projetos de Internet das CoisasTalk Floripa - Desenvolvimento de projetos de Internet das Coisas
Talk Floripa - Desenvolvimento de projetos de Internet das CoisasWalter Coan
 
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
 
Melhores práticas para Arquitetura em Cloud Computing
Melhores práticas para Arquitetura em Cloud ComputingMelhores práticas para Arquitetura em Cloud Computing
Melhores práticas para Arquitetura em Cloud ComputingDaniel Checchia
 
Azure Weekend 2ed - Azure Confidential Computing
Azure Weekend 2ed - Azure Confidential ComputingAzure Weekend 2ed - Azure Confidential Computing
Azure Weekend 2ed - Azure Confidential ComputingWalter Coan
 
AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...
AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...
AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...Amazon Web Services LATAM
 
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...Amazon Web Services LATAM
 
Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1) Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1) Marcus Garcia
 
Canal .NET - Utilizando o Event Hub e o Event Grid
Canal .NET - Utilizando o Event Hub e o Event GridCanal .NET - Utilizando o Event Hub e o Event Grid
Canal .NET - Utilizando o Event Hub e o Event GridWalter Coan
 

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

Deep dive de AWS IoT
Deep dive de AWS IoTDeep dive de AWS IoT
Deep dive de AWS IoT
 
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
 
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...
 
Novidades da plataforma Azure IoT
Novidades da plataforma Azure IoTNovidades da plataforma Azure IoT
Novidades da plataforma Azure IoT
 
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 -...
 
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.
 
Webinar: Serviço de Distribuição de Conteúdo da AWS
Webinar: Serviço de Distribuição de Conteúdo da AWS Webinar: Serviço de Distribuição de Conteúdo da AWS
Webinar: Serviço de Distribuição de Conteúdo da AWS
 
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
 
Talk Floripa - Desenvolvimento de projetos de Internet das Coisas
Talk Floripa - Desenvolvimento de projetos de Internet das CoisasTalk Floripa - Desenvolvimento de projetos de Internet das Coisas
Talk Floripa - Desenvolvimento de projetos de Internet das Coisas
 
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 para Arquitetura em Cloud Computing
Melhores práticas para Arquitetura em Cloud ComputingMelhores práticas para Arquitetura em Cloud Computing
Melhores práticas para Arquitetura em Cloud Computing
 
Azure Weekend 2ed - Azure Confidential Computing
Azure Weekend 2ed - Azure Confidential ComputingAzure Weekend 2ed - Azure Confidential Computing
Azure Weekend 2ed - Azure Confidential Computing
 
Segurança
SegurançaSegurança
Segurança
 
Construindo um Data Lake na AWS
Construindo um Data Lake na AWSConstruindo um Data Lake na AWS
Construindo um Data Lake na AWS
 
AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...
AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...
AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...
 
Primeiros Passos na AWS
Primeiros Passos na AWSPrimeiros Passos na AWS
Primeiros Passos na AWS
 
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...
 
Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1) Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1)
 
Construindo um data lake na nuvem aws
Construindo um data lake na nuvem awsConstruindo um data lake na nuvem aws
Construindo um data lake na nuvem aws
 
Canal .NET - Utilizando o Event Hub e o Event Grid
Canal .NET - Utilizando o Event Hub e o Event GridCanal .NET - Utilizando o Event Hub e o Event Grid
Canal .NET - Utilizando o Event Hub e o Event Grid
 

Introdução à Internet das Coisas com AWS IoT

  • 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Angelo Carvalho | Arquiteto de Soluções 22 de Setembro de 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.
  • 6.
  • 7.
  • 8. O cliente tem várias identidades
  • 9. A casa é a empresa de alguém
  • 10.
  • 12. Demo
  • 15. 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
  • 16. 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
  • 18. 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
  • 19. Motor de Regras (Rules Engine)
  • 20. 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’)
  • 21. Motor de Regras • 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
  • 22. 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" } }]}
  • 23. novo: Integração com Elasticsearch
  • 24. novo: Ciclo de Vida de Eventos
  • 25. novo: Função de Predição
  • 26. Fluxo básico para usar predição • Gerar 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
  • 27. AWS IoT Device Shadow
  • 28. AWS IoT Device Shadow
  • 29. 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
  • 30. 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
  • 32. Princípios de Segurança da AWS Separação de Papéis Pessoal diferente para cada função Privilégio mínimo
  • 33.
  • 35. 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
  • 36. 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
  • 37. 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
  • 38. 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
  • 39. Protegendo o acesso aos recursos da AWS
  • 40. 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" } ] }
  • 41. Protegendo acesso aos recursos da AWS
  • 42. 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
  • 44. Suporte ao SDK para Dispositivos • Baseado em padrões abertos como Eclipse Paho • Embedded C • JavaScript • Arduíno Yún • Java • Python • iOS • Android
  • 45. Resumo • AWS IoT • novo Ciclo de Vida de Eventos • novo Funcionalidades do Motor de Regra • Elasticsearch • Amazon ML como função de predição • novo Traga o seu próprio certificado
  • 46. Muito Obrigado! Angelo Carvalho | carvaa@amazon.com