SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Engenharia das Coisas
IoT onde hardware não é mais um desafio
Alexandre Cardoso
1º Hackday FIESP – 16/Ago/2016
Quem sou eu?
• Líder em Arquitetura de Software
• Bacharel em Ciências da Computação / Pós-
graduação em Big Data e Data Science
• Construindo software há 16 anos
• Desenvolvedor / Consultor / Líder técnico
• Web, mobile, Big Data, Internet das Coisas
• Java, Scala, Python, Ruby, Javascript
Agenda
1.1. OqueéIoT–InternetdasCoisas?
1.2. Evoluçãodatecnologia
1.3. Hardwaremaisfácilemaisbarato
1.5. Conectividadeetransmissãodedados
1.6. Protocolos emodelosdecomunicação
1.7. A“nuvem”ea“névoa”–Descentralizaracomputação
1.8.Considerações finais
• “Éa rede de objetos físicos dotados de tecnologia
embarcada para comunicar e sentir ou interagir
com si próprios ou o ambiente externo.” (Gartner)(1)
• “É o conceito sobre objetos do cotidiano – de
máquinas industriais à wearables – que utilizem
sensores e tecnologia embarcada para coletar
dados e tomar ações sobre estes dados através de
uma rede” (SAS)(2)
O que é IoT - “Internet das Coisas”?
(1) http://www.gartner.com/it-glossary/internet-of-things/
(2) http://www.sas.com/pt_br/insights/big-data/internet-das-coisas.html
O que podemos chamar de “coisa”?
“Qualquercoisa,antesdesconectada, masagoracapaz de
transmitirereceberdadose/oucomandosatravés deumarede”
IoT vs M2M – Machine to Machine
• Dispositivos conectados “by design”
• Ponto a ponto
• Intranet ou Internet
• Não dependem diretamente de
intervenção humana
• Automação industrial
• Formula 1
• Tráfego aéreo
Na Internet, primeiro vieram as pessoas
Fonte: http://dazeinfo.com/2014/11/19/growth-internet-telecom-users-india-q2-2014-disappoints/
Agora é a vez das “coisas”
Pra chegar lá, o que aconteceu?
• Desenvolvemos tecnologia:
• IPv6
• Cloud computing
• Tecnologia embarcada
• Microcontroladores
• SoC – System on a Chip
• Sensores
• Dispositivos de baixo
consumo
• Miniaturização
• Protocolos
Está mais fácil prototipar
• Hardware mais barato e acessível
• Linguagens e ambientes para
desenvolvimento
• Open-source
• Cada vez mais didático
Está mais fácil conectar
• Conectividade de baixo consumo
• Bluetooth Low Energy
• Zigbee
• 6LowPAN
• Z-Wave (RF)
• Conectividade como “commodity”
• Custo cada vez menor
• Fácil de integrar com o cotidiano
• Wi-fi doméstico
• Wi-fi corporativo
• Bluetooth veicular
WiFi
ESP8266 v12E
GSM
Arduino Uno +
Shield GSM
SoC (System
on a Chip)
Raspberry PI 3
ou Zero
Se tudo é “fácil”, qual o desafio??
• Distribuir
• Ampliar presença
• Escalar
• Adicionar mais capacidade
sem perder
desempenho/eficiência
Arquiteturas distribuídas
• Principais elementos
• Processamento
• Bare metal
• Virtualização
• Cloud computing
• Elasticidade x Granularidade
• Armazenamento (guardar e recuperar)
• Dados em todo o lugar
• Tolerância ao particionamento
• NoSQL, Hadoop, etc
• Transmissão
Arquiteturas distribuídas
“O recurso mais escasso e menos confiável de
uma arquitetura distribuída é, e sempre será, a
rede de dados que interliga seus elementos”
Redes de dados em IoT
• Wired e wireless
• IP-based ou não
• Maior parte com foco em baixo
consumo de energia e baixo
custo de implementação
• Todas oferecem níveis diferentes
de latência e largura de banda
• Todas oferecem caminhos à
Internet
O “vai e vem” na nuvem
• Dados são transportados mediante
protocolos estabelecidos:
• TCP / UDP
• Integração se dá em vários modelos:
• Request - Response
• Publish - Subscribe
• Message queuing
• Dados são trocados mediante protocolos
de aplicação
• HTTP(s)
• MQTT
• CoAP
• AMQP
TCP vs UDP
TCP UDP
Tipo de conexão Orientado à conexão Orientado à troca de pacotes
Uso Confiabilidade antes de velocidade Velocidade antes de controle de
integridade
Protocolos que
utilizam
HTTP (S), FTP, SMTP, Telnet DNS, DHCP, TFTP, SNMP, RIP, VoIP
Ordenação Garante Não garante
Velocidade Mais lento que UDP Rápido, pois não há controle de erros
Confiabilidade Garantia de integridade e ordenação
de todo os pacotes
Sem garantias (best effort)
Tamanho de
cabeçalho
20-60 bytes 8 bytes
Overhead Pesado (criação de conexões, ack) Leve (QA é responsabilidade do app)
Controle de
tráfego
Possui Não possui
Controle de erros Verificação e recuperação de erros Apenas verificação (descarte)
• InfraestruturadeIoT,normalmente,impõerestrições
• Redesdebandaestreita
• Redescomlatênciamoderadaaalta
• Usodesuprimentoinstávelefinitodeenergia(baterias,painéis
solares,etc)
• Controledeerroserecuperação,emdispositivosembarcados,pode
exigirtempoadicionalparatransmissão
• Maistempo->Maiorconsumo->Menorautonomia
• Fiqueatentoaosdetalhes,pormuitotempo,ocultose“transparentes”
TCP vs UDP
• Request->Response
• Trocademensagens
• Síncrono
• Bomparacomando-controle
• Pontoaponto
• Tempoderespostaésensívela:
• Latênciaelarguradebanda
• Tempodeprocessamento
Modelo de Integração
• Publish/Subscribe
• Distribuiçãodemensagens
• Assíncrono
• Múltiplospontosdeinteresse
• Elementoadicional:Messagebroker
• Bompara“empurrar”,nãopara“puxar”
Modelo de Integração
• Messagequeuing
• Trocademensagens
• Assíncrono
• Pontoaponto
• Elementoadicional:Messagebroker
• Bomparacomando-controle
Modelo de Integração
• HTTP/HTTPS
• Request/response
• Baseadoemtexto
• Pontoaponto
• Seguro(viaTLS/SSL)
• Largamenteutilizado
• Escalabilidadeedisponibilidade
• Bomparacomando-controle
• REST
• TransporteporTCP
• Nãodesenhadoparamicrodispositivos
• Altooverhead
Protocolos de aplicação
• MQTT
• Publish/subscribe
• Binário
• Seguro(viaTLS)
• Desenhadoparamicrodispositivos
• Otimizadospararedesrestritas
• Baixalargura
• Altalatência
• TransporteviaTCP
• Lastwill
• QoS(3níveis,dependendodobroker)
• Nãoéfácilescalar(dependedobroker)
Protocolos de aplicação
• CoAP
• Request/Response
• Baseadoemtexto
• Síncrono/Assíncrono
• Seguro(viaDTLS)
• Desenhadoparamicrodispositivos
• TransporteviaUDP
• RESTmodel(headers,contentnegotiation,etc)
• QoS(confirmable/nonconfirmable)
• Padrãoaindanão“maduro”
Protocolos de aplicação
• AMQP
• Messagequeuing
• Binário
• Assíncrono
• Pontoapontooudistribuído(viabindings)
• Focoemdurabilidadeegarantiade
entrega
• Normalmenteutilizadoparaescalar
processamentodemensagensnoservidor
• Váriasimplementações
• Nãomuitoutilizadoparaintegrar
microdispositivos
Protocolos de aplicação
Muitas opções, alguns tradeoffs
• Tecnologias e protocolos disponíveis
para agregar eficiência e segurança
(entrega e violação) na transmissão
• Tecnologia disponível para embarcar
processamento e sensoreamento
em “coisas” do cotidiano
• A “nuvem” está aí pra guardar e
processar os dados.
CERTO??
Muitas opções, alguns tradeoffs
“Não é tão simples quanto parece”
Qual é a “real”?
“HáumaINTERNETdedistânciaentreanuvemeseudispositivo
maisfrágileremoto”
“O recurso mais escasso e menos confiável de uma
arquitetura distribuída é, e sempre será, a rede de
dados que interliga seus elementos”
“Dispositivos são restritos, frágeis, feitos para falhar.
Não confie a eles a guarda de dados”
Como lidar?
• Fog/EdgeComputing
• Computaçãodescentralizada
• Localizaçãopróximadafontedodado
• Compostode“fognodes”
• Dispositivodebaixocusto
• Processarearmazenarpequenos
volumesdedados“emtrânsito”
• Controlargruposdedispositivos,
mesmonaausênciatemporáriada
nuvem
• Gateway/router/datanoise
cleaning
Fog Computing
Fog Computing
• Fognode–Raspberry PI3
• Baixocusto(~USD40)
• Pequeno(standardcreditcardsize)
• Recursos
• Wifi/Ethernet/Bluetooth4.0BLE
• GPIO/USB/HDMI/Camera
• FullLinuxDistro
• 4vCPU
• Armazenamentoexpansível(até32GB
emSDcard)
• Java/Python/Node.js/whatever
Pra encerrar
1. Internetdascoisas nãosefazapenas comhardware
2. Lembre-se:Redesnãosãoinfalíveis(nuncaserão)
3. TodasoluçãodeIoTdeveconduzir aos“dados”. Desenheoprojeto
paragarantir asobrevidadosdados
4. Todaintegração fluemelhor naabordagem certa.Escolhaasua
5. A“névoa”veiopraficar.Descentralizarparaescalar egarantir
Obrigado!

