[Música] Olá a todos pessoal nesta última aula da semana 4 eu vou discutir um outro aspecto bastante relevante né para desenvolvimento de soluções eh para cidades inteligentes que são os sistemas distribuídos como que sistemas distribuídos né numa perspectiva tecnológica né e computacional eh pode ajudar né A escalar soluções inteligentes paraas cidades tá eh e considerando todos as os aspectos e relacionados ao ao questão Urbana né e o que envolve as dificuldades né em função do planejamento Urbano mobilidade Uso Sustentável eh dos recursos disponíveis né sejam eles naturais ou não Tá então bastante interessante e esse
assunto de de de certa forma ele está eh relacionado né com o que a gente já viu anteriormente do ponto de vista tecn Lógico né Eh com inteligência artificial com a internet das coisas né Eh Digamos que eh a concepção de um sistema distribuído né e é a base né para maior parte das soluções que nós temos disponíveis hoje né E que são soluções que afetam diretamente a vida da população né Eh então é um uma tecnologia e e que traz benefícios né ao longo dos últimos aí 30 40 anos né Eh que é a
base maior parte da da das concepções tecnológicas existentes como por exemplo a computação inú tá então vou destacar um pouco a definição dos sistemas distribuídos né Eh os desafios né que envolv escalabilidade de estades inteligentes e aqui nesse contexto eu vou falar e e e descrever mais a questão da escalabilidade computacional embora a a escalabilidade computacional né a a o aumento a diminuição dessa escalabilidade computacional em função do que do quantidade de dados de dados é produzido né Tem muita relação com eh a quantidade né Eh e a complexidade eh dos sistemas né que usam
esses dados tá então a escala eh eh da solução tecnológica ela pode aumentar ou diminuir em função da demanda né Eh e da necessidade do uso eh das tecnologias tá E logicamente quanto mais sensores espalhados quanto mais monitoramento quanto mais eh interoperação entre os sistemas mais eh escalável né a solução tende a ser né em função da necessidade de uso eh de recursos computacionais como processamento armazenamento comunicação né para posterior tomar de decisão Tá além disso vou tratar também de algumas estratégias para lidar com a escalabilidade né e a concepção da criação de soluções tecnológicas
né Eh aplicadas em cidades eh inteligentes né que vão eh devem eh considerar a criação das soluções né Eh baseada em camadas tá então já discuti com vocês aqui anteriormente a necessidade de se pensar em soluções incrementais né que não existe nenhuma tecnologia que vai resolver todos os problemas né mas H conjunção de diversas tecnologias de diversos modelos da participação de diversos especialistas né do planejamento estratégico da gestão eficiente dos recursos sejam eles computacionais ou não Tá bom que que vem ser um sistema distribuído o sist distribuído são conjuntos né do ponto de vista tecnológico
né conjuntos de computadores ou de unidades de processamento né interconectados que trabalham junto para realizar uma tarefa tá então a por exemplo a www né a web a web é um exemplo de um sistema distribuído ou de uma aplicação distribuída né quando nós utilizamos a web né acessamos recursos computacionais que estão distribuídos em localidades né em localizações geográficas que nós não conhecemos né então nós conseguimos ter acesso a esses recursos de forma transparente independente da localização tá aliás Essa é uma das características né a transparência de acesso né para aplicações distribuídas tá então um exemplo
de sistema distribuído é a própria www né que eh uma aplicação né Eh um sistema distribuído que executa em cima de uma rede de dados que é a internet tá então internet é uma rede de comunicação e a www é um sistema distribuído ou uma aplicação distribuída Então nesse modelo modelo né na concepção de um sistema distribuído os recursos computacionais de processamento os dados e o controle são distribuídos entre os componentes do sistema tá eh então um grande data center né Eh eh organizado né Eh por um grandes empresas Ou um data center público né
ele não deixa de ser eh eh um grande sistema distribuído né de um modo geral esses grandes data Centers possui diversas centenas de milhares de unidades de processamento n que são interligadas né Eh para resolver um problema para processar um uma enorme eh quantidade de dados né para resolução de uma tarefa tá a comunicação e a coordenação entre os componentes que fazem parte de sistema distribuído né são fundamentais para operação eficiente do sistema tá então eh no contexto de dados inteligentes né a utilização e adoção de estratégias distribuídas para eh produção de dados coleta processamento
comunicação e armazenamento são fundamentais né Para que soluções existam e atinjam diretamente o cidadão E ajudem e auxiliam nas soluções de problemas tá eh então há um eh da mesma forma que eh essa concepção permite criar soluções escaláveis né Há desafios né Eh relacionados a essa concepção especialmente voltada à segurança de dados transmissão dos dados né e o quanto que a capacidade de processamento né com recursos computacionais pode auxiliar no processamento de um grande conjunto de dados né e gerar informações relevantes para os tomadores de decisão bom com relação aos desafios né Eh da escala
em Estados inteligentes n é importante mensurar que a escala computacional ela tem muita relação com a demanda né e de uso dos sistemas tá então a a escala de soluções computacionais sejam de processamento de armazenamento de conectividade ele depende muito eh de quem que é o usuário daquilo né e da quantidade de usuários e da frequência que os usuários fazem eh uso desses dessas soluções tá então eh um exemplo típico né Eh de soluções que precisam determinados períodos do tempo precisam ser escaladas né porque eh gera uma demanda muito grande para aplica ações do sistema
alvo né É na na na semana por exemplo da black friday né geralmente no final de novembro de cada ano né então há uma demanda muito grande por acesso a recursos computacionais de aplicações de grandes eh sistemas de comércio eletrônico né que vendem produtos ou serviços pela internet num determinado período do do de de tempo né durante aquela semana eh por conta da oferta de produtos em promoção né existente nessas plataformas então a tendência que a a demanda por acesso ao adquirir esses produtos ou comprar esses produtos aumenta muito né e e e sinaliza para
que a quantidade de recursos computacionais né que os usuários não vem né que vão ajudar a processar a solicitação que um que um cliente ou o comprador faz para comprar um uma um novo celular uma nova TV uma geladeira micro-ondas né Eh façam que sistemas que usuários não vem né precisam ser escalados em função da a quantidade de recurso computacional que vai ser destinado para processar aquela solicitação de compra para fazer a o intercâmbio entre o sistema de comércio eletrônico com operadora de cartão de crédito e com com banco tá então eh são situações que
os usuários não sabem que existem né mas elas existem e elas precisam ser corretamente dimensionadas então um exemplo típico de eh eh a a demanda associada à quantidade de recursos que existem disponíveis para eh e gerir essa demanda E no caso aqui eh se a gente pegar esse conceito e trazer para soluções Cis inteligentes isso também não é diferente por exemplo de como que uma aplicação distribuída pode auxiliar no monitoramento do tráfego Urbano né Eh gerenciando eh sistemas eh semafóricos gerenciando A iluminação pública por exemplo gerenciando eh eh o uso de de água recursos hídricos
né Há por exemplo já eh protótipos e propostas de eh medidores de água né hidrômetros inteligentes né então é muito comum que algum funcionário de uma de uma empresa né Eh de que controla os recursos hídricos num cidade vá na sua casa faça a leitura de do relógio de forma manual tá já existe propostas né e produtos de eh hidrômetros inteligentes em que essa medida é feita em em tempo real né Então existe um microcontrolador nesse relógio nesse hidrômetro né conectada a uma rede sem fio né é muito ente a rede sem fio da sua
casa então é uma exigência da da solução tecnológica que aquele hidrômetro possa ser cliente de uma rede sem fio e a a quantidade de água que você consome na sua casa é medida instantaneamente né sem necessidade de dar presença de um eh de um funcionário da empresa para fazer medição de hidrômetro Então esse é um exemplo de uma solução inteligente mas por trás né dessa simples leitura e automatizada da do fluxo de água que entra na sua casa né e é necessário um sistema né computacional né em que e as informações possam ser armazenadas né
empresa que fornece a a água né faz a medição e também para que o usuário consiga testar realmente a quantidade de água que ele produziu e condizente né com consumo médio mensal dele ou e trimestral semestral ou anual tá da mesma forma que ele possa possa também ter acesso à sua conta de água fazer o pagamento via a rede bancária etc tá então eh agora imagina a quantidade de hidrômetros que podem ser eh mensurados né dessa forma né quantidade de leituras que podem ser feitas então não deixa de ser uma solução que também é distribuída
porque requer a leitura eh online de diversos dispositivos conectados né a essa solução os dados precisam ser enviados né para esse sistema de informação que faz o controle e a medição né e processados e eh fornecer informações fidedignas pro pro cliente né que faz uso da água Isso vá para hidrômetro pode valer também para leitura do do medidor eh de energia né no no no padrão né de entrada da sua casa do seu Edifício enfim né ou de um órgão público tá então são situações e soluções que eh nativamente eh são distribuídas né o processamento
a comunicação e armazenamento tá então muitos desafios que nós temos na concepção de soluções tecnológicas para cidades inteligentes e vão esbarrar a questão da escala né da quantidade da variabilidade da veracidade né da quantidade dos dados coletados eh processados e transportados e implementar soluções para cidades inteligentes vão apresentar muitos desafios né estão relacionados com a escala né então a a volume né crescimento exponencial por exemplo dos dados né integrar sistemas heter gêneros estão a interoperabilidade aqui ela faz parte dessa dessa dessa dessa situação né como a gente já viu né a eh especialmente a inabilidade
sistêmica e computacional a segurança e a privacidade né Eh a preocupação né Eh eh o tempo todo com a privacidade dos dados porque envolvem dados dos dos cidadãos eh o gerenciamento de recursos né sejam os recursos eh eh naturais né então do caso aí a gente deu o exemplo da água mas os recursos computacionais que vão ser utilizados para permitir a medição né Eh ou a telemetria de um recurso hídrico como a água por exemplo tá então eh Há eh diminuição de custos né operacionais né Eh porque eh não vai ser necessário um ser humano
fazer essa essa medição e nem sempre é possível que o ser humano faça medição de um hidrômetro né muitas vezes hidrômetros que estão tem um posicionamento inadequado nas casas e o o funcionário não consegue fazer essa medição né ou porque o o Quem mora na casa foi viajar enfim não pode abrir a casa né ou disponibilizar o hidrômetro uma região adequada então Eh H redução do uso do ser humano Nesse contexto Mas por outro lado há uma complexidade né no fornecimento e na escala da solução computacional né que vai permitir com que esse recurso né
leitura desse recurso né hídrico que a água possa ser medida em tempo real né istantaneamente eh Quais são as estratégias que a gente pode levar em consideração para lidar com a escalabilidade primeiro no aspecto computacional né para uma solução computacional para um ambiente inteligente é eh dividir tarefas tá um outro aspecto é replicar dados com relação à divisão de tarefas né não há um sistema computacional eh único capaz de eh lidar com grande volumes de D um grande volume de dados né Eh considerando a o aumento da demanda considerando também a capacidade computacional daquele recurso
então Eh por necessidade os recursos computacionais existentes eles precisam ser interligados e e conectados e tarefas entre esses recursos computacionais processamento de comunicação serem divididos tá então essa estratégia de divisão ela é importante tá então dividir uma tarefa em subtarefa menor e distribuir essas tarefas entre os nós ou os os elementos de processamento então Eh entre os benefícios destaca a eficiência né melhora ao distribuir essas tarefas então se eu tenho um problema complexo eu quebro esse problema problemas menores e Passo cada um desses problemas menores Por uma unidade de processamento tá eh como se eu
tivesse que distribuir tarefas entre uma equipe que de profissionais que precisam resolver um problema né Por exemplo construir uma casa né então para construir uma casa um pedreiro só não consegue levantar uma casa eh em se meses né mas uma equipe de pedreiros com servente né com outros profissionais envolvidos consegue consegue fazer isso no maior no menor intervalo de tempo porque as tarefas estão distribuídas a replicação de dados também no no contexto computacional elha é bastante relevante porque ajuda a manter cópias de dados em vários nós para reduzir o tempo de acesso tempo de processamento
né então eh a réplica permite disponibilidade de dados considerando que pode né e é corriqueiro haver perda de dados na transmissão no processamento na coleta no armazenamento Então essa estratégia de replicar né para garantir digamos assim eh o um acesso se alguma catástrofe do ponto de vista de perda de dados ocorra outra estratégia então para lidar com a escalabilidade em Sistemas distribuídos é o balanciamento de carga tá então eh é uma estratégia que é bastante comum em soluções computacionais que envolvem uma grande demanda por acesso a um recurso né então tem como estratégia e distribuir
eh uniformemente né de uma maneira mais uniforme possível eh requisições e acesso para um sistema alvo tá evita sobrecarga de servidores que fazem parte da solução computacional é uma outra estratégia fazer o particionamento eh horizontal e vertical de dados tá dividir dados né então a gente pode pensar em processamento orientado aos dados processamento eh computacional orientado à quantidade de requisições que chegam no sistema alvo né e pensar em dividir o processamento baseado em dados também é uma estratégia interessante né então pensar isso a divisão por linhas ou colunas né quando a gente for processar por
exemplo um arquivo né uma tabela de uma base de dados eh que armazena dados sobre eh solução eh ou do uso de do do uso de veículos numa cidade né Por exemplo eh tão importante quanto saber o funcionamento né de um sistema distribuído O que é um sistema distribuído a sua relevância e onde eh isso se encaixa no contexto idados inteligentes né é pensar na solução computacional que vai fazer parte de um ecossistema de soluções inteligentes nas cidades eh pensar na desenvolvimento de soluções de forma incremental e baseada em camadas tá então eh um sistema
distribuído né Ele é complexo em função de todas essas características que eu estou listando aqui e ele tá associado também à complexidade da rede de comunicação né então quando Nós aprendemos os princípios de redes computadoras Nós aprendemos eh todos esses princípios baseado em camadas dada a quantidade de protocolos de meios físicos disponíveis né de transmissão de transmição e recepção de sinal perda de dados segurança enfim né então o aprendizado e entendimento né de soluções complexas ela é feita baseada em camadas e o desenvolvimento de soluções para lidar com essa complexidade também não deixaria de ser
feito baseado em camadas tá então em linhas Gerais uma solução computacional eh e inteligente né deve levar em consideração desenvolvimento de de da solução baseada na em camadas que envolv dados envolve processamento que envolve apresentação desses dados Tá quanto a camada de dados né eh principal função é gerenciar e armazenar de forma eficiente a distribuição desses dados né então a gente tem aí base de dados distribuídas sistemas de arquivos distribuídos paraar como exemplo né Com relação à camada de processamento A ideia é fazer operação e lógica de negócio de forma tá com exemplos né PR
E aí eu sugiro que vocês olhem para Essas tecnologias né uma parte rup o ap Spark né um foca mais no processamento de dados em disco que é o rup o outro em memória que é o ap Spark embora exista no ponto de vista tecnológico é coexistente coexistência entre esses dois frameworks né pode ter a necessidade de desenvolver uma solução tecnológica que vai permitir o processamento de dados tanto em disco né dispositivo de armazenamento secundário quanto na memória com o Spark bem então eu finalizo e esse conteúdo né são as referências e utilizadas para apresentação
para vocês né sugiro fortemente a participação nos fóruns a leitura dos textos base sempre possível eh os vídeos texos de apoio e a gente se vê na [Música] próxima k [Música]