Weitere ähnliche Inhalte

Andere mochten auch

Apresentacao fiesp
Apresentacao fiespApresentacao fiesp
Apresentacao fiesp
ciespbrag_22
 
Captação de Recursos - FOS/FIESP 2007
Captação de Recursos - FOS/FIESP 2007Captação de Recursos - FOS/FIESP 2007
Captação de Recursos - FOS/FIESP 2007
tana bassi
 
Fiesp competências para defesa do meio ambiente na ordem econômica
Fiesp   competências para defesa do meio ambiente na ordem econômicaFiesp   competências para defesa do meio ambiente na ordem econômica
Fiesp competências para defesa do meio ambiente na ordem econômica
Tacio Lacerda Gama
 
Elaboração de Projetos - FOS/FIESP 2007
Elaboração de Projetos - FOS/FIESP 2007 Elaboração de Projetos - FOS/FIESP 2007
Elaboração de Projetos - FOS/FIESP 2007
tana bassi
 
"Plano de Negócios 2007-2011" FIESP
"Plano de Negócios 2007-2011" FIESP"Plano de Negócios 2007-2011" FIESP
"Plano de Negócios 2007-2011" FIESP
Petrobras
 
Fiesp competências para defesa do meio ambiente na ordem econômica
Fiesp   competências para defesa do meio ambiente na ordem econômicaFiesp   competências para defesa do meio ambiente na ordem econômica
Fiesp competências para defesa do meio ambiente na ordem econômica
luciapaoliello
 
Elaboração de Projetos - FOS/FIESP 2008
Elaboração de Projetos - FOS/FIESP 2008Elaboração de Projetos - FOS/FIESP 2008
Elaboração de Projetos - FOS/FIESP 2008
tana bassi
 

Andere mochten auch (20)

Pesquisa FIESP sobre a Intenção de Investimento 2009: O Impacto da Crise
Pesquisa FIESP sobre a Intenção de Investimento 2009: O Impacto da CrisePesquisa FIESP sobre a Intenção de Investimento 2009: O Impacto da Crise
Pesquisa FIESP sobre a Intenção de Investimento 2009: O Impacto da Crise
 
Apresentacao fiesp
Apresentacao fiespApresentacao fiesp
Apresentacao fiesp
 
Guia Antidumping - Fiesp
Guia Antidumping - FiespGuia Antidumping - Fiesp
Guia Antidumping - Fiesp
 
FIESP - International Trade
FIESP - International TradeFIESP - International Trade
FIESP - International Trade
 
Captação de Recursos - FOS/FIESP 2007
Captação de Recursos - FOS/FIESP 2007Captação de Recursos - FOS/FIESP 2007
Captação de Recursos - FOS/FIESP 2007
 
Fiesp projecoes 2015_dez_14
Fiesp projecoes 2015_dez_14Fiesp projecoes 2015_dez_14
Fiesp projecoes 2015_dez_14
 
Case fiesp
Case fiespCase fiesp
Case fiesp
 
Panorama Defesa Comercial - Fiesp - Outubro 2013
Panorama Defesa Comercial - Fiesp - Outubro 2013Panorama Defesa Comercial - Fiesp - Outubro 2013
Panorama Defesa Comercial - Fiesp - Outubro 2013
 
Fiesp competências para defesa do meio ambiente na ordem econômica
Fiesp   competências para defesa do meio ambiente na ordem econômicaFiesp   competências para defesa do meio ambiente na ordem econômica
Fiesp competências para defesa do meio ambiente na ordem econômica
 
Planejamento de Marketing Digital - FIESP - 300914
Planejamento de Marketing Digital - FIESP - 300914Planejamento de Marketing Digital - FIESP - 300914
Planejamento de Marketing Digital - FIESP - 300914
 
FIESP: Cartilha sobre Documentos Fiscais eletrônicos – SPED – Sistema Público...
FIESP: Cartilha sobre Documentos Fiscais eletrônicos – SPED – Sistema Público...FIESP: Cartilha sobre Documentos Fiscais eletrônicos – SPED – Sistema Público...
FIESP: Cartilha sobre Documentos Fiscais eletrônicos – SPED – Sistema Público...
 
Panorama Defesa Comercial - Fiesp - Julho 2013
Panorama Defesa Comercial - Fiesp - Julho 2013Panorama Defesa Comercial - Fiesp - Julho 2013
Panorama Defesa Comercial - Fiesp - Julho 2013
 
Elaboração de Projetos - FOS/FIESP 2007
Elaboração de Projetos - FOS/FIESP 2007 Elaboração de Projetos - FOS/FIESP 2007
Elaboração de Projetos - FOS/FIESP 2007
 
Outlook Fiesp 2023 - Projeções para o agronegócio brasileiro
Outlook Fiesp 2023 - Projeções para o agronegócio brasileiroOutlook Fiesp 2023 - Projeções para o agronegócio brasileiro
Outlook Fiesp 2023 - Projeções para o agronegócio brasileiro
 
Aula Fiesp pós graduação em gestão sindical - política de meio ambiente
Aula Fiesp pós graduação em gestão sindical - política de meio ambienteAula Fiesp pós graduação em gestão sindical - política de meio ambiente
Aula Fiesp pós graduação em gestão sindical - política de meio ambiente
 
"Plano de Negócios 2007-2011" FIESP
"Plano de Negócios 2007-2011" FIESP"Plano de Negócios 2007-2011" FIESP
"Plano de Negócios 2007-2011" FIESP
 
Fiesp competências para defesa do meio ambiente na ordem econômica
Fiesp   competências para defesa do meio ambiente na ordem econômicaFiesp   competências para defesa do meio ambiente na ordem econômica
Fiesp competências para defesa do meio ambiente na ordem econômica
 
6º ENCONTRO DE LOGÍSTICA E TRANSPORTES – FIESP HIDROVIA E O USO MÚLTIPLO DAS ...
6º ENCONTRO DE LOGÍSTICA E TRANSPORTES – FIESP HIDROVIA E O USO MÚLTIPLO DAS ...6º ENCONTRO DE LOGÍSTICA E TRANSPORTES – FIESP HIDROVIA E O USO MÚLTIPLO DAS ...
6º ENCONTRO DE LOGÍSTICA E TRANSPORTES – FIESP HIDROVIA E O USO MÚLTIPLO DAS ...
 
FOS / FIESP
FOS / FIESPFOS / FIESP
FOS / FIESP
 
Elaboração de Projetos - FOS/FIESP 2008
Elaboração de Projetos - FOS/FIESP 2008Elaboração de Projetos - FOS/FIESP 2008
Elaboração de Projetos - FOS/FIESP 2008
 

Ähnlich wie Provocação Konker no 1º hackday FIESP 2016

Ähnlich wie Provocação Konker no 1º hackday FIESP 2016 (20)

O que projetos de IoT precisam ?
O que projetos de IoT precisam ?O que projetos de IoT precisam ?
O que projetos de IoT precisam ?
 
As Falácias e os Desenganos no Desenvolvimento de Software (TechDays 2005)
As Falácias e os Desenganos no Desenvolvimento de Software (TechDays 2005)As Falácias e os Desenganos no Desenvolvimento de Software (TechDays 2005)
As Falácias e os Desenganos no Desenvolvimento de Software (TechDays 2005)
 
Rodando uma API Com Django Rest Framework no Google Cloud
Rodando uma API Com Django Rest Framework  no Google CloudRodando uma API Com Django Rest Framework  no Google Cloud
Rodando uma API Com Django Rest Framework no Google Cloud
 
Arquitetura de projetos IoT
Arquitetura de projetos IoTArquitetura de projetos IoT
Arquitetura de projetos IoT
 
Webinar: Desvendando as camadas de IoT
Webinar: Desvendando as camadas de IoTWebinar: Desvendando as camadas de IoT
Webinar: Desvendando as camadas de IoT
 
Internet das Coisas - Conceitos, tecnologias e aplicações
Internet das Coisas - Conceitos, tecnologias e aplicaçõesInternet das Coisas - Conceitos, tecnologias e aplicações
Internet das Coisas - Conceitos, tecnologias e aplicações
 
Desafios do IoT
Desafios do IoTDesafios do IoT
Desafios do IoT
 
Palestra Edge Computing Sistemas Embarcados.pdf
Palestra Edge Computing Sistemas Embarcados.pdfPalestra Edge Computing Sistemas Embarcados.pdf
Palestra Edge Computing Sistemas Embarcados.pdf
 
Desenvolvendo Produtos para Internet das Coisas
Desenvolvendo Produtos para Internet das CoisasDesenvolvendo Produtos para Internet das Coisas
Desenvolvendo Produtos para Internet das Coisas
 
Bridges Virtuais
Bridges VirtuaisBridges Virtuais
Bridges Virtuais
 
IoT Frameworks
IoT FrameworksIoT Frameworks
IoT Frameworks
 
Semana da computação Udesc 2011
Semana da computação Udesc 2011Semana da computação Udesc 2011
Semana da computação Udesc 2011
 
Internet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouInternet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começou
 
Computação Física e Internet das Coisas
Computação Física e Internet das CoisasComputação Física e Internet das Coisas
Computação Física e Internet das Coisas
 
Tecnologias emergentes e o papel do profissional de redes
Tecnologias emergentes e o papel do profissional de redesTecnologias emergentes e o papel do profissional de redes
Tecnologias emergentes e o papel do profissional de redes
 
Internet das coisas - A revolução já começou
Internet das coisas - A revolução já começouInternet das coisas - A revolução já começou
Internet das coisas - A revolução já começou
 
IIoT - Internet das Coisas na Indústria
IIoT - Internet das Coisas na IndústriaIIoT - Internet das Coisas na Indústria
IIoT - Internet das Coisas na Indústria
 
IoT Usando Azure Como Backend
IoT Usando Azure Como BackendIoT Usando Azure Como Backend
IoT Usando Azure Como Backend
 
Aula 8 semana
Aula 8 semanaAula 8 semana
Aula 8 semana
 
Wifi
WifiWifi
Wifi
 

Provocação Konker no 1º hackday FIESP 2016

  • 1. Engenharia das Coisas IoT onde hardware não é mais um desafio Alexandre Cardoso 1º Hackday FIESP – 16/Ago/2016
  • 2. Quem sou eu? • Líder em Arquitetura de Software • Bacharel em Ciências da Computação / Pós- graduação em Big Data e Data Science • Construindo software há 16 anos • Desenvolvedor / Consultor / Líder técnico • Web, mobile, Big Data, Internet das Coisas • Java, Scala, Python, Ruby, Javascript
  • 3. Agenda 1.1. OqueéIoT–InternetdasCoisas? 1.2. Evoluçãodatecnologia 1.3. Hardwaremaisfácilemaisbarato 1.5. Conectividadeetransmissãodedados 1.6. Protocolos emodelosdecomunicação 1.7. A“nuvem”ea“névoa”–Descentralizaracomputação 1.8.Considerações finais
  • 4. • “Éa rede de objetos físicos dotados de tecnologia embarcada para comunicar e sentir ou interagir com si próprios ou o ambiente externo.” (Gartner)(1) • “É o conceito sobre objetos do cotidiano – de máquinas industriais à wearables – que utilizem sensores e tecnologia embarcada para coletar dados e tomar ações sobre estes dados através de uma rede” (SAS)(2) O que é IoT - “Internet das Coisas”? (1) http://www.gartner.com/it-glossary/internet-of-things/ (2) http://www.sas.com/pt_br/insights/big-data/internet-das-coisas.html
  • 5. O que podemos chamar de “coisa”? “Qualquercoisa,antesdesconectada, masagoracapaz de transmitirereceberdadose/oucomandosatravés deumarede”
  • 6. IoT vs M2M – Machine to Machine • Dispositivos conectados “by design” • Ponto a ponto • Intranet ou Internet • Não dependem diretamente de intervenção humana • Automação industrial • Formula 1 • Tráfego aéreo
  • 7. Na Internet, primeiro vieram as pessoas Fonte: http://dazeinfo.com/2014/11/19/growth-internet-telecom-users-india-q2-2014-disappoints/
  • 8. Agora é a vez das “coisas”
  • 9. Pra chegar lá, o que aconteceu? • Desenvolvemos tecnologia: • IPv6 • Cloud computing • Tecnologia embarcada • Microcontroladores • SoC – System on a Chip • Sensores • Dispositivos de baixo consumo • Miniaturização • Protocolos
  • 10. Está mais fácil prototipar • Hardware mais barato e acessível • Linguagens e ambientes para desenvolvimento • Open-source • Cada vez mais didático
  • 11. Está mais fácil conectar • Conectividade de baixo consumo • Bluetooth Low Energy • Zigbee • 6LowPAN • Z-Wave (RF) • Conectividade como “commodity” • Custo cada vez menor • Fácil de integrar com o cotidiano • Wi-fi doméstico • Wi-fi corporativo • Bluetooth veicular WiFi ESP8266 v12E GSM Arduino Uno + Shield GSM SoC (System on a Chip) Raspberry PI 3 ou Zero
  • 12. Se tudo é “fácil”, qual o desafio?? • Distribuir • Ampliar presença • Escalar • Adicionar mais capacidade sem perder desempenho/eficiência
  • 13. Arquiteturas distribuídas • Principais elementos • Processamento • Bare metal • Virtualização • Cloud computing • Elasticidade x Granularidade • Armazenamento (guardar e recuperar) • Dados em todo o lugar • Tolerância ao particionamento • NoSQL, Hadoop, etc • Transmissão
  • 14. Arquiteturas distribuídas “O recurso mais escasso e menos confiável de uma arquitetura distribuída é, e sempre será, a rede de dados que interliga seus elementos”
  • 15. Redes de dados em IoT • Wired e wireless • IP-based ou não • Maior parte com foco em baixo consumo de energia e baixo custo de implementação • Todas oferecem níveis diferentes de latência e largura de banda • Todas oferecem caminhos à Internet
  • 16. O “vai e vem” na nuvem • Dados são transportados mediante protocolos estabelecidos: • TCP / UDP • Integração se dá em vários modelos: • Request - Response • Publish - Subscribe • Message queuing • Dados são trocados mediante protocolos de aplicação • HTTP(s) • MQTT • CoAP • AMQP
  • 17. TCP vs UDP TCP UDP Tipo de conexão Orientado à conexão Orientado à troca de pacotes Uso Confiabilidade antes de velocidade Velocidade antes de controle de integridade Protocolos que utilizam HTTP (S), FTP, SMTP, Telnet DNS, DHCP, TFTP, SNMP, RIP, VoIP Ordenação Garante Não garante Velocidade Mais lento que UDP Rápido, pois não há controle de erros Confiabilidade Garantia de integridade e ordenação de todo os pacotes Sem garantias (best effort) Tamanho de cabeçalho 20-60 bytes 8 bytes Overhead Pesado (criação de conexões, ack) Leve (QA é responsabilidade do app) Controle de tráfego Possui Não possui Controle de erros Verificação e recuperação de erros Apenas verificação (descarte)
  • 18. • InfraestruturadeIoT,normalmente,impõerestrições • Redesdebandaestreita • Redescomlatênciamoderadaaalta • Usodesuprimentoinstávelefinitodeenergia(baterias,painéis solares,etc) • Controledeerroserecuperação,emdispositivosembarcados,pode exigirtempoadicionalparatransmissão • Maistempo->Maiorconsumo->Menorautonomia • Fiqueatentoaosdetalhes,pormuitotempo,ocultose“transparentes” TCP vs UDP
  • 19. • Request->Response • Trocademensagens • Síncrono • Bomparacomando-controle • Pontoaponto • Tempoderespostaésensívela: • Latênciaelarguradebanda • Tempodeprocessamento Modelo de Integração
  • 20. • Publish/Subscribe • Distribuiçãodemensagens • Assíncrono • Múltiplospontosdeinteresse • Elementoadicional:Messagebroker • Bompara“empurrar”,nãopara“puxar” Modelo de Integração
  • 21. • Messagequeuing • Trocademensagens • Assíncrono • Pontoaponto • Elementoadicional:Messagebroker • Bomparacomando-controle Modelo de Integração
  • 22. • HTTP/HTTPS • Request/response • Baseadoemtexto • Pontoaponto • Seguro(viaTLS/SSL) • Largamenteutilizado • Escalabilidadeedisponibilidade • Bomparacomando-controle • REST • TransporteporTCP • Nãodesenhadoparamicrodispositivos • Altooverhead Protocolos de aplicação
  • 23. • MQTT • Publish/subscribe • Binário • Seguro(viaTLS) • Desenhadoparamicrodispositivos • Otimizadospararedesrestritas • Baixalargura • Altalatência • TransporteviaTCP • Lastwill • QoS(3níveis,dependendodobroker) • Nãoéfácilescalar(dependedobroker) Protocolos de aplicação
  • 24. • CoAP • Request/Response • Baseadoemtexto • Síncrono/Assíncrono • Seguro(viaDTLS) • Desenhadoparamicrodispositivos • TransporteviaUDP • RESTmodel(headers,contentnegotiation,etc) • QoS(confirmable/nonconfirmable) • Padrãoaindanão“maduro” Protocolos de aplicação
  • 25. • AMQP • Messagequeuing • Binário • Assíncrono • Pontoapontooudistribuído(viabindings) • Focoemdurabilidadeegarantiade entrega • Normalmenteutilizadoparaescalar processamentodemensagensnoservidor • Váriasimplementações • Nãomuitoutilizadoparaintegrar microdispositivos Protocolos de aplicação
  • 26. Muitas opções, alguns tradeoffs • Tecnologias e protocolos disponíveis para agregar eficiência e segurança (entrega e violação) na transmissão • Tecnologia disponível para embarcar processamento e sensoreamento em “coisas” do cotidiano • A “nuvem” está aí pra guardar e processar os dados. CERTO??
  • 27. Muitas opções, alguns tradeoffs “Não é tão simples quanto parece”
  • 28. Qual é a “real”? “HáumaINTERNETdedistânciaentreanuvemeseudispositivo maisfrágileremoto” “O recurso mais escasso e menos confiável de uma arquitetura distribuída é, e sempre será, a rede de dados que interliga seus elementos” “Dispositivos são restritos, frágeis, feitos para falhar. Não confie a eles a guarda de dados”
  • 29. Como lidar? • Fog/EdgeComputing • Computaçãodescentralizada • Localizaçãopróximadafontedodado • Compostode“fognodes” • Dispositivodebaixocusto • Processarearmazenarpequenos volumesdedados“emtrânsito” • Controlargruposdedispositivos, mesmonaausênciatemporáriada nuvem • Gateway/router/datanoise cleaning
  • 31. Fog Computing • Fognode–Raspberry PI3 • Baixocusto(~USD40) • Pequeno(standardcreditcardsize) • Recursos • Wifi/Ethernet/Bluetooth4.0BLE • GPIO/USB/HDMI/Camera • FullLinuxDistro • 4vCPU • Armazenamentoexpansível(até32GB emSDcard) • Java/Python/Node.js/whatever
  • 32. Pra encerrar 1. Internetdascoisas nãosefazapenas comhardware 2. Lembre-se:Redesnãosãoinfalíveis(nuncaserão) 3. TodasoluçãodeIoTdeveconduzir aos“dados”. Desenheoprojeto paragarantir asobrevidadosdados 4. Todaintegração fluemelhor naabordagem certa.Escolhaasua 5. A“névoa”veiopraficar.Descentralizarparaescalar egarantir