Prévia do material em texto
<p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Unidade 1</p><p>Fundamentos de Computação em Nuvem</p><p>Aula 1</p><p>Conceitos básicos em Computação em Nuvem</p><p>Conceitos em Computação em Nuvem</p><p>Este conteúdo é um vídeo!</p><p>Para assistir este conteúdo é necessário que você acesse o AVA pelo</p><p>computador ou pelo aplicativo. Você pode baixar os vídeos direto no aplicativo</p><p>para assistir mesmo sem conexão à internet.</p><p>Dica para você</p><p>Aproveite o acesso para baixar os slides do vídeo, isso pode deixar sua</p><p>aprendizagem ainda mais completa.</p><p>Olá estudante! Nesta videoaula, você irá conhecer conceitos básicos em computação em nuvem.</p><p>A computação em nuvem refere-se ao uso de recursos computacionais, como armazenamento,</p><p>processamento de dados e redes, que são fornecidos pela Internet. A ideia principal é fornecer</p><p>acesso a recursos de computação sob demanda pela Internet, em vez de depender de recursos</p><p>locais ou de servidores físicos.</p><p>Esse conteúdo é importante para a sua prática pro�ssional, devido a uma série de benefícios e</p><p>transformações que ela proporciona, como, por exemplo:</p><p>Escalabilidade e elasticidade: permite escalar recursos de computação de acordo com as</p><p>necessidades, evitando a necessidade de investir em hardware adicional.</p><p>Custo-e�ciência: elimina a necessidade de investir em infraestrutura física, reduzindo</p><p>custos iniciais e permitindo que as organizações paguem apenas pelos recursos que</p><p>consomem.</p><p>Acessibilidade remota: facilita o acesso a recursos computacionais de qualquer lugar com</p><p>conexão à Internet, promovendo a �exibilidade e o trabalho remoto.</p><p>Inovação rápida: permite o rápido desenvolvimento, teste e implantação de aplicativos,</p><p>acelerando os ciclos de inovação e reduzindo o tempo de chegada ao mercado.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>A computação em nuvem oferece oportunidades para otimizar operações, impulsionar a</p><p>inovação e fornecer soluções e�cientes. É fundamental que os pro�ssionais estejam</p><p>familiarizados com os conceitos e práticas relacionados à nuvem para tirar o máximo proveito</p><p>desses benefícios.</p><p>Prepare-se para esta jornada de conhecimento! Vamos lá!!!</p><p>Ponto de Partida</p><p>Caro estudante! Nesta unidade, veremos os conceitos de computação em nuvem.</p><p>Atualmente, no mercado de Tecnologia da Informação (TI), o modelo de computação em nuvem</p><p>é muito utilizado para a disponibilização de soluções de software escaláveis na internet.</p><p>Portanto, é imprescindível conhecer as características e as tecnologias envolvidas. O conceito de</p><p>nuvem é uma metáfora para um cenário no qual as aplicações podem ser acessadas</p><p>remotamente, de qualquer lugar e dispositivo com conexão à Internet. O paradigma de</p><p>computação em nuvem revolucionou a maneira como as organizações alocam e gerenciam</p><p>recursos de Tecnologia da Informação (TI).</p><p>Nesse novo modelo, recursos computacionais, como capacidade de processamento e</p><p>armazenamento de dados disponíveis em provedores, podem ser alocados sob demanda, com</p><p>pagamento de acordo com a quantidade e o tempo de uso. A possibilidade de redução de custos</p><p>e �exibilidade no uso dos recursos de TI motivaram uma rápida migração de servidores e</p><p>aplicações para provedores de computação em nuvem.</p><p>Nesse contexto, é essencial o entendimento sobre como os serviços de computação em nuvem</p><p>são provisionados, suas características e benefícios.</p><p>Bons estudos!</p><p>Vamos Começar!</p><p>De�nição de computação em nuvem</p><p>A computação em nuvem é um modelo de entrega de serviços de computação pela internet,</p><p>permitindo o acesso sob demanda a recursos computacionais, como armazenamento,</p><p>processamento, redes, software e outros, sem a necessidade de que o usuário tenha</p><p>conhecimento ou controle direto sobre a infraestrutura subjacente.</p><p>Computação em nuvem é um modelo para possibilitar acesso remoto, de modo ubíquo,</p><p>conveniente e sob demanda, a um conjunto compartilhado de recursos computacionais</p><p>con�guráveis (por exemplo, redes, servidores, armazenamento, aplicações e serviços) que</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>podem ser rapidamente alocados e liberados com mínimo esforço gerencial ou interação com o</p><p>provedor de serviços (Mell; Grance, 2011, p. 2).</p><p>Observe que os recursos computacionais disponíveis na nuvem podem ser os mais diversos e a</p><p>alocação ou liberação dos recursos deve ser dinâmica. Isso foi possível, principalmente, em</p><p>decorrência dos avanços nas tecnologias de virtualização e de redes de comunicação de dados.</p><p>O conceito de virtualização permite que, em um mesmo computador, sejam criadas uma ou mais</p><p>máquinas virtuais. Uma máquina virtual é um software que emula o funcionamento de um</p><p>computador, ou seja, ela é capaz de executar programas como um computador real emulando,</p><p>inclusive os componentes de uma máquina física, como disco, processador, monitor e placa de</p><p>rede.</p><p>A Figura 1 ilustra um provedor de serviços de computação em nuvem com diversas máquinas</p><p>virtuais (VMs – virtual machines) instanciadas na infraestrutura de máquinas físicas. O uso de</p><p>virtualização permite o compartilhamento da infraestrutura entre vários clientes e também</p><p>viabiliza a alocação dinâmica. Não seria possível instanciar rapidamente um servidor físico, mas</p><p>isso pode ser feito em instantes para uma máquina virtual. Os avanços nas tecnologias de rede e</p><p>de serviços Web resultaram em um modelo de amplo acesso aos serviços. Os clientes podem</p><p>usar os recursos computacionais remotamente a qualquer momento.</p><p>Figura 1 | Máquinas Virtuais.</p><p>Sousa, Moreira e Machado (2009) apresentam uma perspectiva interessante, que mostra a</p><p>computação em nuvem como uma evolução do conceito de Utility Computing. Um serviço de</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>utilidade é aquele distribuído amplamente ao público geral com pagamento baseado no uso, por</p><p>exemplo, a distribuição de energia elétrica e outros serviços de utilidade pública. Assim, a Utility</p><p>Computing é uma visão da TI como um serviço de utilidade pago de acordo com a quantidade de</p><p>recursos utilizados. Nesse contexto, temos serviços de TI sob demanda com pagamento</p><p>baseado no uso. Esses serviços abrangem vários níveis, desde aplicações para usuários �nais,</p><p>até grandes infraestruturas computacionais para empresas.</p><p>Existem vários modelos de serviço na computação em nuvem, sendo os três principais:</p><p>Infraestrutura como Serviço (IaaS): fornece acesso virtualizado a recursos de hardware,</p><p>como capacidade de processamento, armazenamento e redes. Os usuários podem</p><p>controlar e gerenciar sistemas operacionais, aplicativos e, em alguns casos, con�gurações</p><p>de rede.</p><p>Plataforma como Serviço (PaaS): oferece uma plataforma de desenvolvimento completa,</p><p>na qual os desenvolvedores podem criar, implantar e gerenciar aplicativos sem se</p><p>preocupar com a infraestrutura subjacente. Essa abordagem simpli�ca o processo de</p><p>desenvolvimento.</p><p>Software como Serviço (SaaS): fornece aplicativos baseados na web que são acessados</p><p>por meio de um navegador da web. Os usuários não precisam se preocupar com a</p><p>manutenção, atualização ou gerenciamento do software, já que isso é tratado pelo provedor</p><p>de serviços em nuvem.</p><p>A computação em nuvem oferece uma série de benefícios, incluindo escalabilidade, �exibilidade,</p><p>e�ciência de custos, acesso remoto e maior facilidade de gerenciamento. Empresas e usuários</p><p>podem aproveitar esses recursos sem a necessidade de investir em hardware e infraestrutura</p><p>física signi�cativos. Além disso, a nuvem permite o pagamento com base no uso real,</p><p>proporcionando maior e�ciência �nanceira.</p><p>Principais características da computação em nuvem</p><p>(elasticidade, escalabilidade, provisionamento sob demanda,</p><p>etc.)</p><p>Os serviços em nuvem podem ser acessados e gerenciados por uma aplicação Web. No entanto,</p><p>não podemos a�rmar que toda aplicação disponível na Web é uma aplicação em nuvem. A seguir,</p><p>algumas das características essenciais de serviços de computação em nuvem, conforme</p><p>explicado em (Sousa; Moreira; Machado, 2009):</p><p>Self-service: o próprio cliente gerencia a alocação dos recursos, com mínima interação com</p><p>o provedor, na verdade, a alocação e uso dos serviços pode ser automatizada.</p><p>Amplo acesso: os recursos podem ser acessados remotamente,</p><p>a alocação dinâmica e automática de recursos conforme a demanda,</p><p>evitando subutilização durante períodos de baixa demanda e provisionando</p><p>automaticamente mais recursos quando necessário.</p><p>Escalabilidade: permite adicionar ou remover recursos de maneira e�ciente, distribuindo a</p><p>carga de trabalho de maneira equitativa entre instâncias ou ajustando verticalmente as</p><p>instâncias conforme a necessidade.</p><p>Pagamento por uso:</p><p>Elasticidade: os modelos de elasticidade geralmente são baseados em pagamento por uso,</p><p>em que os recursos consumidos são proporcionais à demanda real. Isso evita gastos</p><p>desnecessários em recursos não utilizados.</p><p>Escalabilidade: a escalabilidade permite ajustar os recursos de acordo com as</p><p>necessidades especí�cas, evitando a necessidade de investimentos antecipados em</p><p>infraestrutura que podem não ser totalmente utilizados.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Resposta dinâmica a mudanças de carga:</p><p>Elasticidade: a resposta automática às mudanças na carga de trabalho garante que os</p><p>recursos estejam sempre alinhados com a demanda real, otimizando a e�ciência</p><p>operacional.</p><p>Escalabilidade: permite que os sistemas respondam proativamente a picos de tráfego,</p><p>garantindo que os recursos estejam disponíveis quando necessário e evitando interrupções</p><p>ou degradação de desempenho.</p><p>Redução de custos operacionais:</p><p>Elasticidade: ao ajustar dinamicamente os recursos, as operações manuais de</p><p>provisionamento e desaprovisionamento são reduzidas, resultando em menor carga</p><p>operacional e menor probabilidade de erros humanos.</p><p>Escalabilidade: a automação e a capacidade de escalonamento horizontal reduzem a</p><p>necessidade de intervenção manual, tornando as operações mais e�cientes.</p><p>Otimização de infraestrutura subutilizada:</p><p>Elasticidade: evita a subutilização de recursos durante períodos de baixa demanda,</p><p>garantindo que apenas os recursos necessários estejam em operação.</p><p>Escalabilidade: permite a expansão ou redução rápida e e�ciente de recursos, otimizando a</p><p>infraestrutura para atender às necessidades atuais.</p><p>Flexibilidade e agilidade:</p><p>Elasticidade: proporciona �exibilidade para adaptar rapidamente os recursos à medida que</p><p>os requisitos do negócio mudam.</p><p>Escalabilidade: oferece agilidade na expansão ou contratação de recursos, permitindo que</p><p>as organizações respondam rapidamente às mudanças nas condições do mercado.</p><p>Ao implementar estratégias e�cazes de elasticidade e escalabilidade, as organizações podem</p><p>garantir que estão utilizando seus recursos de maneira e�ciente, otimizando os custos</p><p>operacionais e proporcionando uma infraestrutura ágil e adaptável às demandas do ambiente de</p><p>negócios.</p><p>Vamos Exercitar?</p><p>Venda de produtos online</p><p>Descrição da situação-problema</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Imagine uma empresa de comércio eletrônico que vende produtos online. Durante a Black Friday,</p><p>a demanda por seus produtos aumenta signi�cativamente, resultando em picos de tráfego no</p><p>site. A infraestrutura atual não é dimensionada para lidar com esses picos, e a equipe de TI está</p><p>preocupada com a possibilidade de a experiência do usuário ser prejudicada devido à lentidão ou</p><p>falhas no site.</p><p>Resolução da situação-problema</p><p>A ideia é implementar uma estratégia de elasticidade para ajustar dinamicamente os recursos</p><p>com base na demanda. A infraestrutura existente não é facilmente escalável devido à falta de</p><p>automação. Utilizar serviços de nuvem que oferecem recursos de elasticidade automática, por</p><p>exemplo, adotar instâncias autoescaláveis em uma plataforma de nuvem como AWS, Azure ou</p><p>Google Cloud. Fazer um monitoramento em tempo real: a equipe precisa estar ciente dos picos</p><p>de tráfego para acionar a elasticidade e implementar ferramentas de monitoramento que</p><p>rastreiem métricas como utilização de CPU, tráfego de rede e desempenho do site. Con�gurar</p><p>alertas para acionar automaticamente o provisionamento adicional de recursos.</p><p>Saiba mais</p><p>Para saber mais, leia sobre elasticidade em computação em nuvem: o que é, qual a sua função?</p><p>Referências</p><p>CARVALHO, A. C. P. L. F.; LORENA, A. C. Introdução à Computação, 2017.</p><p>ERL, T.; PUTTINI, R.; MAHMOOD, Z. Cloud Computing: Concepts, Technology & Architecture. [S.l.]</p><p>Prentice Hall, 2013.</p><p>MEIRELES A.; OLIVEIRA, H. S.; PICHETTI, R. F. Cloud Computing, 2020.</p><p>Aula 5</p><p>Encerramento da Unidade</p><p>Videoaula de Encerramento</p><p>Este conteúdo é um vídeo!</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Para assistir este conteúdo é necessário que você acesse o AVA pelo</p><p>computador ou pelo aplicativo. Você pode baixar os vídeos direto no aplicativo</p><p>para assistir mesmo sem conexão à internet.</p><p>Dica para você</p><p>Aproveite o acesso para baixar os slides do vídeo, isso pode deixar sua</p><p>aprendizagem ainda mais completa.</p><p>Olá, estudante! Nesta videoaula, exploraremos os diversos modelos de serviços em nuvem,</p><p>destacando suas características distintas, benefícios e desa�os associados. Compreender esses</p><p>modelos é essencial para tomar decisões informadas ao escolher a abordagem de nuvem mais</p><p>adequada para atender às necessidades especí�cas de uma organização. Vamos mergulhar nos</p><p>três principais modelos: Infraestrutura como Serviço (IaaS), Plataforma como Serviço (PaaS) e</p><p>Software como Serviço (SaaS).</p><p>1. Infraestrutura como Serviço (IaaS):</p><p>Características:</p><p>Fornece recursos de infraestrutura virtualizados, como máquinas virtuais, armazenamento</p><p>e redes.</p><p>Os usuários têm controle total sobre o sistema operacional, aplicativos e con�gurações.</p><p>Benefícios:</p><p>Escalabilidade e �exibilidade para provisionar recursos conforme necessário.</p><p>Controle granular sobre a infraestrutura, adequado para cargas de trabalho personalizadas.</p><p>Desvantagens:</p><p>Requer habilidades técnicas para gerenciar e con�gurar a infraestrutura.</p><p>Maior responsabilidade do usuário em termos de manutenção e atualizações.</p><p>2. Plataforma como Serviço (PaaS):</p><p>Características:</p><p>Oferece uma plataforma completa para desenvolvimento e implantação de aplicativos.</p><p>Abstrai a complexidade da infraestrutura subjacente, permitindo que os desenvolvedores</p><p>foquem no código.</p><p>Benefícios:</p><p>Acelera o desenvolvimento de aplicativos, reduzindo a complexidade operacional.</p><p>Menos preocupações com con�gurações de infraestrutura, permitindo foco no código e na</p><p>lógica do aplicativo.</p><p>Desvantagens:</p><p>Menos controle sobre a infraestrutura comparado ao IaaS.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Restrições nas tecnologias e ferramentas disponíveis podem ser limitantes.</p><p>3. Software como Serviço (SaaS):</p><p>Características:</p><p>Oferece aplicativos prontos para uso através da internet, sem a necessidade de instalação</p><p>local.</p><p>A manutenção e atualizações são gerenciadas pelo provedor de serviços.</p><p>Benefícios:</p><p>Acesso imediato a aplicativos sem a necessidade de instalação ou con�guração.</p><p>Menor carga de gerenciamento para os usuários, pois as atualizações são automáticas.</p><p>Desvantagens:</p><p>Personalização limitada em comparação com soluções locais.</p><p>Dependência da conectividade com a internet para acessar os serviços.</p><p>Ao entender as nuances de cada modelo de serviço em nuvem, os pro�ssionais podem tomar</p><p>decisões informadas ao planejar a transição para a nuvem. A escolha entre IaaS, PaaS ou SaaS</p><p>dependerá das necessidades especí�cas de uma organização em termos de controle,</p><p>�exibilidade e complexidade operacional. Esses modelos oferecem um panorama abrangente</p><p>das opções disponíveis, capacitando as organizações a alavancar os benefícios da computação</p><p>em nuvem de maneira e�caz.</p><p>Prepare-se para essa jornada de conhecimento! Vamos lá!!!</p><p>Ponto de Chegada</p><p>Olá, estudante! Para desenvolver a competência desta Unidade, que é conhecer e exempli�car os</p><p>fundamentos, os modelos e as características essenciais da oferta de serviços em um ambiente</p><p>de computação nuvem, você deverá primeiramente conhecer os conceitos fundamentais de</p><p>computação em nuvem, modelos de serviços, modelos de implantação e elasticidade e</p><p>escalabilidade.</p><p>Vamos explorar cada componente:</p><p>Fundamentos da computação em nuvem:</p><p>A computação em nuvem refere-se à entrega de serviços de computação, como armazenamento,</p><p>processamento, rede e software, pela internet.</p><p>Características essenciais:</p><p>Autoatendimento sob demanda: os usuários podem provisionar recursos conforme</p><p>necessário, sem a necessidade de intervenção humana.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Acesso amplo à rede: os serviços são acessíveis pela internet, proporcionando</p><p>disponibilidade global.</p><p>Agrupamento de recursos: os recursos em nuvem são agrupados e compartilhados para</p><p>atender a múltiplos clientes.</p><p>Modelos de serviço em computação em nuvem:</p><p>IaaS (Infraestrutura como Serviço): fornece recursos de infraestrutura, como servidores</p><p>virtuais e armazenamento, permitindo que os usuários construam e gerenciem suas</p><p>próprias plataformas.</p><p>PaaS (Plataforma como Serviço): oferece uma plataforma completa para desenvolvimento</p><p>e execução de aplicativos, eliminando a necessidade de gerenciar a infraestrutura</p><p>subjacente.</p><p>SaaS (Software como Serviço): oferece aplicativos prontos para uso por meio da internet,</p><p>sem a necessidade de instalação local.</p><p>Modelos de implantação em computação em nuvem:</p><p>Nuvem pública: recursos são oferecidos por provedores de serviços em nuvem e</p><p>compartilhados por múltiplos clientes.</p><p>Nuvem privada: recursos são dedicados a uma única organização, oferecendo maior</p><p>controle e privacidade.</p><p>Nuvem híbrida: combina elementos de nuvens públicas e privadas, permitindo a</p><p>transferência de dados e aplicativos entre os ambientes.</p><p>Características essenciais da oferta de serviços em nuvem:</p><p>Elasticidade: a capacidade de dimensionar recursos para cima ou para baixo conforme a</p><p>demanda, proporcionando �exibilidade.</p><p>Escalabilidade: a capacidade de lidar com aumentos ou diminuições na demanda</p><p>mantendo o desempenho.</p><p>Automação: a utilização de recursos automatizados para provisionamento, gerenciamento</p><p>e otimização.</p><p>Medição de serviços: a capacidade de medir e monitorar o uso de recursos, permitindo a</p><p>cobrança com base no consumo.</p><p>É Hora de Praticar!</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Este conteúdo é um vídeo!</p><p>Para assistir este conteúdo é necessário que você acesse o AVA pelo</p><p>computador ou pelo aplicativo. Você pode baixar os vídeos direto no aplicativo</p><p>para assistir mesmo sem conexão à internet.</p><p>Utilizando a Computação em Nuvem na Empresa Alfa LTDA.</p><p>Descrição da situação-problema</p><p>A Empresa Alfa Ltda., uma empresa de consultoria de pequeno porte, enfrenta desa�os</p><p>relacionados à sua infraestrutura de TI desatualizada. Com a crescente demanda por</p><p>�exibilidade, escalabilidade e inovação, a liderança da empresa reconhece a necessidade de</p><p>explorar soluções de computação em nuvem. No entanto, eles estão incertos sobre como iniciar</p><p>essa transição de maneira e�caz.</p><p>Desa�os identi�cados:</p><p>Infraestrutura desatualizada: a infraestrutura atual da Empresa Alfa é composta por</p><p>servidores locais e sistemas herdados, tornando-a menos adaptável às demandas</p><p>dinâmicas do mercado.</p><p>Limitações de escalabilidade: a capacidade limitada de escalabilidade da infraestrutura</p><p>existente impede a empresa de atender e�cientemente a picos de demanda ou expandir</p><p>suas operações.</p><p>Di�culdades em inovar rapidamente: a infraestrutura legada di�culta a implementação</p><p>rápida de novas tecnologias, impedindo a empresa de se manter competitiva e inovadora.</p><p>Diante desses desa�os, a liderança da Empresa Alfa se pergunta: como a adoção da computação</p><p>em nuvem pode ajudar a modernizar nossa infraestrutura de TI, promover a escalabilidade e</p><p>permitir uma inovação mais ágil?</p><p>Como a computação em nuvem transformou a abordagem tradicional de provisionamento</p><p>de recursos de TI e quais são os impactos dessa transformação nas organizações?</p><p>Quais são os desa�os éticos e de segurança associados ao armazenamento e</p><p>processamento de dados sensíveis em ambientes de computação em nuvem, e como as</p><p>organizações podem abordar essas preocupações de maneira e�caz?</p><p>Considere as implicações éticas e de segurança relacionadas à con�ança e privacidade dos</p><p>dados em nuvem, destacando estratégias e práticas recomendadas para mitigar esses</p><p>desa�os. De que forma a computação em nuvem está moldando a inovação tecnológica e</p><p>possibilitando o desenvolvimento de novas aplicações e serviços?</p><p>Resolução da situação-problema</p><p>Estratégia de adoção da computação em nuvem:</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>1. Avaliação da infraestrutura atual: realizar uma análise abrangente da infraestrutura atual</p><p>para identi�car sistemas críticos e requisitos especí�cos.</p><p>2. Planejamento de migração gradual: desenvolver um plano de migração gradual, começando</p><p>por transferir cargas de trabalho menos críticas para a nuvem. Isso permite testar a</p><p>viabilidade da nuvem antes de migrar a sistemas mais sensíveis.</p><p>3. Escolha de serviços adequados: avaliar os modelos de serviço em nuvem (IaaS, PaaS,</p><p>SaaS) para determinar qual se alinha melhor com as necessidades especí�cas da Empresa</p><p>Alfa.</p><p>4. Controle de custos e otimização: implementar ferramentas de monitoramento de custos</p><p>para garantir que a migração para a nuvem seja economicamente viável e otimizada.</p><p>5. Capacitação da equipe: oferecer treinamento à equipe de TI para adquirir as habilidades</p><p>necessárias para gerenciar efetivamente a infraestrutura em nuvem.</p><p>A Empresa Alfa Ltda. espera modernizar sua infraestrutura de TI, ganhando �exibilidade e</p><p>escalabilidade, permitindo uma resposta mais rápida às demandas do mercado e promovendo</p><p>uma cultura de inovação contínua.</p><p>Os conceitos fundamentais fornecem uma base sólida para compreender a computação em</p><p>nuvem. A Figura a seguir, mostra os conceitos de computação em nuvem.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>CARVALHO, A. C. P. L. F.; LORENA, A. C. Introdução à Computação, 2017.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>ERL, T.; PUTTINI, R.; MAHMOOD, Z. Cloud Computing: Concepts, Technology & Architecture. [S.l.]</p><p>Prentice Hall, 2013.</p><p>MEIRELES, A.; OLIVEIRA, H. S.; PICHETTI, R. F. Cloud Computing, 2020.</p><p>,</p><p>Unidade 2</p><p>Ofertas de Serviço em Computação em Nuvem</p><p>Aula 1</p><p>Serviços de Processamento de Dados</p><p>Serviços de Processamento de Dados</p><p>Este conteúdo é um vídeo!</p><p>Para assistir este conteúdo é necessário que você acesse o AVA pelo</p><p>computador ou pelo aplicativo. Você pode baixar os vídeos direto no aplicativo</p><p>para assistir mesmo sem conexão à internet.</p><p>Dica para você</p><p>Aproveite o acesso para baixar os slides do vídeo, isso pode deixar sua</p><p>aprendizagem ainda mais completa.</p><p>Olá, estudante! Nesta videoaula, exploraremos os serviços de processamento de dados</p><p>oferecidos pela computação em nuvem. Vamos abordar os principais conceitos, benefícios e</p><p>cenários de uso desses serviços, fornecendo uma visão abrangente das capacidades que a</p><p>nuvem oferece para o processamento e�ciente e escalável de dados.</p><p>Esse conteúdo é importante para a sua prática pro�ssional, pois a adoção de serviços de</p><p>processamento de dados em nuvem pode trazer e�ciência, �exibilidade e poder computacional</p><p>para sua prática pro�ssional, independentemente do campo em que você atua. Esses serviços</p><p>são uma parte essencial da infraestrutura tecnológica moderna.</p><p>Prepare-se para essa jornada de conhecimento! Vamos lá!!!</p><p>Ponto de Partida</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Caro estudante, nosso foco é compreender os serviços de processamento de dados que se</p><p>referem a um conjunto de recursos e ferramentas oferecidos por provedores de serviços em</p><p>nuvem para processar, transformar e analisar dados de maneira e�ciente e escalável. Esses</p><p>serviços são projetados para lidar com grandes volumes de informações, executar tarefas de</p><p>processamento distribuído e fornecer soluções para análise de dados. Ao migrar um sistema</p><p>computacional para a nuvem, temos que escolher os serviços adequados para implantar cada</p><p>um dos componentes do sistema. Vamos começar a nossa abordagem com a descrição de</p><p>serviços de processamentos de dados, ou seja, instâncias que podem ser alocadas para</p><p>execução de aplicações ou serviços web.</p><p>Bons estudos!</p><p>Vamos Começar!</p><p>Serviços de rede em provedores de computação em nuvem</p><p>Os provedores de computação em nuvem oferecem uma variedade de serviços de rede que</p><p>permitem a criação, gerenciamento e otimização de infraestruturas de rede em ambientes de</p><p>nuvem. Esses</p><p>serviços são projetados para atender às necessidades de conectividade,</p><p>segurança, desempenho e escalabilidade.</p><p>Alguns dos principais serviços de rede oferecidos pelos provedores de nuvem:</p><p>Virtual Private Cloud (VPC): é um serviço que permite aos usuários criar redes virtuais</p><p>isoladas em uma nuvem pública. Ela fornece controle total sobre a con�guração da rede,</p><p>como de�nição de sub-redes, criação de gateways e con�guração de regras de �rewall.</p><p>Route 53 (Serviço de DNS): fornece registro de domínio, resolução de DNS e serviços de</p><p>saúde para garantir alta disponibilidade e con�abilidade para aplicativos na nuvem.</p><p>Virtual Private Network (VPN): permite a criação de conexões seguras entre a infraestrutura</p><p>na nuvem e recursos locais. Isso é útil para estabelecer redes híbridas, conectando</p><p>ambientes locais e em nuvem.</p><p>Firewall de Rede: em nuvem, permite a de�nição de regras de segurança para controlar o</p><p>tráfego de entrada e saída da rede, protegendo as instâncias e os recursos na nuvem.</p><p>Serviço de Logs e Monitoramento: permite aos usuários rastrear e analisar o desempenho e</p><p>a segurança de suas infraestruturas de rede.</p><p>Esses são apenas alguns exemplos de serviços de rede disponíveis em provedores de nuvem, e a</p><p>gama de ofertas pode variar de acordo com o provedor especí�co. A escolha dos serviços</p><p>depende das necessidades especí�cas de conectividade, segurança e desempenho de uma</p><p>aplicação ou sistema implantado na nuvem.</p><p>Serviços para instanciar e gerenciar containers</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Outro tipo importante de serviço para execução de aplicações é a instanciação de contêineres.</p><p>Assim, quando uma empresa cliente precisa executar uma aplicação em um provedor, ela pode</p><p>criar um contêiner para executar essa aplicação, em vez de criar uma máquina virtual. Além de</p><p>escalonamento automático, os serviços de contêineres facilitam a replicação das instâncias de</p><p>execução pois eles exigem menos recursos que as máquinas virtuais. Isso também implica em</p><p>custos mais baixos.</p><p>Quando uma empresa precisa executar uma aplicação em um provedor, ela pode criar um</p><p>contêiner para executar essa aplicação, em vez de criar uma máquina virtual. Apesar de oferecer</p><p>um nível mais baixo de isolamento e proteção se comprada às máquinas virtuais, a instanciação</p><p>por contêineres oferece:</p><p>Escalonamento automático.</p><p>Exigência de menos recursos.</p><p>Facilidade na replicação das instâncias de execução.</p><p>Custos mais baixos.</p><p>Para instanciar e gerenciar containers, diversos provedores de computação em nuvem oferecem</p><p>serviços especí�cos que facilitam a orquestração, a implantação e o gerenciamento e�cientes</p><p>desses ambientes isolados. A seguir, veja exemplos de serviços para gerenciamento de</p><p>contêineres em provedores de nuvem pública:</p><p>Amazon Elastic Container Service (Amazon ECS) (AWS, 2019b).</p><p>Azure Container Instances (MICROSOFT, 2019a).</p><p>Google Kubernetes Engine (GOOGLE, 2019d).</p><p>IBM Cloud Kubernetes Service (IBM, 2019b).</p><p>Em geral, as aplicações de TI são sistemas complexos, compostos por vários componentes,</p><p>como bancos de dados, front-end web, entre outros. Cada um deles pode ser encapsulado em</p><p>um contêiner e, para isso, são necessárias ferramentas para o gerenciamento. A partir disso,</p><p>surgiu o conceito de orquestração de contêineres que corresponde ao processo de automatizar a</p><p>implantação, o escalonamento e o gerenciamento dessas aplicações (Yegulalp, 2019).</p><p>Ao escolher um serviço de nuvem para instanciar e gerenciar containers, é importante considerar</p><p>os requisitos especí�cos do projeto, a familiaridade da equipe com a tecnologia e a integração</p><p>com outros serviços do provedor de nuvem. Cada serviço tem suas próprias características e</p><p>vantagens, e a escolha dependerá das necessidades especí�cas de cada aplicativo ou sistema.</p><p>Siga em Frente...</p><p>Instâncias de servidores virtuais na nuvem</p><p>As instâncias de servidores virtuais na nuvem são máquinas virtuais (VM) provisionadas em</p><p>ambientes de computação em nuvem. Essas instâncias oferecem poder computacional,</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>memória, armazenamento e outros recursos necessários para executar aplicativos e serviços.</p><p>Cada provedor de nuvem tem seus próprios termos para essas instâncias.</p><p>Por exemplo, se uma empresa precisa executar uma aplicação, ela deve alocar um servidor com</p><p>capacidade computacional para isso, podendo criar uma máquina virtual na nuvem em que essa</p><p>aplicação será executada.</p><p>Para provisionamento de serviços em nuvem, os provedores fazem uso de sistemas de</p><p>gerenciamento dos recursos computacionais. Um dos mecanismos mais importantes de tais</p><p>sistemas é o Gerenciador de Infraestrutura Virtual (VIM – Virtual Infrastructure Manager), que</p><p>coordena a criação de instâncias de máquinas virtuais a partir dos recursos computacionais</p><p>disponíveis no provedor (Erl; Puttini; Mahmood, 2013). Em geral, o VIM mantém um repositório</p><p>com imagens de máquinas virtuais, que são modelos pré-con�gurados a partir dos quais são</p><p>criadas as instâncias solicitadas pelos clientes. Cada imagem possui uma determinada</p><p>capacidade, em termos do número de núcleos de processamento e da quantidade de memória, e</p><p>um sistema operacional especí�co já instalado e con�gurado. Alguns provedores permitem</p><p>também a customização de VM, isto é, em vez de usar em um modelo prede�nido, o cliente pode</p><p>con�gurar sua própria VM.</p><p>Com a �nalidade de dar suporte a aplicações com diferentes requisitos, cada provedor oferece</p><p>vários modelos de máquinas virtuais, além de especi�car o preço de cada um deles. Dessa</p><p>forma, o cliente pode criar quantas instâncias forem necessárias para atender a sua demanda de</p><p>TI. Um fator que in�uencia muito os preços é o tipo de alocação, sendo os dois principais:</p><p>alocação de instâncias sob demanda e alocação de instâncias reservadas (Erl; Puttini; Mahmood,</p><p>2013). A alocação sob demanda é caracterizada pelo provisionamento dinâmico da máquina</p><p>virtual no instante da solicitação, caso existam recursos disponíveis. Já a alocação de instâncias</p><p>reservadas exige que o cliente especi�que previamente um compromisso de uso dos recursos.</p><p>Os provedores cobram um preço menor para as instâncias reservadas, pois a solicitação</p><p>antecipada permite melhor planejamento e otimização do uso da infraestrutura. Além disso, as</p><p>instâncias sob demanda podem ser liberadas a qualquer momento, enquanto as reservadas têm</p><p>o tempo de uso previamente especi�cado. Assim, é oferecido um preço menor para as instâncias</p><p>reservadas com o objetivo de que os clientes as utilizem por um período de tempo maior, o que</p><p>resulta em menos recursos ociosos no provedor. Nesse caso, o pagamento é feito de acordo</p><p>com o tempo reservado e não pelo tempo efetivo de uso.</p><p>Suponha que você precise de uma máquina com sistema Linux para executar um servidor de e-</p><p>mail ou uma máquina com sistema Windows para executar uma aplicação web. Você conhece os</p><p>serviços de computação disponíveis no mercado para alocação de máquinas virtuais? Entre eles,</p><p>podemos citar:</p><p>Amazon Elastic Compute Cloud (Amazon EC2) (AWS, 2019): é o serviço de instâncias de</p><p>máquinas virtuais da AWS. Os usuários podem escolher entre uma variedade de tipos de</p><p>instâncias, cada uma otimizada para diferentes casos de uso, como computação de</p><p>propósito geral, otimização para CPU, otimização para memória, etc.</p><p>Google Cloud Compute Enginte (Google, 2019a): fornece instâncias de máquinas virtuais</p><p>como parte de seu serviço de computação em nuvem. Os usuários podem selecionar</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>instâncias otimizadas para computação, memória, armazenamento etc.</p><p>IBM Cloud Virtual Servers (IBM, 2019c): oferece servidores virtuais que os usuários podem</p><p>provisionar de acordo com suas necessidades de carga de trabalho. Eles podem ser</p><p>dimensionados vertical ou horizontalmente, conforme necessário.</p><p>Azure Virtual Machines (Microsoft, 2019): oferece máquinas VM que podem ser</p><p>dimensionadas conforme a demanda. Os usuários podem escolher entre diferentes séries</p><p>de VM, como Séries Básicas, Gerais, de Memória Otimizada, etc.</p><p>Essas instâncias de servidores virtuais na nuvem oferecem</p><p>várias vantagens, incluindo</p><p>escalabilidade, �exibilidade, pagamento por uso, provisionamento rápido e a capacidade de</p><p>adaptar recursos de acordo com as demandas da carga de trabalho. Os usuários podem escolher</p><p>o tipo de instância que melhor atende às necessidades especí�cas de seus aplicativos, levando</p><p>em consideração requisitos de desempenho, memória, armazenamento e outros fatores.</p><p>As empresas podem usar esses serviços para alocar máquinas virtuais e, assim, construir uma</p><p>infraestrutura virtualizada na nuvem de acordo com sua demanda de capacidade computacional.</p><p>Os serviços de instanciação de máquinas virtuais oferecem mecanismos de autoescalonamento.</p><p>Isso signi�ca que é possível habilitar a alocação automática de mais instâncias quando a</p><p>demanda aumentar ou diminuir.</p><p>Vamos Exercitar?</p><p>Desa�os com a Infraestrutura de Servidores Locais</p><p>Descrição da situação-problema</p><p>Uma empresa de e-commerce está enfrentando desa�os com sua infraestrutura de servidores</p><p>locais devido a picos imprevisíveis de tráfego durante promoções sazonais. A infraestrutura</p><p>existente não é escalável e não consegue lidar e�cientemente com os aumentos repentinos de</p><p>demanda, resultando em tempo de inatividade, experiência do usuário prejudicada e perda de</p><p>receita. A equipe de TI busca uma solução para melhorar a escalabilidade, �exibilidade e</p><p>con�abilidade de sua infraestrutura de servidores.</p><p>Resolução da situação-problema:</p><p>Para melhorar a escalabilidade, �exibilidade e con�abilidade, algumas ações são necessárias,</p><p>como:</p><p>Escolha do provedor de nuvem: analisar os serviços de instâncias de servidores virtuais</p><p>oferecidos por provedores líderes, como AWS, Azure ou Google Cloud, levando em</p><p>consideração requisitos especí�cos de desempenho, segurança e custo.</p><p>Migração para instâncias de servidores virtuais: planejar e executar uma migração gradual,</p><p>transferindo cargas de trabalho para instâncias de servidores virtuais na nuvem. Utilizar</p><p>ferramentas e serviços oferecidos pelos provedores para facilitar a migração.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Dimensionamento automático: con�gurar instâncias de servidores virtuais com</p><p>escalabilidade automática, permitindo que a infraestrutura seja expandida ou reduzida</p><p>dinamicamente com base na demanda.</p><p>Monitoramento e otimização: implementar ferramentas de monitoramento em tempo real</p><p>para avaliar o desempenho das instâncias de servidores virtuais. Otimizar recursos</p><p>conforme necessário para garantir e�ciência e reduzir custos.</p><p>Backup e recuperação: con�gurar procedimentos robustos de backup e recuperação,</p><p>usando serviços disponíveis na nuvem para garantir a integridade dos dados e a rápida</p><p>recuperação em caso de falhas.</p><p>Testes de resiliência: realizar testes regulares de resiliência, como simulações de falhas e</p><p>recuperações, para garantir a con�abilidade e disponibilidade contínua do ambiente de</p><p>instâncias de servidores virtuais.</p><p>A migração para instâncias de servidores virtuais na nuvem permite à empresa de e-commerce</p><p>melhorar signi�cativamente sua escalabilidade, �exibilidade e con�abilidade. A infraestrutura</p><p>agora é capaz de lidar e�cientemente com picos de tráfego, garantindo uma experiência do</p><p>usuário consistente durante promoções sazonais. Além disso, a empresa se bene�cia da</p><p>�exibilidade de pagamento por uso e da capacidade de ajustar recursos conforme necessário</p><p>para otimizar custos operacionais.</p><p>Saiba mais</p><p>Com a alocação dinâmica de máquinas virtuais, o provedor pode chegar a um cenário no qual há</p><p>servidores físicos sobrecarregados (com muitas máquinas virtuais), enquanto outros servidores</p><p>permanecem subutilizados (com poucas máquinas virtuais). Então, pode ser necessário realizar</p><p>a migração de máquinas virtuais entre servidores físicos, a �m de otimizar desempenho e</p><p>economizar energia. Para saber mais sobre migração de máquinas virtuais para economia de</p><p>energia, acesse o artigo Migração de máquinas virtuais para economia de energia.</p><p>Referências</p><p>CARVALHO, A. C. P. L. F.; LORENA, A. C. Introdução à computação. São Paulo: GEN, 2017.</p><p>ERL, T.; PUTTINI, R.; MAHMOOD, Z. Cloud Computing: Concepts, Technology & Architecture. Rio</p><p>de Janeiro: Prentice Hall, 2013.</p><p>MEIRELES, A.; OLIVEIRA, H. S.; PICHETTI, R. F. Cloud computing. Porto Alegre: SAGAH, 2020.</p><p>Aula 2</p><p>Serviços de Armazenamento e Análise de Dados</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Serviços de Armazenamento e Análise de Dados</p><p>Este conteúdo é um vídeo!</p><p>Para assistir este conteúdo é necessário que você acesse o AVA pelo</p><p>computador ou pelo aplicativo. Você pode baixar os vídeos direto no aplicativo</p><p>para assistir mesmo sem conexão à internet.</p><p>Dica para você</p><p>Aproveite o acesso para baixar os slides do vídeo, isso pode deixar sua</p><p>aprendizagem ainda mais completa.</p><p>Olá, estudante! Nesta videoaula, exploraremos os serviços de armazenamento e análise de dados</p><p>oferecidos na computação em nuvem. Vamos abordar os fundamentos dos serviços de banco de</p><p>dados em nuvem, serviços em nuvem para análise de dados e serviços em nuvem de</p><p>armazenamento de blocos e objetos.</p><p>A importância dos serviços de armazenamento e análise de dados na nuvem impulsiona a</p><p>inovação, a tomada de decisões e a e�ciência operacional em diversos setores.</p><p>Esse conteúdo é importante para a sua prática pro�ssional, pois a adoção de serviços de</p><p>armazenamento e análise de dados na nuvem é fundamental para pro�ssionais que buscam</p><p>e�ciência, inovação e tomada de decisões baseadas em dados em um ambiente de trabalho</p><p>cada vez mais orientado por informações.</p><p>Prepare-se para essa jornada de conhecimento! Vamos lá!!!</p><p>Ponto de Partida</p><p>Caro estudante, vamos continuar nossos estudos explorando novos tipos de serviços de</p><p>computação em nuvem. Nosso objetivo é conhecer serviços de armazenamento e análise de</p><p>dados para empresas e pro�ssionais que desejam aproveitar ao máximo a capacidade da</p><p>computação em nuvem. Esses serviços fornecem soluções escaláveis, e�cientes e seguras para</p><p>lidar com grandes volumes de dados, permitindo armazenamento, processamento e análise de</p><p>informações críticas para os negócios.</p><p>Esse é um grande desa�o e, para tomar a decisão correta sobre a melhor solução para os dados</p><p>em nuvem, é preciso conhecer serviços de banco de dados, análise de dados e armazenamento</p><p>em nuvem. Ao �nal, você será capaz de identi�car os cenários de uso para os principais tipos de</p><p>serviços de processamento e armazenamento de dados na nuvem.</p><p>Bons estudos!</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Vamos Começar!</p><p>Serviços de banco de dados em nuvem</p><p>Os serviços de banco de dados em nuvem oferecem opções �exíveis e escaláveis para</p><p>armazenar, gerenciar e acessar dados em ambientes de computação em nuvem. Esses serviços</p><p>eliminam a necessidade de gerenciamento de infraestrutura física e simpli�cam tarefas como</p><p>backup, recuperação, escalabilidade e manutenção.</p><p>A utilização de serviços de armazenamento de dados em nuvem traz uma série de vantagens,</p><p>como redução de custos; delegação (para o provedor) das tarefas de gerenciamento e</p><p>otimização dos bancos de dados e escalabilidade (Sousa et al., 2010). Além disso, devido à</p><p>elasticidade dos serviços em nuvem, a alocação de recursos de armazenamento de dados pode</p><p>ser feita de forma incremental, com o pagamento pelo uso. Assim, um cliente pode alocar mais</p><p>capacidade de armazenamento à medida que mais dados são gerados pelas aplicações.</p><p>A seguir, listamos alguns dos serviços de banco de dados em nuvem oferecidos por importantes</p><p>provedores de nuvem:</p><p>Amazon RDS (Relational Database Service): oferecido pela AWS, o Amazon RDS é um</p><p>serviço totalmente gerenciado que suporta diversos bancos de dados relacionais, como</p><p>MySQL, PostgreSQL, Oracle, SQL Server e MariaDB.</p><p>Microsoft Azure SQL Database: o serviço de banco de dados relacional da Microsoft Azure</p><p>oferece suporte a SQL Server e MySQL. Ele fornece um ambiente totalmente gerenciado,</p><p>escalável e seguro.</p><p>Google Cloud SQL: oferecido pelo Google Cloud Platform, o Cloud SQL oferece suporte a</p><p>MySQL, PostgreSQL e SQL Server. Ele fornece um ambiente gerenciado para implantação e</p><p>manutenção de bancos de dados.</p><p>Amazon</p><p>DynamoDB: é um serviço de banco de dados NoSQL oferecido pela AWS. Ele</p><p>fornece armazenamento de chave-valor e é conhecido por sua escalabilidade e baixa</p><p>latência.</p><p>Microsoft Azure Cosmos DB: é um serviço de banco de dados globalmente distribuído,</p><p>multi-modelo e multi-API na plataforma Azure. Ele suporta modelos de dados como</p><p>documentos, grá�cos, chaves e famílias de colunas.</p><p>Esses serviços de banco de dados em nuvem oferecem várias opções para atender a diferentes</p><p>necessidades, desde bancos de dados relacionais tradicionais até soluções NoSQL e serviços</p><p>especializados para aplicativos especí�cos. Ao escolher um serviço, os desenvolvedores e</p><p>arquitetos precisam considerar requisitos especí�cos de seus aplicativos, como desempenho,</p><p>modelo de dados, necessidades de escalabilidade e requisitos de segurança.</p><p>Serviços em nuvem para análise de dados</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Os serviços em nuvem para análise de dados fornecem soluções escaláveis e e�cientes para</p><p>processamento, armazenamento e visualização de grandes conjuntos de dados. Esses serviços</p><p>facilitam a realização de análises complexas, aprendizado de máquina e geração de insights a</p><p>partir de dados.</p><p>Os serviços de banco de dados em nuvem oferecem opções �exíveis e escaláveis para</p><p>armazenar, gerenciar e acessar dados em ambientes de computação em nuvem.</p><p>Em se tratando de armazenamento de dados em nuvem, não podemos deixar de falar no</p><p>conceito de Big Data, que corresponde ao estudo e desenvolvimento de soluções para</p><p>armazenamento, transferência e análise de grandes volumes de dados (Costa, 2012). O que</p><p>caracteriza o cenário de Big Data é a velocidade que grandes massas de dados são geradas e</p><p>também a variedades dos tipos de dados que, na maioria das vezes, não são estruturados. Isso é</p><p>o resultado do crescimento exponencial de dados na Internet, com cada vez mais aplicações em</p><p>escala mundial, aplicações de streaming multimídia, soluções de Internet das Coisas, entre</p><p>outras fontes que geram dados a uma taxa crescente. Por exemplo, o sistema de vendas da</p><p>maior empresa varejista dos EUA gera um volume de 2,5 PB (Petabyte) de dados por hora</p><p>(Oussous, 2018).</p><p>O ambiente de nuvem apresenta diversas vantagens para o desenvolvimento de soluções de Big</p><p>Data, entre as quais podemos destacar: elasticidade, redução de custos e agilidade na alocação</p><p>de recursos computacionais em larga escala (Costa, 2012). De fato, há argumentos de que</p><p>Computação em Nuvem e Big Data são paradigmas inseparáveis (Hashem et al., 2015). A razão</p><p>disso é que as infraestruturas de computação em nuvem representam o ambiente computacional</p><p>que atende aos requisitos para implementação de soluções de Big Data, que exigem o</p><p>processamento distribuído de grandes volumes de dados de forma e�ciente.</p><p>Essas soluções, em geral, envolvem três tarefas principais: armazenamento, análise e</p><p>visualização de dados. No Quadro 1, são descritos exemplos de serviços para análise de dados</p><p>oferecidos pelos principais provedores de nuvem pública.</p><p>Provedor Serviço Descrição</p><p>AWS Amazon EMR (AWS,</p><p>2019d)</p><p>O Amazon Elastic</p><p>MapReduce (ERM)</p><p>permite a criação</p><p>dinâmica de um</p><p>cluster com instâncias</p><p>de máquinas virtuais</p><p>para processamento</p><p>distribuído de dados</p><p>utilizando tecnologias</p><p>como Hadoop</p><p>(Apache, 2019), Hive</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>(Huai et al., 2014) e</p><p>Spark (Zaharia, 2016).</p><p>Amazon Kinesis (AWS,</p><p>2019g)</p><p>Solução para análise</p><p>em tempo real de</p><p>dados de streaming,</p><p>como dados de</p><p>telemetria da IoT, logs</p><p>de aplicativos e</p><p>streaming de vídeo.</p><p>Google Cloud</p><p>BigQuery (Google,</p><p>2019a)</p><p>Solução escalável no</p><p>modelo serverless</p><p>para aplicações de</p><p>inteligência de</p><p>negócios (BI –</p><p>Business Intelligence).</p><p>Cloud Data Fusion</p><p>(Google, 2019b)</p><p>Serviço para extração,</p><p>transformação e</p><p>integração de dados.</p><p>Microsoft Azure</p><p>HDInsight (Microsoft,</p><p>2019g)</p><p>Serviço de alta</p><p>disponibilidade e</p><p>escalabilidade para</p><p>processamento</p><p>distribuído de dados</p><p>utilizando frameworks</p><p>de código aberto,</p><p>como Spark, Kafha e</p><p>Hadoop.</p><p>Data Factory</p><p>(Microsoft, 2019f)</p><p>Serviço para extração,</p><p>transformação e</p><p>integração de dados.</p><p>Quadro 1 | Exemplos de serviços para análise de dados.</p><p>Esses serviços fornecem uma variedade de opções para empresas que desejam realizar análises</p><p>de Big Data na nuvem, permitindo processar grandes volumes de dados de maneira e�ciente e</p><p>extrair insights valiosos. A escolha do serviço dependerá dos requisitos especí�cos do projeto,</p><p>dos frameworks preferidos e das integrações com outros serviços em nuvem.</p><p>Siga em Frente...</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Serviços em nuvem para armazenamento em blocos e de</p><p>objetos</p><p>Existe uma grande variedade de serviços de armazenamento de dados em nuvem. Para escolher</p><p>o mais adequado, é importante avaliar como os dados devem ser estruturados, o volume de</p><p>dados a ser manipulado e os requisitos da aplicação. De acordo com Erl, Puttini e Mahmood</p><p>(2013), existem quatro tipos de serviços de armazenamento de dados em ambientes de</p><p>computação em nuvem:</p><p>Armazenamento em blocos:</p><p>Alocação de blocos em discos de armazenamento disponibilizados na infraestrutura do</p><p>provedor.</p><p>Permite ao cliente alocar blocos em unidades de armazenamento gerenciadas pelo</p><p>provedor.</p><p>As unidades podem ser acessadas remotamente por meio de uma rede de alto</p><p>desempenho dedicada para interconexão de equipa- mentos de armazenamento de dados.</p><p>Esse tipo de rede é denominado Redes de Armazenamento de Dados (SAN- Storage Area</p><p>Network) (Neto, 2007).</p><p>Armazenamento de arquivos:</p><p>Leitura e escrita em diretórios com sistema de arquivos gerenciado pelo provedor.</p><p>O cliente do provedor de nuvem pode manipular arquivos remotamente, utilizando</p><p>tecnologias para sistemas de arquivos distribuídos, como o Network File System (NFS)</p><p>(Tanenbaum, 2008) ou Server Message Block (SMB) (Gonçalves, 2018).</p><p>Armazenamento de objetos:</p><p>Repositório para itens de dados binários (como vídeos, imagens, etc.).</p><p>Solução para acesso a arquivos binários, como áudios ou fotos, por meio de um serviço</p><p>web gerenciado pelo provedor.</p><p>Armazenamento de bases de dados:</p><p>Sistemas de gerenciamento de banco de dados (SGBDs) mantidos pelo provedor. Há</p><p>suporte tanto para SBGBs relacionais, quanto não relacionais.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Figura 1 | Tipos de serviços de armazenamento em nuvem.</p><p>O armazenamento em blocos é o modelo com menor nível de abstração entre as alternativas</p><p>para persistência de dados em provedores de nuvem (Erl; Puttini; Mahmood, 2013). De fato, o</p><p>bloco é a unidade lógica mínima de armazenamento de dados oferecida por um sistema</p><p>operacional, em se tratando de gerenciamento de unidades de memória secundária. No ambiente</p><p>de nuvem, o provedor utiliza também técnicas de virtualização para criar unidades de</p><p>armazenamento virtuais em dispositivos físicos de armazenamento, da mesma maneira como as</p><p>máquinas virtuais podem ser criadas em servidores físicos. Os dispositivos de armazenamento</p><p>físicos utilizados pelos provedores incluem HDs (Hard Disks) tradicionais, do tipo disco</p><p>magnético, e também unidades do tipo SSD (solid-state drive). As unidades virtuais de</p><p>armazenamento em bloco oferecidas pelos provedores são criadas sobre esses recursos físicos</p><p>para servir como discos das máquinas virtuais ou contêineres.</p><p>Em geral, a principal �nalidade dos serviços de armazenamento em bloco na nuvem é servir</p><p>como discos para instâncias como máquinas virtuais (VM) ou contêineres, como ilustrado na</p><p>Figura 2. Essas instâncias precisam de capacidade de armazenamento de dados para executar</p><p>as aplicações. Então, quando a criação de uma instância é solicitada, o provedor cria</p><p>automaticamente uma unidade virtual de armazenamento em bloco, que é usada como disco</p><p>dessa instância, ou seja, a unidade de armazenamento em bloco é o disco da máquina virtual.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Figura 2 | Tipos de serviços de armazenamento em nuvem.</p><p>No entanto, as unidades de armazenamento em bloco também podem ser usadas em outras</p><p>soluções, por exemplo, para implantação de algum mecanismo automático de backup de dados</p><p>na nuvem. No Quadro 2, são apresentados alguns</p><p>serviços em nuvem de armazenamento em</p><p>bloco.</p><p>Provedor Serviço</p><p>AWS</p><p>Amazon Elastic Block Store</p><p>(Amazon EBS) (AWS,</p><p>2019b).</p><p>Google Cloud Persistent Disk (Google,</p><p>2019c).</p><p>Microsoft Azure Azure Disk Storage</p><p>(Microsoft, 2019b).</p><p>Quadro 2 | Exemplos de serviços de armazenamento em bloco.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>O segundo tipo de serviço é o armazenamento de arquivos em nuvem. Nesse caso, a unidade de</p><p>armazenamento são os próprios arquivos (Erl; Puttini; Mahmood, 2013). O acesso ao serviço de</p><p>armazenamento é feito por meio de alguma tecnologia de sistema de arquivos distribuídos,</p><p>como NFS ou SMB. Esse tipo de serviço é bastante utilizado para compartilhamento de arquivos</p><p>em rede, por exemplo, para manter o diretório home dos usuários de uma rede corporativa, com</p><p>as vantagens da escalabilidade e disponibilidade do armazenamento em nuvem. Assim, os</p><p>usuários podem acessar seus arquivos de qualquer dispositivo com acesso à Internet. Exemplos</p><p>de serviços em nuvem para armazenamento de arquivos são relacionados no Quadro 3.</p><p>Provedor Serviço</p><p>AWS</p><p>Amazon Elastic File</p><p>System (Amazon EFS)</p><p>(AWS, 2019c).</p><p>Google Cloud Cloud Filestore (Google,</p><p>2019d).</p><p>Microsoft Azure Azure Files (Microsoft,</p><p>2019b).</p><p>Quadro 3 | Exemplos de serviços de armazenamento arquivo.</p><p>O terceiro tipo de serviço de armazenamento em nuvem é o armazenamento de objetos. Nesse</p><p>caso, as unidades de armazenamento são objetos gerenciados como recursos web (Erl; Puttini;</p><p>Mahmood, 2013). Isso signi�ca que o acesso aos dados pode ser feito na forma de requisições</p><p>HTTP. Os provedores suportam armazenamento de objetos de vários tipos, como imagens,</p><p>arquivos executáveis, vídeos, entre outros. Além disso, os provedores oferecem uma API para</p><p>que as aplicações possam manipular os objetos por meio de requisições na web, em vez de usar</p><p>linguagens de consultas comuns em gerenciadores de bancos de dados.</p><p>Provedor Serviço</p><p>AWS</p><p>Amazon Simple Storage</p><p>Service (Amazon S3) (AWS,</p><p>2019h)</p><p>Google Cloud Google Cloud Storage</p><p>(Google, 2019i)</p><p>Microsoft Azure Azure Blob Storage</p><p>(Microsoft, 2019a)</p><p>Quadro 4 | Exemplos de serviços de armazenamento de objetos.</p><p>Por �m, o quarto tipo de serviço de armazenamento em nuvem é o armazenamento de bases de</p><p>dados. Esse modelo corresponde aos serviços de banco de dados em nuvem ou Banco de Dados</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>como Serviço (DBaaS - Database as a Service). São serviços que, em geral, suportam algum tipo</p><p>de linguagem de consulta, além de operações básicas de escrita ou leitura de dados (Erl; Puttini;</p><p>Mahmood, 2013). No Quadro 5, são apresentados exemplos de serviços de banco de dados em</p><p>nuvem para duas categorias de Sistema Gerenciador de Banco de Dados (SGBD): relacional e</p><p>não relacional. Como explica Souza et al. (2014), os bancos de dados relacionais são aqueles</p><p>que utilizam a álgebra relacional para suporte à consistência forme, armazenam dados de forma</p><p>estruturada e implementam alguma linguagem de consulta estruturada (SQL - Structured Query</p><p>Language).</p><p>Provedor Categoria Serv</p><p>iço</p><p>AWS</p><p>Relacional Amazon RDS</p><p>(AWS, 2019g)</p><p>Não relacional</p><p>Amazon</p><p>DynamoDB (AWS,</p><p>2019a)</p><p>Google Cloud</p><p>Relacional Cloud SQL</p><p>(Google, 2019e)</p><p>Não relacional Cloud Firestore</p><p>(Google, 2019d)</p><p>Microsoft Azure</p><p>Relacional</p><p>Azure SQL</p><p>Database</p><p>(Microsoft,</p><p>2019e)</p><p>Não relacional</p><p>Azure Cosmos</p><p>DB (Microsoft,</p><p>2019d)</p><p>MongoDB Não relacional MongoDB Atlas</p><p>(Mongodb, 2019)</p><p>Quadro 5 | Exemplos de serviços de banco de dados em nuvem.</p><p>O baixo desempenho dos bancos de dados relacionais para gerenciamento de grandes volumes</p><p>de dados motivou o desenvolvimento dos bancos de dados não relacionais, também</p><p>denominados “não apenas SQL” (NoSQL – not only SQL) (Souza et al., 2014). Os bancos não</p><p>relacionais apresentam desempenho e escalabilidade signi�cativamente superior para lidar com</p><p>grandes volumes de dados não estruturados, o que é muito importante, por exemplo, para</p><p>aplicações web em larga escala.</p><p>Vamos Exercitar?</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Serviços para Backup</p><p>Descrição da situação-problema</p><p>Considere que você é um analista de TI em uma empresa que atua no mercado de</p><p>telecomunicações. Para melhorar a con�abilidade dos serviços, essa empresa pretende</p><p>implantar um novo software de backup de dados. Para essa solução de backup, os requisitos</p><p>mais importantes são custo e escalabilidade, pois o volume de dados da empresa está</p><p>crescendo devido a uma expansão da sua área de atuação. Seu papel é determinar um modelo</p><p>de armazenamento para o software de backup dos dados da empresa.</p><p>Resolução da situação-problema:</p><p>Em geral, as soluções de backup exigem crescente capacidade de recursos computacionais. Isso</p><p>resulta em altos investimentos, principalmente em dispositivo de armazenamento de dados.</p><p>Como os principais requisitos são escalabilidade e redução de custos, uma alternativa atraente</p><p>seria utilizar serviços de armazenamento em nuvem. A razão é que a capacidade de</p><p>armazenamento pode ser contratada de forma incremental, de acordo com a demanda, além</p><p>disso, não seriam necessários investimentos para adquirir e manter a infraestrutura de unidades</p><p>de armazenamento.</p><p>Entre os tipos de serviços de armazenamento em nuvem, deve-se escolher algum caracterizado</p><p>por um alto nível de controle por parte do cliente. Isso é necessário porque o software de backup</p><p>precisa formatar as unidades lógicas de armazenamento. Essa caraterística é própria dos</p><p>serviços de armazenamento em blocos. A empresa pode, então, contratar algum serviço desse</p><p>tipo, por exemplo, o Amazon EBS, Google Persistent Disk ou Azure Disk Storage. O volume</p><p>contratado seria, então, disponibilizado como uma unidade lógica de armazenamento para o</p><p>software de backup, que poderia ser formatada e utilizada para armazenar os arquivos de backup</p><p>gerados pelo software. O volume poderia ter sua capacidade expandida, conforme necessário.</p><p>Nesse caso, é importante usar criptogra�a para garantir sigilo dos dados de backup enviados</p><p>para a unidade de armazenamento no provedor e também veri�car a qualidade da rede para que</p><p>o backup seja realizado de forma rápida. É importante, ainda, salientar que existem serviços</p><p>gerenciados de backup em nuvem, o que pode ser interessante para muitas empresas que</p><p>querem um serviço de mais alto nível de abstração, gerenciados pelo provedor. Exemplos desse</p><p>serviço são: AWS Backup e Azure Backup.</p><p>Saiba mais</p><p>Embora o backup na nuvem ofereça muitos benefícios, também apresenta desa�os especí�cos.</p><p>Para conhecer mais sobre esses desa�os, acesse o artigo 5 desa�os do backup na nuvem que</p><p>você precisa conhecer.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Referências</p><p>DE SOUZA, Alexandre Morais; PRADO, Edmir P. V.; SUN, Violeta; FANTINATO, Marcelo. Critérios</p><p>para Seleção de SGBD NoSQL: o Ponto de Vista de Especialistas com base na Literatura. In:</p><p>SIMPÓSIO BRASILEIRO DE SISTEMAS DE INFORMAÇÃO (SBSI), 10. , 2014, Londrina. Anais [...].</p><p>Porto Alegre: Sociedade Brasileira de Computação, 2014. p. 149-160.</p><p>DOI: https://doi.org/10.5753/sbsi.2014.6109.</p><p>OUSSOUS, A. et al. Big Data technologies: A survey. Revista da King Saud University - Ciências da</p><p>Computação e Informação. v. 30, 4. ed. Outubro de 2018 , p. 431-448. Disponível em:</p><p>http://www.sciencedirect.com/science/article/pii/S1319157817300034. Acesso em: 24 jan.</p><p>2024.</p><p>TANENBAUM, A. S.; STEEN, M. V. Sistemas Distribuídos: princípios e paradigmas. 2. ed. São</p><p>Paulo: Pearson Prentice Hall, 2008.</p><p>Aula 3</p><p>Solução em Nuvem</p><p>Solução em Nuvem</p><p>Este conteúdo é um vídeo!</p><p>Para assistir este conteúdo é necessário que você acesse o AVA pelo</p><p>computador ou pelo aplicativo. Você pode baixar os vídeos direto no aplicativo</p><p>para assistir mesmo sem conexão à internet.</p><p>Dica para você</p><p>Aproveite o acesso para baixar os slides do vídeo, isso pode deixar sua</p><p>aprendizagem ainda mais completa.</p><p>Olá, estudante! Nesta videoaula, vamos explorar o conceito de soluções em nuvem, abordando o</p><p>que são, como funcionam e os benefícios que oferecem. Vamos mergulhar nos principais</p><p>elementos que compõem uma solução em nuvem e discutir casos de uso práticos para</p><p>demonstrar como essas</p><p>soluções podem transformar a maneira como as organizações</p><p>gerenciam recursos e serviços.</p><p>Esse conteúdo é importante para a sua prática pro�ssional, pois a adoção de soluções em</p><p>nuvem é fundamental para pro�ssionais que buscam e�ciência operacional, inovação</p><p>tecnológica e adaptação às demandas dinâmicas do mercado. Essa abordagem permite que os</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>pro�ssionais alcancem melhores resultados e permaneçam competitivos em seus campos de</p><p>atuação.</p><p>Prepare-se para essa jornada de conhecimento! Vamos lá!!!</p><p>Ponto de Partida</p><p>Caro estudante, já estudamos vários tipos de serviços de computação em nuvem. Esta seção dá</p><p>continuidade ao nosso estudo sobre a solução em nuvem, que se refere a um conjunto de</p><p>serviços, recursos e aplicativos hospedados em ambientes de computação em nuvem. Essa</p><p>abordagem envolve o uso de servidores remotos, armazenamento, redes e outros serviços</p><p>baseados na internet para atender a necessidades especí�cas de uma organização ou usuário.</p><p>Vamos começar com uma descrição sobre a grande variedade de serviços quem podem ser</p><p>utilizados para enriquecer e so�sticar as funcionalidades, assim como as soluções em nuvem</p><p>para tornar o processo de desenvolvimento de software mais produtivo. Em seguida, vamos</p><p>abordar aplicações multimídia e, por �m, serviços relacionados à Internet das Coisas (IoT –</p><p>Internet of Things).</p><p>Bons estudos!</p><p>Vamos Começar!</p><p>Soluções em nuvem para desenvolvimento de software</p><p>Há várias soluções em nuvem projetadas para facilitar o desenvolvimento de software,</p><p>proporcionando uma infraestrutura escalável, ferramentas de colaboração e ambientes</p><p>integrados.</p><p>Os provedores oferecem soluções para diversas etapas do processo de desenvolvimento, desde</p><p>a codi�cação até a implantação e o teste de aplicações em ambientes de produção nos</p><p>provedores de computação em nuvem. Essas soluções permitem automatizar todo o ciclo de</p><p>criação, teste e implantação de aplicações em uma infraestrutura gerenciada pelo provedor.</p><p>O Quadro 1 relaciona exemplos de serviços voltados para equipes de desenvolvimento de</p><p>software. A AWS oferece serviços como o AWS X-Ray e o CodePipeline. O AWS X-Ray serve para</p><p>avaliar o desempenho de aplicações, tanto na fase de testes (para aplicações em</p><p>desenvolvimento) como na fase de manutenção (para aplicações que já foram implantadas em</p><p>ambiente de produção). Essa solução permite o diagnóstico de problemas de desempenho nos</p><p>componentes de aplicações distribuídas. O CodePipeline é um serviço para automatizar o</p><p>lançamento de novas versões de uma aplicação; nesse caso, uma vez que o código é alterado e</p><p>testado, o processo de implantação da nova versão no ambiente de nuvem passa a ser</p><p>automático. Entre os serviços oferecidos pelo Google Cloud, podemos citar a ferramenta para</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>gerenciamento de código-fonte denominada Cloud Source Repositories, que permite automatizar</p><p>a alocação de recursos para implantação de aplicações. O provedor Microsoft Azure oferece um</p><p>conjunto de serviços de gestão de projetos de software agrupados em uma plataforma</p><p>denominada Azure Devops. Entre esses serviços, podemos citar o Azure Boards, para</p><p>gerenciamento de tarefas seguindo o paradigma de metodologias ágeis (Balle, 2011), e o Azure</p><p>Test Plans, que permite a con�guração e a execução de testes de software de forma</p><p>automatizada.</p><p>Serviço Descrição Caso de Uso</p><p>AWS X-Ray (AWS,</p><p>2019g)</p><p>Ferramenta para</p><p>identi�car e solucionar</p><p>problemas de</p><p>desempenho em</p><p>aplicações</p><p>distribuídas.</p><p>Identi�cação</p><p>automática das partes</p><p>de uma aplicação web</p><p>que apresentam</p><p>problemas de</p><p>desempenho (alta</p><p>latência por exemplo),</p><p>assim como a causa</p><p>dos problemas.</p><p>AWS CodePipeline</p><p>(AWS, 2019b).</p><p>Solução para</p><p>integração contínua e</p><p>entrega contínua a �m</p><p>de automatizar o</p><p>gerenciamento das</p><p>atualizações de</p><p>aplicações.</p><p>Especi�cação de</p><p>eventos para fazer a</p><p>implantação</p><p>(deployment)</p><p>automático de uma</p><p>aplicação quando o</p><p>código-fonte é</p><p>alterado.</p><p>Cloud Source</p><p>Repositories (Google,</p><p>2019b)</p><p>Repositório para</p><p>gerenciamento de</p><p>código fonte com</p><p>suporte a controle de</p><p>versões e busca.</p><p>Controle de diversas</p><p>versões do código</p><p>fonte de uma</p><p>aplicação por uma</p><p>equipe de</p><p>desenvolvimento.</p><p>Azure Test Plans</p><p>(Microsoft, 2019b)</p><p>Ferramenta para</p><p>automação de testes</p><p>de software.</p><p>Gerar grá�cos de</p><p>resultados de testes</p><p>em uma aplicação</p><p>web (por exemplo,</p><p>número de testes</p><p>bem-sucedidos e fa</p><p>lhas), assim como</p><p>veri�car a</p><p>compatibilidade com</p><p>diferentes</p><p>navegadores web.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Azure Boards</p><p>(Microsoft, 2019a)</p><p>Ferramenta para</p><p>gerenciamento de</p><p>projetos utilizando</p><p>metodologias ágeis.</p><p>Criar painéis de bordo</p><p>(dashboards) para</p><p>acompanhamento das</p><p>atividades de um</p><p>projeto de</p><p>desenvolvimento de</p><p>software.</p><p>Quadro 1 | Exemplos de serviços para desenvolvimento de software.</p><p>Essas são apenas algumas das soluções em nuvem disponíveis para desenvolvimento de</p><p>software. A escolha depende das necessidades especí�cas do projeto, preferências da equipe de</p><p>desenvolvimento e requisitos de escalabilidade e colaboração.</p><p>Serviços para aplicações multimídia em nuvem</p><p>Para aplicações multimídia em nuvem, que envolvem processamento, armazenamento e entrega</p><p>de conteúdo de mídia, existem diversos serviços e ferramentas disponíveis. Esses serviços</p><p>podem ser úteis para lidar com vídeos, áudio, imagens e outros tipos de conteúdo multimídia.</p><p>Vamos estudar exemplos voltados para aplicações que incluem conteúdo multimídia. Esses</p><p>serviços são muito importantes para facilitar o desenvolvimento de aplicações de streaming de</p><p>vídeo, por exemplo. Vejamos alguns deles:</p><p>Provedor AWS: oferece vários serviços de mídia.</p><p>Elemental MediaConvert: é importante como recurso para promover a portabilidade das</p><p>soluções, pois permite gerar mídias em diferentes formatos.</p><p>AWS Elemental MediaConnect: é uma plataforma escalável e �exível para transmissão de</p><p>vídeo ao vivo.</p><p>O Microsoft Azure também disponibiliza serviços para aplicações multimídia. O serviço Content</p><p>Protection inclui mecanismos para garantir que somente dispositivos autorizados possam</p><p>reproduzir �uxos (streaming) de mídia distribuídos por uma aplicação. Para streaming de vídeo</p><p>ao vivo ou sob demanda, o Azure oferece o serviço Live and On-Demand Streaming.</p><p>Serviço Descrição Caso de Uso</p><p>AWS Elemental</p><p>MediaConvert (AWS,</p><p>2019d)</p><p>Mecanismos para</p><p>converter um vídeo de</p><p>entrada em diferentes</p><p>formatos de saída a</p><p>�m de oferecer</p><p>suporte para várias</p><p>plataformas e</p><p>dispositivos.</p><p>Um caso de uso para</p><p>esses serviços são as</p><p>aplicações de</p><p>streaming de áudio,</p><p>como o Spotify, que</p><p>precisam gerar</p><p>arquivos de áudio em</p><p>vários formatos e</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>qualidades para</p><p>atender a diferentes</p><p>dispositivos dos</p><p>usuários.</p><p>AWS Elemental</p><p>MediaConnect (AWS,</p><p>2019c)</p><p>Solução para</p><p>transmissão de vídeo</p><p>ao vivo escalável,</p><p>con�ável e segura.</p><p>Aplicação de</p><p>transmissão ao vivo</p><p>de eventos esportivos.</p><p>Live and on-demand</p><p>streaming (Microsoft,</p><p>2019f)</p><p>Serviço com recursos</p><p>para codi�cação e</p><p>distribuição escalável</p><p>de vídeo (ao vivo ou</p><p>sob demanda).</p><p>Transmissão ao vivo</p><p>de eventos na forma</p><p>de webcasts.</p><p>Quadro 2 | Exemplos de serviços para aplicações multimídia.</p><p>Esses serviços são apenas alguns exemplos e podem ser combinados para criar soluções</p><p>personalizadas para diferentes casos de uso em aplicações multimídia em nuvem. A escolha dos</p><p>serviços dependerá dos requisitos especí�cos da aplicação e das preferências tecnológicas.</p><p>Siga em Frente...</p><p>Serviços para aplicações de IoT na nuvem</p><p>A Internet das Coisas pode ser entendida como um cenário no qual qualquer objeto com</p><p>capacidade computacional e de comunicação pode se conectar à Internet (Santos et al., 2016),</p><p>que possibilitou o surgimento de novas aplicações que envolvem a comunicação com ou entre</p><p>esses objetos inteligentes. Podemos mencionar, inclusive, novos importantes conceitos</p><p>decorrentes dos avanços em IoT, como Cidades Inteligentes (Kon; Santana, 2016) e a Indústria</p><p>4.0 (Azevedo, 2017). O conceito de Cidades Inteligentes consiste no uso de tecnologias da</p><p>informação e comunicação para tornar mais e�ciente a gestão dos centros urbanos,</p><p>por</p><p>exemplo, com soluções para mobilidade e controle de iluminação pública. De forma análoga, o</p><p>paradigma da Indústria 4.0 envolve o uso de tecnologias para inovação nos processos</p><p>industriais, por exemplo, em soluções de monitoramento e manutenção preventiva de</p><p>equipamentos em fábricas ou soluções de logística e rastreamento de produtos.</p><p>Existem diversos serviços em nuvem para a implementação de aplicações de IoT. Para entender</p><p>a sua utilidade, precisamos conhecer a arquitetura geral de aplicações IoT que utilizam recursos</p><p>na nuvem, como ilustra a Figura 1. Os dispositivos IoT são equipados com sensores,</p><p>processadores e interfaces de comunicação sem �o. Um gateway é utilizado para gerenciar um</p><p>canal seguro de comunicação entre os dispositivos e os serviços em nuvem. Os dados coletados</p><p>podem ser utilizados de várias formas, inclusive por meio de integração com outras aplicações.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Os provedores em nuvem oferecem, por exemplo, serviços para coleta, análise e visualização de</p><p>dados dos dispositivos conectados.</p><p>Figura 1 | Visão geral da arquitetura de uma aplicação IoT.</p><p>O Quadro 3 descreve alguns serviços em nuvem para suporte a aplicações de IoT. Por exemplo, o</p><p>serviço AWS IoT SiteWise é voltado para o suporte a soluções para Indústria 4.0, a �m de</p><p>aprimorar a e�ciência de equipamentos e processos. Um caso de uso típico é a coleta de dados</p><p>de máquinas e robôs em linhas de produção e montagem, enviando-os para análise na nuvem.</p><p>Relatórios com diagnóstico e indicadores de desempenho podem ser gerados para previsão de</p><p>falhas nos equipamentos e identi�cação de oportunidades de otimização dos processos. Outro</p><p>caso é uma empresa de distribuição de energia elétrica que poderia usar esse serviço para</p><p>construir uma aplicação de monitoramento remoto dos equipamentos da rede. Para aplicações</p><p>de IoT que usam dados de localização, uma opção de serviço é o Azure Maps, que pode ser</p><p>usado na área de mobilidade urbana e sistemas de rastreamento de objetos ou veículos. O</p><p>serviço Google IoT Core pode ser utilizado como um IoT Gateway para gerenciamento dos</p><p>dispositivos e coleta de dados.</p><p>Serviço Descrição</p><p>AWS IoT SiteWise (AWS, 2019f)</p><p>Serviço para análise de dados e</p><p>monitoramento de instalações</p><p>industriais.</p><p>AWS IoT Device Defender (AWS,</p><p>2019e)</p><p>Solução para con�guração de</p><p>mecanismos de segurança na</p><p>comunicação de dispositivos de</p><p>IoT entre si e com a nuvem. Pode</p><p>ser utilizado para implementação</p><p>de estratégias de autenticação de</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>dispositivos e criptogra�a de</p><p>dados em uma aplicação de IoT.</p><p>Cloud IoT Core (Google, 2019)</p><p>Plataforma para coleta, análise e</p><p>visualização de dados de</p><p>dispositivos IoT em tempo real.</p><p>Azure Maps (Microsoft, 2019c)</p><p>Mecanismos para manipulação de</p><p>dados geoespaciais para suporte</p><p>à inteligência baseada em</p><p>localização.</p><p>Azure Time Series Insights</p><p>(Microsoft, 2019b)</p><p>Análise de dados de séries</p><p>temporais coletados por</p><p>aplicações IoT em larga escala.</p><p>Esses recursos são importantes,</p><p>por exemplo, para aplicações de</p><p>sensoriamento remoto ou</p><p>aplicações que trabalham com</p><p>previsões e identi�cação de</p><p>tendências em grandes volumes</p><p>de dados.</p><p>Quadro 3 | Exemplos de serviços para aplicações de IoT.</p><p>Esses exemplos mostram como serviços em nuvem podem ser utilizados no suporte a</p><p>aplicações de IoT. Diversos estudos mostram como a IoT e a computação em nuvem são</p><p>complementares e como a integração desses conceitos viabilizou o surgimento de aplicações</p><p>inovadoras (Botta et al., 2016). No Quadro 4, alguns aspectos da computação em nuvem e da IoT</p><p>são comparados, para mostrar como elas se relacionam de forma complementar. Enquanto a</p><p>computação em nuvem centraliza uma capacidade computacional virtualmente ilimitada, a IoT</p><p>viabiliza capilaridade na coleta de dados e controle de dispositivos na borda da rede.</p><p>Computação</p><p>em Nuvem IoT</p><p>Arquitetura Centralizada Distribuída</p><p>Alcance Limitado Ubíquo</p><p>(pervasivo)</p><p>Componentes Recursos</p><p>virtualizados</p><p>Objetos do</p><p>mundo real</p><p>Quadro 4 | Relação entre IoT e computação em nuvem. Fonte: adaptado de Botta (2016).</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>A IoT está desempenhando um papel crescente na transformação digital, oferecendo</p><p>oportunidades e�cientes, criar novos modelos de negócios e proporcionar benefícios</p><p>signi�cativos para as organizações.</p><p>Vamos Exercitar?</p><p>Manutenção preventiva de equipamentos</p><p>Descrição da situação-problema</p><p>Observamos nos últimos anos uma revolução na Indústria. Com capacidade computacional</p><p>embarcada nos mais diversos dispositivos, máquinas e veículos, viabilizaram-se processos</p><p>avançados de manufatura e logística de produção. Os equipamentos das plantas industriais têm</p><p>recursos para processamento e transmissão de dados, de forma que podem interagir entre si e</p><p>com sistemas em nuvem para tornar os processos produtivos mais e�cientes e con�áveis.</p><p>Considere uma fábrica que opera com equipamentos muito especializados, cuja compra só pode</p><p>ser feita por encomenda. Assim, se um equipamento for dani�cado, sua substituição pode</p><p>demorar muito, o que acarreta signi�cativo prejuízo �nanceiro. Por isso, essa fábrica pretende</p><p>implementar uma solução com sensores e transmissores nos equipamentos, a �m de coletar</p><p>dados para um sistema responsável por monitorar a planta da fábrica, prever falhas e planejar a</p><p>manutenção e a reposição dos equipamentos a �m de diminuir a probabilidade de um</p><p>equipamento �car inutilizado por defeito. Avalie quais serviços em nuvem poderiam ser usados</p><p>na implementação de tal solução para manutenção preventiva dos equipamentos.</p><p>Resolução da situação-problema:</p><p>Os provedores de nuvem pública oferecem várias soluções gerenciadas para aplicações de IoT,</p><p>como é o caso de soluções para gerenciamento de instalações industriais. Nesse caso, podemos</p><p>identi�car duas tarefas principais: o gerenciamento da coleta de dados dos sensores e a análise</p><p>desses dados para diagnóstico e tomada de decisão sobre manutenção dos equipamentos.</p><p>Uma primeira estratégia seria escolher um serviço para auxiliar cada uma das tarefas. Podemos</p><p>utilizar um serviço básico de coleta e armazenamento de dados para aplicações de IoT, como o</p><p>Cloud IoT Core, e utilizar um serviço de Aprendizado de Máquina, como o Azure Machine</p><p>Learning para a tarefa de análise de dados.</p><p>Uma segunda estratégia poderia ser um serviço para aplicações IoT que já contempla as duas</p><p>funcionalidades, como é o caso do AWS IoT SiteWise ou do Azure Time Series Insights. Ambos</p><p>os serviços já incluem mecanismos para gerar estimativas e fazer previsões em função dos</p><p>dados coletados ao longo do tempo, assim como ferramentas para visualização dos dados que</p><p>favorecem o gerenciamento e�ciente dos recursos. A Figura 2 ilustra como seria o processo</p><p>utilizando o serviço AWS IoT SiteWise.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Figura 2 | Exemplo de serviços para aplicação de streaming de áudio. Fonte: adaptada de AWS (2019a).</p><p>Saiba mais</p><p>Cada aplicação em nuvem é um sistema complexo que envolve vários componentes. O projeto</p><p>de uma aplicação pode incluir diversos serviços, até mesmo aqueles oferecidos por provedores</p><p>diferentes. Em particular, as aplicações de streaming de áudio e vídeo envolvem requisitos</p><p>severos de desempenho, por exemplo, baixo atraso médio e altas taxas de transmissão de</p><p>dados, para desenvolver aplicações desse tipo, podem ser combinados serviços de mídia e</p><p>serviços de rede. Por exemplo, os serviços CDN podem ser utilizados para replicar o conteúdo</p><p>multimídia em vários servidores dispersos em escala mundial para otimizar o desempenho.</p><p>Assim, um usuário de um aplicativo de streaming de áudio, por exemplo, vai obter o conteúdo do</p><p>servidor mais próximo da sua rede de acesso, o que melhora o desempenho da aplicação.</p><p>Referências</p><p>BALLE, A. R. Análise de metodologias ágeis: conceitos, aplicações e relatos sobre XP e Scrum.</p><p>2011. Trabalho de Conclusão de Curso (Bacharelado) – Universidade Federal do Rio Grande do</p><p>Sul, Porto Alegre, 2011.</p><p>KON, F.; SANTANA, E. F. Z. Cidades Inteligentes: tecnologias, aplicações, iniciativas e desa�os.</p><p>Disponível</p><p>em: https://sol.sbc.org.br/livros/index.php/sbc/catalog/view/6/6/17-1. Acesso em: 26</p><p>jan. 2024.</p><p>MORAES, A.; HAYASHI, V. T. Segurança em IoT. Rio de Janeiro: Alta Books, 2021.</p><p>Aula 4</p><p>Gerenciamento de Dados em Nuvem</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Gerenciamento de Dados em Nuvem</p><p>Este conteúdo é um vídeo!</p><p>Para assistir este conteúdo é necessário que você acesse o AVA pelo</p><p>computador ou pelo aplicativo. Você pode baixar os vídeos direto no aplicativo</p><p>para assistir mesmo sem conexão à internet.</p><p>Dica para você</p><p>Aproveite o acesso para baixar os slides do vídeo, isso pode deixar sua</p><p>aprendizagem ainda mais completa.</p><p>Olá, estudante! Esta videoaula oferecerá uma visão abrangente do gerenciamento de dados em</p><p>nuvem, capacitando você a compreender e implementar práticas e�cazes para lidar com os</p><p>desa�os da gestão de dados em ambientes de nuvem.</p><p>Esse conteúdo é importante para a sua prática pro�ssional, pois o gerenciamento de dados em</p><p>nuvem é essencial para pro�ssionais que buscam manter a competitividade, promover a</p><p>e�ciência operacional e utilizar dados como um ativo estratégico em suas organizações. Essa</p><p>abordagem permite lidar com os desa�os da era digital de maneira mais e�caz e inovadora.</p><p>Prepare-se para essa jornada de conhecimento! Vamos lá!!!</p><p>Ponto de Partida</p><p>Caro estudante, o gerenciamento de dados em nuvem é a prática de armazenar, organizar,</p><p>processar e acessar dados na nuvem, em oposição a ambientes locais ou em servidores físicos.</p><p>A computação em nuvem permite que os dados sejam armazenados em servidores remotos,</p><p>geralmente mantidos por provedores de serviços em nuvem, e acessados pela Internet.</p><p>Ao adotar o Gerenciamento de Dados em Nuvem, as organizações podem aproveitar os</p><p>benefícios da �exibilidade, e�ciência e acessibilidade oferecidos pela computação em nuvem</p><p>para otimizar o gerenciamento e o uso de seus dados.</p><p>Nesta seção, vamos aprender sobre armazenamento em nuvem, banco de dados em nuvem e Big</p><p>Data.</p><p>A combinação de Big Data e análise de dados na nuvem permite que as organizações processem</p><p>e analisem grandes volumes de dados de maneira e�ciente, obtendo insights valiosos que</p><p>podem ser utilizados para tomada de decisões estratégicas, identi�cação de padrões e</p><p>tendências e otimização de processos.</p><p>Bons estudos!</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Vamos Começar!</p><p>Armazenamento em nuvem</p><p>No caso do item ligado ao armazenamento, a computação em nuvem nos desa�a a distinguir as</p><p>expressões “nuvem de armazenamento” e “armazenamento para a nuvem”, respectivamente, que</p><p>está relacionado à utilização que se dá à capacidade de armazenamento. Essa variação</p><p>assemelha-se à diferença existente na TI tradicional entre dados do sistema (arquivos,</p><p>bibliotecas, utilitários, etc.) e dados de aplicativos e arquivos de usuários, e tem re�exos na</p><p>alocação de armazenamento em implementações de servidores virtuais.</p><p>A capacidade de armazenamento é direcionada a dados do cliente, compreendendo, portanto,</p><p>uma visão natural da nuvem, um local em que dados de terceiros são guardados e mantidos por</p><p>um provedor de serviços. Aqui, são requeridas as funcionalidades de interatividade com os</p><p>serviços por meio de uma interface, relatórios de uso do armazenamento e facilidade para alterar</p><p>uma ou outra característica do armazenamento, incluindo, por exemplo, o tamanho do disco,</p><p>funcionalidade que guarda uma estreita relação com a primeira. Assim, uma nuvem de</p><p>armazenamento é um ambiente em que não se consideram tipos de armazenamentos voltados à</p><p>con�guração do serviço ou ao funcionamento de uma máquina virtual. Nela, o armazenamento</p><p>pode ser categorizado como descrito a seguir.</p><p>Armazenamento hospedado: principal categoria de armazenamento, para a qual os</p><p>principais recursos da infraestrutura são direcionados, o que confere a ela maior</p><p>desempenho e disponibilidade. A�nal, é nessa estrutura de armazenamento que os dados</p><p>de uso do cliente �cam mantidos.</p><p>Armazenamento de referência: parte do ambiente de armazenamento em que são</p><p>guardados, via de regra, arquivos de log e outros tipos de arquivos que, uma vez gravados,</p><p>servirão como referência para alguma consulta ou con�guração adicional.</p><p>Os tipos de armazenamento provisionado para um serviço em nuvem podem ser</p><p>classi�cados como descrito a seguir.</p><p>Armazenamento transitório: como o próprio nome sugere, esse armazenamento é</p><p>necessário apenas enquanto uma máquina virtual está em execução, sendo liberado</p><p>quando da interrupção do funcionamento da máquina virtual. Exemplos dessa categoria de</p><p>armazenamento incluem volumes de inicialização e arquivos temporários.</p><p>Armazenamento persistente: de caráter permanente, os dados mantidos nesse tipo de</p><p>armazenamento são necessários nas reinicializações da máquina virtual e mantidos</p><p>mesmo quando ela é interrompida. Nesse tipo, incluem-se, por exemplo, arquivos de</p><p>personalização de ambiente e dados de usuário.</p><p>O armazenamento em nuvem é amplamente utilizado tanto por usuários individuais quanto por</p><p>organizações, proporcionando uma maneira e�ciente e �exível de gerenciar dados e garantir a</p><p>acessibilidade aos arquivos de qualquer lugar.</p><p>Bancos de dados em nuvem</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Bancos de dados em nuvem referem-se a sistemas de gerenciamento de banco de dados</p><p>(DBMS) que são hospedados e operados em ambientes de nuvem. Esses serviços oferecem</p><p>funcionalidades tradicionais de banco de dados, como armazenamento, recuperação, consulta e</p><p>gerenciamento de dados, mas com a vantagem de serem acessíveis pela internet.</p><p>Veja os conceitos e características relacionados a bancos de dados em nuvem:</p><p>Características dos Bancos de Dados em Nuvem:</p><p>Escalabilidade elástica: os bancos de dados em nuvem oferecem escalabilidade elástica,</p><p>permitindo que os recursos sejam dimensionados conforme a demanda, facilitando lidar</p><p>com grandes volumes de dados.</p><p>Gerenciamento de recursos automático: muitos serviços de banco de dados em nuvem</p><p>proporcionam recursos de gerenciamento automático, como ajuste dinâmico de recursos,</p><p>backup automático e atualizações de software.</p><p>Acessibilidade remota: os bancos de dados em nuvem podem ser acessados remotamente</p><p>de qualquer lugar com conexão à internet, proporcionando �exibilidade na gestão e acesso</p><p>aos dados.</p><p>Modelo de pagamento por uso: muitos serviços de banco de dados na nuvem operam em</p><p>um modelo de pagamento conforme o uso, permitindo que os usuários paguem apenas</p><p>pelos recursos que consomem.</p><p>Alta disponibilidade e tolerância a falhas: os serviços de nuvem são projetados para</p><p>oferecer alta disponibilidade e são frequentemente distribuídos globalmente para garantir</p><p>tolerância a falhas.</p><p>Tipos de bancos de dados em nuvem:</p><p>Bancos de dados relacionais: suportam o modelo relacional e são adequados para</p><p>aplicações que requerem integridade referencial. Exemplos: Amazon RDS, Azure SQL</p><p>Database, Google Cloud SQL.</p><p>Bancos de dados NoSQL: projetados para lidar com grandes volumes de dados e diferentes</p><p>modelos de dados, como documentos, chave-valor e grafos. Exemplos: Amazon</p><p>DynamoDB, Azure Cosmos DB, Google Cloud Firestore.</p><p>Bancos de dados de grafos: especializados em armazenar e consultar dados em formato</p><p>de grafo, sendo úteis para relacionamentos complexos. Exemplos: Amazon Neptune, Azure</p><p>Cosmos DB (com suporte a Gremlin), Google Cloud Firestore.</p><p>Bancos de dados de séries temporais: otimizados para armazenar e analisar dados</p><p>temporais, como registros de sensores. Exemplos: Amazon Timestream, Azure Time Series</p><p>Insights, Google Cloud Bigtable.</p><p>A escolha de um banco de dados em nuvem dependerá dos requisitos especí�cos do aplicativo,</p><p>como modelo de dados, escalabilidade, desempenho e preferências tecnológicas.</p><p>Siga em Frente...</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Big Data e análise de dados na nuvem</p><p>Big Data e análise de dados na nuvem são duas áreas inter-relacionadas que aproveitam a</p><p>escalabilidade, �exibilidade e poder computacional dos ambientes de nuvem para lidar com</p><p>grandes volumes de dados e realizar análises avançadas.</p><p>As técnicas de big data tornaram-se um grande diferencial competitivo para as empresas,</p><p>mas</p><p>não têm aplicação somente nessa área. Um exemplo de uso do big data foi a eleição presidencial</p><p>dos Estados Unidos, em 2016, em que foram utilizados os termos mais pesquisados para que se</p><p>conseguisse atingir o maior número de delegados para alguns presidenciáveis. Mas o que, de</p><p>fato, vem a ser o big data? Segundo Morais et al. (2018), o termo big data refere-se a uma base</p><p>de dados com uma quantidade enorme de dados, que pode estar alocada em múltiplos</p><p>servidores, e não necessariamente esses dados precisam estar estruturados (como ocorre nos</p><p>bancos de dados do tipo relacional).</p><p>Tipos de dados em um sistema de gerenciamento de banco de</p><p>dados</p><p>Os dados dentro do sistema de gerenciamento de banco de dados (SGBD) podem estar</p><p>organizados de três formas: estruturados, não estruturados ou semiestruturados, conforme</p><p>descrito a seguir.</p><p>Dados estruturados: são aqueles com tamanhos de�nidos em seu desenvolvimento. Em</p><p>grande parte, correspondem a números, datas e palavras. Geralmente são utilizados em</p><p>bancos de dados do tipo relacional, em que a estrutura precisa estar de�nida por tipos e</p><p>tamanhos, o que de�ne o relacionamento por meio das chaves.</p><p>Dados não estruturados: são dados que não possuem formatos e cujo tamanho pode</p><p>variar. São bastante utilizados, principalmente aqueles relacionados a imagens. Os dados</p><p>não estruturados são encontrados em fotogra�as, vídeos, imagens de satélites, dados</p><p>cientí�cos e mídias sociais, entre outros.</p><p>Dados semiestruturados: são considerados por especialistas da área como um meio termo</p><p>entre os dados estruturados e os dados não estruturados. O seu uso está ligado a</p><p>aplicações web, em que os dados são convertidos em tags (etiquetas — termo utilizado na</p><p>linguagem de marcação utilizada por navegadores).</p><p>Vantagens da utilização da nuvem para big data e análise de dados:</p><p>Elasticidade e escalabilidade: os recursos na nuvem podem ser escalados sob demanda,</p><p>permitindo lidar com grandes volumes de dados de maneira e�ciente.</p><p>Facilidade de integração: diversos serviços na nuvem oferecem integração fácil entre</p><p>armazenamento, processamento e ferramentas de análise.</p><p>Pagamento por uso: muitos serviços de nuvem operam em um modelo de pagamento</p><p>conforme o uso, oferecendo custos mais �exíveis.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Segurança e conformidade: os provedores de nuvem implementam medidas rigorosas de</p><p>segurança e conformidade para proteger dados sensíveis.</p><p>Agilidade e velocidade: a nuvem permite a rápida implementação de soluções e acelera o</p><p>tempo de análise.</p><p>A combinação de Big Data e análise de dados na nuvem capacita as organizações a extrair</p><p>insights valiosos de grandes conjuntos de dados, proporcionando uma vantagem competitiva e</p><p>suportando decisões informadas. A �exibilidade e a capacidade de dimensionar recursos</p><p>conforme necessário são elementos cruciais nesse cenário.</p><p>Vamos Exercitar?</p><p>Gerenciamento em grandes volumes de dados</p><p>Descrição da situação-problema</p><p>Uma empresa de comércio eletrônico está enfrentando desa�os em gerenciar e analisar grandes</p><p>volumes de dados de transações, comportamento do cliente e interações online. A quantidade de</p><p>dados cresceu signi�cativamente à medida que a empresa expandiu seus negócios, resultando</p><p>em gargalos no processamento, di�culdades na análise e�ciente e lentidão na obtenção de</p><p>novos processos. Além disso, a equipe de TI enfrenta desa�os para manter a infraestrutura</p><p>tradicional, que não consegue lidar com a escala e a complexidade dos dados.</p><p>Resolução da situação-problema:</p><p>A empresa decide migrar para uma solução de Big Data na nuvem para enfrentar esses desa�os</p><p>e aproveitar os benefícios da escalabilidade, �exibilidade e poder de processamento oferecidos</p><p>pelos serviços de nuvem. Vejamos os passos para a resolução do problema:</p><p>Escolha da plataforma de big data na nuvem: avaliação de provedores de nuvem, como</p><p>AWS, Azure e Google Cloud, para determinar a melhor plataforma de Big Data com base nas</p><p>necessidades especí�cas da empresa.</p><p>Migração de dados: migração dos grandes volumes de dados existentes para a nuvem,</p><p>utilizando ferramentas e serviços especí�cos para transferência e�ciente.</p><p>Implementação de armazenamento escalável: utilização de serviços de armazenamento na</p><p>nuvem, como Amazon S3, Azure Data Lake Storage ou Google Cloud Storage.</p><p>Processamento distribuído: implementação de frameworks de processamento distribuído,</p><p>como Apache Spark ou Apache Flink, para realizar análises complexas em grandes</p><p>conjuntos de dados.</p><p>Utilização de ferramentas de análise na nuvem: adoção de serviços de análise de dados na</p><p>nuvem, como Amazon Redshift, Azure Synapse Analytics ou Google BigQuery, para executar</p><p>consultas SQL complexas e gerar insights em tempo real.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Ao migrar para uma solução de Big Data na nuvem, a empresa supera os desa�os de escala,</p><p>acelera a análise de dados, reduz custos operacionais e está mais bem posicionada para tomar</p><p>decisões estratégicas com base em insights obtidos a partir de seus grandes volumes de dados.</p><p>Saiba mais</p><p>O uso de Big Data tem revolucionado a gestão de muitas empresas. Isso acontece porque ela</p><p>oferece uma maior visibilidade de informações, impactando diretamente na qualidade da análise</p><p>dos dados e em uma maior assertividade para a tomada de decisões. Para saber mais sobre</p><p>esse assunto, acesse o artigo Big Data.</p><p>Referências</p><p>CARVALHO, A. C. P. L. F.; LORENA, A. C. Introdução à computação. São Paulo: GEN, 2017.</p><p>MEIRELES A.; OLIVEIRA, H. S.; PICHETTI, R. F. Cloud Computing. Revisão técnica de Adriano José</p><p>Vogel. Porto Alegre: SAGAH, 2020.</p><p>MONTEIRO, E. R. et al. Sistemas distribuídos, internet das coisas. Porto Alegre: SAGAH, 2020.</p><p>Aula 5</p><p>Encerramento da Unidade</p><p>Videoaula de Encerramento</p><p>Este conteúdo é um vídeo!</p><p>Para assistir este conteúdo é necessário que você acesse o AVA pelo</p><p>computador ou pelo aplicativo. Você pode baixar os vídeos direto no aplicativo</p><p>para assistir mesmo sem conexão à internet.</p><p>Dica para você</p><p>Aproveite o acesso para baixar os slides do vídeo, isso pode deixar sua</p><p>aprendizagem ainda mais completa.</p><p>Olá, estudante! Nesta videoaula, exploraremos os vários tipos de serviços oferecidos por</p><p>plataformas/provedores de computação em nuvem.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>A computação em nuvem refere-se à entrega de serviços de computação, como armazenamento,</p><p>processamento, servidores e software, pela internet. Em vez de depender de servidores locais ou</p><p>dispositivos pessoais para processar e armazenar dados, os usuários podem acessar e utilizar</p><p>recursos computacionais remotos, geralmente mantidos por provedores de serviços em nuvem.</p><p>A computação em nuvem transformou a forma como as empresas e indivíduos utilizam recursos</p><p>computacionais, proporcionando benefícios signi�cativos em termos de e�ciência, �exibilidade e</p><p>inovação.</p><p>As ofertas de serviço em nuvem são importantes para a sua prática pro�ssional, pois</p><p>proporcionam uma série de benefícios e recursos que impactam positivamente diversas áreas do</p><p>seu trabalho.</p><p>Também capacitam pro�ssionais a serem mais e�cientes, inovadores e adaptáveis em suas</p><p>práticas pro�ssionais. Essa tecnologia é fundamental para a evolução e competitividade em</p><p>diversos setores.</p><p>Prepare-se para essa jornada de conhecimento! Vamos lá!!!</p><p>Ponto de Chegada</p><p>Olá, estudante! Para desenvolver a competência desta unidade, que é conhecer e classi�car os</p><p>vários tipos de serviços oferecidos por plataformas/provedores de computação em nuvem é</p><p>importante compreender os modelos e categorias fundamentais.</p><p>Modelos de serviço:</p><p>1. Infraestrutura como Serviço (IaaS): neste modelo, são fornecidos recursos de infraestrutura</p><p>virtualizada, como máquinas virtuais, armazenamento e redes. Exemplos: Amazon EC2,</p><p>Microsoft Azure Virtual Machines, Google Compute Engine.</p><p>2. Plataforma como Serviço (PaaS): Fornece uma plataforma completa para o</p><p>desenvolvimento, teste e implantação de aplicações, sem se preocupar com a</p><p>infraestrutura subjacente. Exemplos: Google App Engine, Microsoft Azure App Service,</p><p>Heroku.</p><p>3. Software como Serviço (SaaS): Oferece aplicativos</p><p>de qualquer lugar, por</p><p>meio de tecnologias baseadas em padrões abertos, consequentemente, têm soluções</p><p>multiplataforma, ou seja, soluções que não dependem do tipo do dispositivo ou sistema</p><p>operacional, por exemplo.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Pooling de recursos: o provedor mantém um robusto conjunto de recursos que são</p><p>compartilhados entre os clientes, de forma que a localização e a manutenção dos</p><p>equipamentos é transparente para os clientes.</p><p>Elasticidade rápida: os clientes podem alocar mais recursos diante de um aumento de</p><p>demanda ou liberar recursos em uso no caso de diminuição da demanda; a alocação ou</p><p>liberação de recursos deve ser feita rapidamente, inclusive de forma automatizada, por</p><p>exemplo, por meio de um script que monitora a demanda e reage de acordo com as</p><p>mudanças.</p><p>Serviço medido: o uso dos recursos pelos clientes é detalhadamente contabilizado para</p><p>�ns de tarifação e também para monitoramento da qualidade do serviço.</p><p>Conforme Coutinho (2013), a elasticidade é uma das principais características dos serviços</p><p>disponibilizados em ambientes de computação em nuvem. Essa caraterística cria a ilusão de que</p><p>os recursos na nuvem são ilimitados, uma vez que é possível aumentar ou diminuir a quantidade</p><p>de recursos sob demanda.</p><p>A elasticidade rápida depende das tecnologias de virtualização. Por exemplo, devido a um</p><p>aumento brusco nas requisições a um serviço, diversas máquinas virtuais podem ser</p><p>rapidamente instanciadas para atender ao aumento na carga de trabalho. Essa facilidade de</p><p>alterar dinamicamente a quantidade de recursos alocados facilita o planejamento de capacidade</p><p>computacional para o cliente, o que representa um dos principais benefícios que fomentaram o</p><p>rápido desenvolvimento de soluções de computação em nuvem. Além disso, existe uma série de</p><p>outros benefícios, entre os quais pode-se destacar a redução de custos e a abstração da</p><p>complexidade (Erl, Puttini, Mahmood; 2013).</p><p>A redução de custos pode ser observada de várias formas. Uma delas é que o uso de recursos</p><p>computacionais na nuvem sob demanda evita a necessidade do investimento inicial para montar</p><p>uma infraestrutura de TI. A �exibilidade da alocação dinâmica de recursos permite que os</p><p>investimentos em TI sejam realizados de acordo com o crescimento do negócio do cliente. Além</p><p>disso, o compartilhamento de recursos entre os vários clientes de um provedor diminui os custos</p><p>relacionados com a manutenção dos equipamentos e com equipe de pro�ssionais</p><p>especializados. Outro ponto importante que você não pode esquecer é que componentes de</p><p>software e hardware �cam obsoletos rapidamente. Quando um cliente acessa os recursos na</p><p>forma de serviço em nuvem, os custos de atualização �cam por conta do provedor.</p><p>De fato, a gestão de infraestrutura de equipamentos e pro�ssionais de TI é complexa e tem alto</p><p>custo. As soluções em nuvem permitem que um cliente tenha acesso aos recursos</p><p>computacionais com pagamento de acordo com o uso, em vez de ter que implantar sua própria</p><p>infraestrutura de TI.</p><p>Siga em Frente...</p><p>Benefícios e desa�os da computação em nuvem</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>A computação em nuvem oferece diversos benefícios para organizações e usuários,</p><p>impulsionando a e�ciência operacional, a �exibilidade e a inovação:</p><p>Economia de custos: a computação em nuvem permite que as organizações reduzam</p><p>custos signi�cativos, eliminando a necessidade de investir em hardware, instalações físicas</p><p>e equipes especializadas para gerenciar a infraestrutura.</p><p>Escalabilidade: a capacidade de escalar recursos de maneira rápida e e�ciente permite que</p><p>as organizações atendam às �utuações na demanda sem a necessidade de investir</p><p>antecipadamente em infraestrutura adicional.</p><p>Agilidade e velocidade: a nuvem permite o provisionamento rápido de recursos, acelerando</p><p>o tempo de implementação de aplicativos e serviços. Isso é particularmente vantajoso para</p><p>desenvolvimento e lançamento de produtos mais rápidos.</p><p>Flexibilidade e acessibilidade: os usuários podem acessar recursos da nuvem de qualquer</p><p>lugar com uma conexão à internet, proporcionando �exibilidade no trabalho remoto e</p><p>facilitando a colaboração entre equipes distribuídas.</p><p>Atualizações automáticas: muitos serviços em nuvem oferecem atualizações automáticas</p><p>de software, garantindo que os usuários tenham acesso às últimas funcionalidades e</p><p>correções de segurança sem a necessidade de intervenção manual.</p><p>Modelo de pagamento por uso: o pagamento por uso permite que as organizações paguem</p><p>apenas pelos recursos que consomem, proporcionando e�ciência �nanceira e eliminando</p><p>custos �xos.</p><p>Entre os benefícios da computação em nuvem, a redução de custos é um dos destaques. Por</p><p>exemplo, em vez de investir na instalação de sua própria infraestrutura de TI, um cliente pode</p><p>“alugar” servidores em um provedor.</p><p>Desa�os da computação em nuvem</p><p>Vamos então discutir eventuais barreiras que podem di�cultar a adoção de soluções em nuvem.</p><p>Entre os principais desa�os da computação em nuvem, podemos citar:</p><p>Segurança: a segurança dos dados ainda é uma preocupação signi�cativa. Embora os</p><p>provedores de nuvem invistam em medidas de segurança robustas, os usuários também</p><p>têm a responsabilidade de implementar práticas adequadas de segurança.</p><p>Disponibilidade e con�abilidade: a dependência de serviços em nuvem signi�ca que a</p><p>disponibilidade está fora do controle direto da organização. Interrupções nos serviços do</p><p>provedor podem impactar as operações dos usuários.</p><p>Privacidade e conformidade: em alguns casos, regulamentações e requisitos de</p><p>conformidade podem restringir o armazenamento e o processamento de dados em nuvem.</p><p>Garantir a conformidade é crucial, especialmente em setores altamente regulamentados.</p><p>Integração de sistemas: migrar sistemas existentes para a nuvem e garantir uma</p><p>integração e�ciente pode ser um desa�o. A interoperabilidade entre sistemas locais e</p><p>serviços em nuvem pode exigir esforço adicional.</p><p>Latência e desempenho: dependendo da localização dos centros de dados do provedor de</p><p>nuvem, pode haver latência na comunicação, afetando o desempenho em tempo real de</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>certas aplicações.</p><p>Gestão de custos: embora a nuvem ofereça e�ciência de custos, a gestão adequada dos</p><p>custos pode ser desa�adora. Sem monitoramento cuidadoso, os custos podem aumentar à</p><p>medida que os recursos são consumidos.</p><p>Dependência de fornecedores: as organizações que dependem exclusivamente de um</p><p>provedor de nuvem podem enfrentar desa�os em termos de �exibilidade e portabilidade.</p><p>Evitar um bloqueio de fornecedor é uma consideração importante.</p><p>Vimos que há algumas preocupações relevantes que precisam ser consideradas quando da</p><p>migração de uma aplicação para uma nuvem ou da contratação de um serviço. Por outro lado,</p><p>esses desa�os podem ser vistos como oportunidades (Armbrust, 2010). O mercado de</p><p>computação em nuvem continua crescendo e novas tecnologias e modelos têm sido utilizados</p><p>para atenuar essas barreiras. Depois da apresentação dos conceitos básicos nesta seção, nas</p><p>próximas, vamos aprofundar nosso estudo e descrever os principais modelos de serviço em</p><p>nuvem, assim como as abordagens para implantação da infraestrutura dos provedores.</p><p>Em geral, a computação em nuvem oferece muitos benefícios, mas é importante que as</p><p>organizações considerem e gerenciem cuidadosamente esses desa�os para garantir uma</p><p>implementação bem-sucedida e segura.</p><p>Vamos Exercitar?</p><p>Desa�os para sistema de prontuário eletrônico na nuvem</p><p>Descrição da situação-problema</p><p>Considere uma rede pública de hospitais que faz uso de um sistema de prontuário eletrônico</p><p>para atender os pacientes de forma mais ágil e e�ciente. A rede conta com pro�ssionais de TI e</p><p>infraestrutura própria na qual está implantado o sistema há alguns anos. O sistema inclui uma</p><p>base com grande volume de dados sobre o histórico médico dos pacientes.</p><p>A �m de reduzir os gastos com os recursos de TI, a rede hospitalar decidiu migrar o sistema para</p><p>um provedor de computação em nuvem. No entanto, como analista de TI da rede hospitalar, você</p><p>sugere a necessidade de</p><p>de software totalmente gerenciados e</p><p>acessíveis via navegador web, sem a necessidade de instalação local. Exemplos:</p><p>Salesforce, Google Workspace, Microsoft 365.</p><p>Categorias de Serviço:</p><p>1. Armazenamento em nuvem: oferece espaço para armazenar dados, arquivos e backups na</p><p>nuvem, com diferentes tipos de armazenamento, como armazenamento de blocos, objetos</p><p>e arquivos. Exemplos: Amazon S3, Google Cloud Storage, Microsoft Azure Blob Storage.</p><p>2. Bancos de dados em nuvem: fornece serviços de banco de dados gerenciados, incluindo</p><p>bancos de dados relacionais e não relacionais. Exemplos: Amazon RDS, Google Cloud SQL,</p><p>Microsoft Azure Cosmos DB.</p><p>3. Redes em nuvem: permite con�gurar e gerenciar redes virtuais, balanceadores de carga e</p><p>serviços de entrega de conteúdo. Exemplos: Amazon VPC, Google Cloud Virtual Network,</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Azure Virtual Network.</p><p>4. Serviços de contêineres: suporta a criação, implantação e gerenciamento de containers</p><p>para aplicações, com orquestração para escalabilidade e resiliência. Exemplos: Amazon</p><p>ECS, Google Kubernetes Engine (GKE), Azure Kubernetes Service (AKS).</p><p>5. Serviços de Inteligência Arti�cial e Machine Learning: fornece ferramentas e API para</p><p>integrar inteligência arti�cial e aprendizado de máquina em aplicações. Exemplos: Amazon</p><p>SageMaker, Google AI Platform, Azure Machine Learning.</p><p>�. Serviços de segurança em nuvem: oferece recursos para proteção de dados, identidade e</p><p>acesso, incluindo �rewalls, monitoramento de segurança e serviços de conformidade.</p><p>Exemplos: AWS Identity and Access Management (IAM), Google Cloud Identity and Access</p><p>Management, Azure Active Directory.</p><p>7. Serviços de monitoramento e log em nuvem:fornece ferramentas para monitorar o</p><p>desempenho, rastrear eventos e analisar logs, otimizando recursos e detectando</p><p>problemas. Exemplos: Amazon CloudWatch, Google Cloud Monitoring, Azure Monitor.</p><p>É Hora de Praticar!</p><p>Este conteúdo é um vídeo!</p><p>Para assistir este conteúdo é necessário que você acesse o AVA pelo</p><p>computador ou pelo aplicativo. Você pode baixar os vídeos direto no aplicativo</p><p>para assistir mesmo sem conexão à internet.</p><p>Gestão da infraestrutura da empresa XYZ</p><p>Descrição da situação-problema</p><p>A empresa XYZ, uma empresa de médio porte no setor de tecnologia, enfrenta desa�os</p><p>signi�cativos relacionados à gestão de sua infraestrutura de TI. A infraestrutura atual, baseada</p><p>em servidores locais, está enfrentando limitações em termos de escalabilidade, �exibilidade e</p><p>e�ciência operacional. Além disso, os custos de manutenção e atualização da infraestrutura local</p><p>estão se tornando cada vez mais onerosos.</p><p>A equipe de TI da XYZ percebe que a transição para um ambiente de computação em nuvem</p><p>pode resolver muitos dos problemas enfrentados atualmente. No entanto, eles enfrentam a</p><p>complexidade de escolher as ofertas de serviço em computação em nuvem mais adequadas</p><p>para suas necessidades especí�cas. A seleção errada de serviços pode resultar em excesso de</p><p>custos, subutilização de recursos ou falta de recursos essenciais para as operações da empresa.</p><p>Como a arquitetura multi-cloud pode ser implementada de forma e�caz para maximizar a</p><p>�exibilidade e a resiliência das operações em um ambiente empresarial?</p><p>Quais são os desa�os especí�cos de segurança associados à implementação de serviços</p><p>em nuvem?</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Como estabelecer e manter políticas e�cazes de governança de dados em uma</p><p>infraestrutura distribuída em nuvem?</p><p>Resolução da situação-problema</p><p>1. Avaliação das necessidades: a equipe de TI realiza uma análise abrangente das</p><p>necessidades da empresa, identi�cando os requisitos de armazenamento, processamento,</p><p>segurança e escalabilidade.</p><p>2. Modelo de serviço adequado: com base nas necessidades identi�cadas, a equipe</p><p>determina o modelo de serviço em nuvem mais apropriado. Se a empresa precisa de</p><p>controle total sobre a infraestrutura, eles podem optar por uma solução IaaS. Se a</p><p>prioridade é a agilidade no desenvolvimento, PaaS pode ser a escolha certa.</p><p>3. Escolha do provedor: com base na análise de requisitos e orçamento, a equipe escolhe um</p><p>provedor de nuvem con�ável. Considerações incluem recursos oferecidos, preços, suporte</p><p>ao cliente e conformidade com regulamentações especí�cas do setor.</p><p>4. Migração gradual: a migração para a nuvem é planejada de forma gradual e cuidadosa.</p><p>Inicialmente, cargas de trabalho menos críticas são migradas para a nuvem para avaliar o</p><p>desempenho e garantir a continuidade dos negócios.</p><p>5. Integração de serviços: a empresa integra serviços em nuvem para atender às diversas</p><p>necessidades, como armazenamento, banco de dados, redes, segurança e análise de</p><p>dados. Ferramentas de gerenciamento de nuvem são utilizadas para otimizar e monitorar o</p><p>ambiente em tempo real.</p><p>�. Treinamento da equipe: a equipe de TI é treinada para gerenciar e operar e�cientemente os</p><p>serviços em nuvem. Isso inclui a compreensão das melhores práticas de segurança,</p><p>monitoramento de desempenho e utilização e�ciente dos recursos disponíveis.</p><p>7. Avaliação contínua: a empresa realiza avaliações regulares para garantir que a solução em</p><p>nuvem atenda continuamente às suas necessidades. Isso inclui a análise de custos,</p><p>desempenho e a implementação de melhorias conforme necessário.</p><p>Ao seguir esse plano de resolução, a empresa XYZ consegue superar seus desa�os de</p><p>infraestrutura, bene�ciando-se da �exibilidade, escalabilidade e e�ciência proporcionadas pelas</p><p>ofertas de serviço em computação em nuvem. A transição para a nuvem não apenas resolve os</p><p>problemas atuais, mas também prepara a empresa para um ambiente de TI mais dinâmico e</p><p>adaptável às futuras demandas do mercado.</p><p>As ofertas de serviços em computação em nuvem abrangem uma ampla gama de recursos e</p><p>soluções fornecidos por provedores de nuvem para atender às necessidades de empresas,</p><p>desenvolvedores e usuários �nais.</p><p>Esses serviços fornecem um conjunto diversi�cado de recursos para atender a uma variedade de</p><p>necessidades de negócios, oferecendo benefícios, como �exibilidade, escalabilidade, e�ciência e</p><p>redução de custos. Eles capacitam organizações a focarem em suas atividades principais,</p><p>enquanto aproveitam a infraestrutura e os recursos gerenciados pelos provedores de nuvem.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>CARVALHO, A. C. P. L. F.; LORENA, A. C. Introdução à computação. São Paulo: GEN, 2017.</p><p>KOLBE JR., A. Computação em nuvem. 1. ed. Curitiba: Contentus, 2020.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>MEIRELES A.; OLIVEIRA, H. S.; PICHETTI, R. F. Cloud computing. Porto Alegre: SAGAH, 2020.</p><p>,</p><p>Unidade 3</p><p>Tecnologias e Soluções de Computação em Nuvem</p><p>Aula 1</p><p>Tecnologias de suporte a nuvem</p><p>Tecnologias de suporte a nuvem</p><p>Este conteúdo é um vídeo!</p><p>Para assistir este conteúdo é necessário que você acesse o AVA pelo</p><p>computador ou pelo aplicativo. Você pode baixar os vídeos direto no aplicativo</p><p>para assistir mesmo sem conexão à internet.</p><p>Dica para você</p><p>Aproveite o acesso para baixar os slides do vídeo, isso pode deixar sua</p><p>aprendizagem ainda mais completa.</p><p>Olá estudante! Nesta videoaula, exploraremos tecnologias de containerização de aplicações,</p><p>exploração de tecnologias-chave, como Docker e container.</p><p>Também abordaremos as tecnologias de virtualização de servidores, explicação sobre</p><p>virtualização de servidores e seu papel na criação de ambientes virtuais e a evolução de</p><p>tecnologias de redes, como a visão geral da evolução das tecnologias de redes.</p><p>Ao seguir esse esboço, você terá uma visão abrangente e prática das tecnologias essenciais em</p><p>containerização, virtualização de servidores e evolução de redes e datacenters. Isso o preparará</p><p>para compreender e aplicar efetivamente esses conceitos em ambientes reais de TI.</p><p>Prepare-se para essa jornada de conhecimento! Vamos lá!!!</p><p>Ponto de Partida</p><p>Caro estudante, estudar tecnologias de suporte a nuvem é fundamental devido à crescente</p><p>adoção de computação em nuvem em organizações de todos os tamanhos e setores. Aqui estão</p><p>algumas razões pelas quais estudar essas tecnologias é valioso.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Nesta aula</p><p>você irá aprender sobre containerização de aplicações e virtualização de servidores.</p><p>Os containers encapsulam aplicações e suas dependências, tornando-as portáteis entre</p><p>ambientes de desenvolvimento, teste e produção. Isso simpli�ca o processo de implantação e</p><p>reduz problemas relacionados a diferenças de ambiente. A virtualização de servidores isola</p><p>aplicações e sistemas operacionais em máquinas virtuais distintas, o que contribui para a</p><p>segurança e con�abilidade.</p><p>Estudar essas tecnologias não só atende às demandas do mercado de trabalho, mas também</p><p>capacita os pro�ssionais de TI a projetar, implementar e gerenciar infraestruturas de maneira</p><p>mais e�ciente, segura e ágil. As organizações modernas frequentemente buscam pro�ssionais</p><p>com habilidades nessas áreas para impulsionar a inovação e otimizar operações.</p><p>Bons estudos!</p><p>Vamos Começar!</p><p>Tecnologias de containerização de aplicações</p><p>A containerização de aplicações é uma tecnologia que permite empacotar e distribuir aplicações</p><p>juntamente com suas dependências e con�gurações em um ambiente isolado. Isso oferece</p><p>consistência no ambiente de execução, facilita a implantação e escalabilidade das aplicações.</p><p>Duas tecnologias de containerização amplamente utilizadas são Docker e Kubernetes.</p><p>Um modelo alternativo à virtualização baseada em hypervisor é a virtualização baseada em</p><p>contêiner, que ocorre no nível do sistema operacional (Bachiega; Souza; Bruschi, 2017). Nesse</p><p>caso, um conceito importante é o contêiner de aplicação (Application Container), que pode ser</p><p>entendido como um componente de software autossu�ciente, no sentido em que ele encapsula</p><p>uma aplicação e todas as suas dependências (como bibliotecas, arquivos de con�guração, etc.)</p><p>(Silva, 2017). Diferentemente de uma máquina virtual, o contêiner não inclui um sistema</p><p>operacional. Na verdade, o sistema operacional do servidor é compartilhado entre os contêineres</p><p>em execução. A Figura 1 ilustra o esquema de contêineres em um servidor físico. Com uma</p><p>ferramenta de gerenciamento de contêineres (container engine), pode-se instanciar vários</p><p>contêineres em uma única máquina física. O hardware e o sistema operacional dessa máquina</p><p>são compartilhados entre os contêineres (Silva, 2017).</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Figura 1 | Contêineres em um servidor físico.</p><p>Uma vez que a imagem de uma máquina virtual inclui um sistema operacional, ela é maior que a</p><p>imagem de um contêiner que envolve somente software no nível de usuário (aplicações,</p><p>bibliotecas, etc.). Portanto, em termos de desempenho, o uso de contêineres pode oferecer</p><p>vantagens em relação ao uso de máquina virtuais (Silva, 2017). Por ser mais leve, um contêiner</p><p>demora menos tempo para inicializar ou para ser transmitido de um servidor para outro.</p><p>Entretanto, uma vez que os contêineres compartilham o sistema operacional subjacente, o nível</p><p>de isolamento e segurança é menor, quando comparado às máquinas virtuais, que emulam um</p><p>ambiente computacional completo e independente, com seu próprio sistema operacional.</p><p>A principal característica do contêiner é permitir que o ambiente de execução da aplicação seja</p><p>sempre o mesmo, pois tudo que a aplicação precisa é estar encapsulada no contêiner,</p><p>independentemente da plataforma subjacente (Docker, 2019). Isso favorece a portabilidade e</p><p>facilita a replicação da aplicação em vários servidores. Basta, para isso, que um gerenciador de</p><p>contêiner compatível esteja instalado em cada servidor e uma cópia do contêiner seja copiada e</p><p>executada em cada um deles. Essa agilidade para replicar aplicações ou migrar aplicações de</p><p>um servidor para outro é muito importante em um ambiente de computação em nuvem, do qual</p><p>se espera o escalonamento dinâmico de aplicações.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Docker</p><p>O Docker é uma plataforma de código aberto para desenvolvimento, envio e execução de</p><p>aplicações em containers. Ele utiliza contêineres para empacotar e distribuir aplicações,</p><p>incluindo suas bibliotecas e dependências. Os benefícios são portabilidade, consistência entre</p><p>ambientes de desenvolvimento e produção, isolamento de recursos, rapidez no provisionamento.</p><p>Kubernetes</p><p>O Kubernetes (também conhecido como K8s) é um sistema de orquestração de contêineres de</p><p>código aberto para automatizar o deploy, escala e gerenciamento de aplicações em contêineres.</p><p>O Kubernetes gerencia a distribuição e o escalonamento de contêineres em um cluster,</p><p>garantindo alta disponibilidade e resiliência. Os benefícios são orquestração e�ciente,</p><p>autoescalonamento, automação de implantação, gerenciamento de recursos, atualizações sem</p><p>tempo de inatividade.</p><p>A combinação de Docker e Kubernetes é frequentemente utilizada para desenvolvimento,</p><p>empacotamento, distribuição e orquestração e�cientes de aplicações em ambientes de</p><p>contêineres. Essas tecnologias desempenham um papel signi�cativo na modernização de</p><p>infraestruturas e no desenvolvimento de aplicações em escala.</p><p>Tecnologias de virtualização de servidores</p><p>A virtualização de servidores é uma tecnologia que permite a criação de máquinas virtuais (VM),</p><p>cada uma das quais opera como um servidor independente, em um único hardware físico. Essa</p><p>abstração do hardware facilita a consolidação de recursos, aumenta a e�ciência do servidor e</p><p>oferece �exibilidade na implantação de aplicações.</p><p>Como explicado em (ERL, 2013), os softwares de virtualização permitem a criação de múltiplas</p><p>instâncias lógicas de um recurso computacional, de forma que esse recurso possa ser</p><p>compartilhado entre diversos usuários. O conceito de virtualização não é recente, mas, somente</p><p>com os ganhos em termos de desempenho e con�abilidade das ferramentas de virtualização</p><p>modernas, foi possível viabilizar características como a elasticidade rápida e self-service sob</p><p>demanda, próprias dos serviços de computação em nuvem.</p><p>As plataformas de computação em nuvem, como o OpenStack, utilizam as ferramentas de</p><p>virtualização para gerenciar o compartilhamento de recursos computacionais disponíveis na</p><p>infraestrutura do ambiente de computação em nuvem. Por exemplo, a criação de máquinas</p><p>virtuais no OpenStack pode ser realizada por meio de diversas ferramentas de virtualização,</p><p>como VMware ESXi, XenServer ou Hyper-V (MICROSOFT, 2019).</p><p>Os centros de dados (data centers) modernos fazem uso de tecnologias de virtualização para</p><p>obter e�ciência e �exibilidade na administração da infraestrutura de TI. As ferramentas de</p><p>virtualização, também denominadas Hypervisor, abstraem os recursos computacionais (como</p><p>servidores e equipamentos de rede) na forma de componentes virtualizados que podem, então,</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>ser facilmente alocados ou liberados (Erl; Puttini; Mahmood, 2013). Isso é fundamental para a</p><p>elasticidade rápida dos ambientes de computação em nuvem.</p><p>A virtualização pode ser de�nida como “uma tecnologia que permite criar vários ambientes</p><p>simulados ou recursos dedicados a partir de um único sistema de hardware físico” (Redhat,</p><p>2019). Como ilustrado na Figura 2, o ambiente lógico criado sobre o equipamento físico é</p><p>denominado máquina virtual (VM – Virtual Machine). A virtualização permite, por exemplo, que</p><p>um mesmo servidor seja compartilhado por várias aplicações (Apps) de diferentes usuários, de</p><p>forma isolada e segura, pois cada aplicação pode ser executada em uma máquina virtual</p><p>diferente no mesmo servidor. Observe que cada máquina virtual tem seu próprio sistema</p><p>operacional (SO), então, é possível ter máquinas virtuais com sistemas operacionais diferentes</p><p>no mesmo servidor.</p><p>Figura 2 | Máquinas virtuais em um servidor físico.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>A virtualização viabiliza três fatores fundamentais para a computação em nuvem: independência</p><p>de hardware, possibilidade de consolidação de servidores e facilidade de replicação de recursos</p><p>(Erl, 2013).</p><p>Independência de hardware: a ferramenta de virtualização abstrai as peculiaridades dos</p><p>recursos físicos, de forma que problemas de compatibilidade são minimizados. Assim, a</p><p>migração de uma aplicação em uma máquina virtual não depende das características</p><p>do</p><p>hardware do equipamento de destino, desde que o formato da máquina virtual seja</p><p>suportado pelo hypervisor.</p><p>Consolidação de servidores: a consolidação de servidores é um processo para aumentar a</p><p>taxa de utilização dos servidores em um centro de dados a �m reduzir custos e economizar</p><p>energia (Ahmad, 2015). Uma das formas de consolidação de servidores é migrar as</p><p>máquinas virtuais para o menor número possível de servidores. Por exemplo, se existe</p><p>apenas uma máquina virtual em um servidor, ela pode ser migrada para outro servidor que</p><p>ainda tem recursos disponíveis para que o primeiro servidor, agora sem nenhuma máquina</p><p>virtual, possa ser desligado.</p><p>Facilidade de replicação: o terceiro fator importante é a facilidade na replicação das</p><p>instâncias de máquinas virtuais. Isso decorre do fato de que a máquina virtual é software e</p><p>pode ser replicada com operações simples de manipulação de arquivos. Assim, é mais fácil</p><p>instanciar e replicar máquinas virtuais do que servidores físicos.</p><p>Siga em Frente...</p><p>Evolução de tecnologias de redes e datacenter</p><p>A evolução das tecnologias de redes e data centers tem sido signi�cativa nas últimas décadas,</p><p>impulsionada por avanços na computação, armazenamento, virtualização, automação e</p><p>demandas crescentes por desempenho, escalabilidade e e�ciência.</p><p>Redes</p><p>As redes desempenham um papel fundamental na computação em nuvem, fornecendo a</p><p>infraestrutura necessária para conectar usuários, aplicativos e serviços distribuídos em</p><p>ambientes em nuvem. Aspectos importantes das redes:</p><p>Infraestrutura de rede em nuvem: os provedores de nuvem, como Amazon Web Services</p><p>(AWS), Microsoft Azure e Google Cloud Platform (GCP), oferecem infraestrutura de rede</p><p>virtualizada. Isso inclui serviços como redes virtuais, sub-redes, balanceadores de carga,</p><p>gateways e �rewalls.</p><p>Redes virtuais: as redes virtuais permitem a criação de ambientes de rede isolados e</p><p>personalizados para diferentes aplicativos ou ambientes de clientes dentro da</p><p>infraestrutura em nuvem. Isso facilita a segmentação e o isolamento de recursos.</p><p>Conectividade: as soluções em nuvem oferecem conectividade global. Empresas podem</p><p>interconectar diferentes regiões ou data centers de maneira e�ciente, permitindo alta</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>disponibilidade e recuperação de desastres.</p><p>Load Balancing: serviços de balanceamento de carga distribuem o tráfego entre instâncias</p><p>de aplicativos, garantindo uma distribuição uniforme da carga para otimizar o desempenho</p><p>e a con�abilidade.</p><p>Gateway de rede (Nuvem para On-Premises): muitas organizações mantêm parte de sua</p><p>infraestrutura on-premise. Os gateways de rede em nuvem facilitam a conexão segura e</p><p>e�ciente entre ambientes locais e a nuvem.</p><p>Serviços de DNS: os serviços de Sistema de Nomes de Domínio (DNS) em nuvem facilitam</p><p>a administração e resolução de nomes de domínio, garantindo uma comunicação e�ciente</p><p>entre os serviços hospedados na nuvem.</p><p>Redes Privadas Virtuais (VPN): em nuvem, permitem a criação de conexões seguras entre</p><p>redes corporativas e ambientes em nuvem, garantindo comunicações seguras através da</p><p>Internet.</p><p>Controle de acesso: soluções de controle de acesso ajudam a garantir a segurança da rede</p><p>em nuvem, controlando quem pode acessar recursos especí�cos e aplicando políticas de</p><p>segurança.</p><p>Serviços de CDN (Content Delivery Network): em nuvem, distribuem conteúdo de maneira</p><p>e�ciente, melhorando o desempenho e a entrega de conteúdo aos usuários �nais,</p><p>reduzindo a latência.</p><p>Monitoramento e gerenciamento: plataformas em nuvem oferecem ferramentas robustas</p><p>para monitoramento de desempenho, gerenciamento de tráfego, análise de registros e</p><p>diagnóstico de problemas de rede.</p><p>Escalabilidade dinâmica: as redes em nuvem são projetadas para serem altamente</p><p>escaláveis. Elas podem se ajustar dinamicamente às demandas de tráfego, permitindo que</p><p>os recursos de rede cresçam ou diminuam conforme necessário.</p><p>Segurança: é uma consideração crítica nas redes em nuvem. Isso inclui a proteção contra</p><p>ameaças, criptogra�a de dados em trânsito e em repouso, além de controles de acesso</p><p>granulares.</p><p>Ao adotar a computação em nuvem, as organizações podem aproveitar essas capacidades de</p><p>rede para melhorar a �exibilidade, a e�ciência operacional e a escalabilidade de seus aplicativos</p><p>e serviços. A nuvem oferece um modelo mais dinâmico e ágil para as redes, alinhado às</p><p>necessidades modernas de negócios.</p><p>Data Center</p><p>Os data centers desempenham um papel fundamental na computação em nuvem, fornecendo a</p><p>infraestrutura física necessária para suportar serviços em nuvem, armazenamento de dados,</p><p>processamento e rede. Aspectos importantes dos data centers:</p><p>Infraestrutura física: os data centers em nuvem consistem em servidores físicos,</p><p>armazenamento, dispositivos de rede, switches, roteadores, sistemas de refrigeração,</p><p>sistemas de alimentação elétrica redundantes e outros componentes necessários para</p><p>suportar operações contínuas.</p><p>Escalabilidade: os data centers em nuvem são projetados para serem altamente escaláveis,</p><p>permitindo que os provedores de nuvem adicionem recursos de hardware conforme a</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>demanda aumenta. Essa capacidade de escalabilidade permite acomodar um grande</p><p>número de usuários e cargas de trabalho variáveis.</p><p>Virtualização: é uma tecnologia-chave nos data centers em nuvem. Permite a criação de</p><p>máquinas virtuais e contêineres, para que múltiplos ambientes de computação sejam</p><p>executados em um único servidor físico.</p><p>Distribuição geográ�ca: muitos provedores de nuvem têm data centers distribuídos</p><p>globalmente. Isso permite que eles ofereçam serviços mais próximos dos usuários �nais,</p><p>reduzindo a latência e melhorando o desempenho.</p><p>Alta disponibilidade: inclui cópias de dados em vários locais, sistemas de energia</p><p>redundantes e sistemas de resfriamento para garantir operações ininterruptas.</p><p>Recuperação de desastres: os provedores de nuvem implementam estratégias de</p><p>recuperação de desastres para garantir a continuidade dos negócios em caso de falhas.</p><p>Isso pode incluir a replicação de dados entre data centers e a capacidade de restaurar</p><p>serviços rapidamente.</p><p>E�ciência energética: os data centers em nuvem estão focados na e�ciência energética</p><p>para reduzir os custos operacionais e minimizar o impacto ambiental. Isso envolve o uso de</p><p>hardware e�ciente, técnicas de resfriamento avançadas e práticas de gerenciamento de</p><p>energia.</p><p>Segurança física e lógica: a segurança é uma prioridade nos data centers em nuvem. Isso</p><p>inclui medidas físicas, como controle de acesso e vigilância, bem como medidas lógicas,</p><p>como criptogra�a de dados, �rewalls e detecção de ameaças.</p><p>Automação e orquestração: a automação desempenha um papel crucial nos data centers</p><p>em nuvem. Ferramentas de orquestração automatizam tarefas operacionais, como</p><p>provisionamento de recursos, gerenciamento de carga de trabalho e manutenção.</p><p>API (Interfaces de Programação de Aplicações): são fundamentais para a integração e</p><p>automação em ambientes de nuvem. Elas permitem que os desenvolvedores interajam com</p><p>os serviços em nuvem e automatizem processos.</p><p>Modelo de pagamento sob demanda: operam em um modelo de pagamento sob demanda,</p><p>no qual os usuários pagam apenas pelos recursos que consomem. Isso proporciona</p><p>�exibilidade �nanceira e evita a necessidade de investimentos signi�cativos em</p><p>infraestrutura.</p><p>Os data centers na computação em nuvem são a espinha dorsal que sustenta a entrega de</p><p>serviços em nuvem. Eles são projetados para oferecer escalabilidade, �exibilidade, con�abilidade</p><p>e e�ciência operacional para atender às crescentes demandas das organizações modernas.</p><p>Vamos Exercitar?</p><p>Nível de Virtualização</p><p>Descrição da situação-problema</p><p>Uma empresa vai lançar um novo aplicativo para gestão de tarefas colaborativas. O objetivo é</p><p>promover aumento de produtividade para pequenas empresas e pro�ssionais liberais. O sistema</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>inclui um serviço web e um banco de dados no qual são compartilhados os dados das tarefas. O</p><p>aplicativo conecta-se no serviço web por meio de requisições HTTP para manipular</p><p>os recursos</p><p>do sistema. A empresa está com grande expectativa de sucesso. Para atender muitos clientes, já</p><p>escolheu um grande provedor de nuvem pública para hospedar o sistema. Você foi contratado</p><p>como consultor para de�nir a melhor estratégia de implantação do serviço web e do banco de</p><p>dados nesse provedor especí�co que oferece apenas serviços nos modelos PaaS e IaaS. Você</p><p>precisa determinar qual a melhor opção para implantação do serviço web e do banco de dados</p><p>em termos do modelo de serviço e tecnologia de virtualização.</p><p>Resolução da situação-problema:</p><p>O Quadro 1 apresenta um resumo comparativo das tecnologias de virtualização. A máquina</p><p>virtual é considerada um modelo de virtualização ao nível de hardware. Já o contêiner é</p><p>considerado um modelo de virtualização ao nível de sistema operacional. Por isso, a imagem da</p><p>máquina virtual é muito grande, comparada à do contêiner, pois a imagem da máquina virtual</p><p>precisa conter seu próprio sistema operacional. Por outro lado, os contêineres compartilham o</p><p>sistema operacional da máquina física no qual executam. A desvantagem é que a aplicação</p><p>incluída no contêiner tem que ter sido implementada para o mesmo sistema operacional no qual</p><p>o gerenciador de contêiner está executando.</p><p>Máquina Virtual Contêineres</p><p>Abordagem Virtualização no nível</p><p>de hardware</p><p>Virtualização no nível</p><p>de sistema</p><p>operacional</p><p>Denominação da</p><p>ferramenta de</p><p>virtualização</p><p>Hypervisor Container Engine</p><p>Vantagens</p><p>Maior nível de</p><p>isolamento e</p><p>segurança.</p><p>Permite mais de</p><p>um sistema</p><p>operacional no</p><p>mesmo</p><p>hardware.</p><p>Permite</p><p>compartilhamen</p><p>to do sistema</p><p>operacional.</p><p>Mais “leve”</p><p>(exige menos</p><p>recursos e</p><p>ocupa menos</p><p>espaço).</p><p>Quadro 1 | Comparação entre contêineres e máquinas virtuais.</p><p>Vamos avaliar cada componente do sistema para determinar qual dos dois modelos de</p><p>virtualização é mais adequado. O banco de dados pode conter dados sobre os quais os clientes</p><p>desejam privacidade, portanto a proteção e o isolamento dos dados é um critério relevante. Além</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>disso, o banco de dados possui uma ou apenas algumas réplicas, não há necessidade de escalar</p><p>para um número elevado de instâncias dos SGBD. Portanto, a melhor estratégia é implantar o</p><p>banco de dados em uma máquina virtual alocada no modelo IaaS.</p><p>O outro componente do sistema é o serviço web, que podem necessitar de replicação em escala</p><p>para balanceamento de carga. O serviço web se bene�cia de tecnologias abertas e padronizadas</p><p>disponíveis em plataformas pré-con�guradas na maioria dos provedores, sem necessidade de</p><p>gerenciamento de infraestrutura. Nesse caso, a opção mais adequada para implantar o serviço</p><p>web seria um serviço PaaS baseado em contêiner para agilizar a replicação das instâncias.</p><p>Saiba mais</p><p>É importante salientar que contêineres e máquinas virtuais não são necessariamente tecnologias</p><p>concorrentes. Na verdade, essas tecnologias podem ser utilizadas de forma complementar para</p><p>compartilhar a infraestrutura dos provedores entre vários clientes. Isso é possível porque um</p><p>gerenciador de contêineres, como o Docker (Docker, 2019c), pode ser instalado em uma máquina</p><p>virtual, que então poderia suportar a execução de contêineres. Além disso, existem aplicações</p><p>para as quais a implantação em máquina virtual é mais interessante, por exemplo, devido a</p><p>requisitos de segurança. Em outros cenários, a implantação de contêineres é mais indicada, por</p><p>exemplo, no caso da replicação automática de aplicações web em provedores de Plataforma</p><p>como Serviço (Silva, 2017; Pereira, 2019).</p><p>Referências</p><p>AHMAD, R. W. et al. A survey on virtual machine migration and server consolidation frameworks</p><p>for cloud data centers. Journal of Network and Computer Applications, v. 52, p. 11–25, 2015.</p><p>BACHIEGA, N. G.; SOUZA, P. S. L. de; BRUSCHI, S. M. Avaliação de desempenho de virtualização</p><p>baseada em contêiner. In: Escola Regional de Alto Desempenho de São Paulo - ERAD-SP, SBC,</p><p>2017.</p><p>ERL, T.; PUTTINI, R.; MAHMOOD, Z. Cloud Computing: concepts, technology & architecture. Rio de</p><p>Janeiro: Prentice Hall, 2013.</p><p>SILVA, E. A. N. da. Uma abordagem dirigida por modelos para portabilidade entre plataformas de</p><p>computação em nuvem. 2013. Dissertação (Mestrado em Ciências Exatas e da Terra) –</p><p>Universidade Federal de São Carlos, São Carlos, 2013.</p><p>Aula 2</p><p>Provedores de Computação em Nuvem</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Provedores de computação em nuvem</p><p>Este conteúdo é um vídeo!</p><p>Para assistir este conteúdo é necessário que você acesse o AVA pelo</p><p>computador ou pelo aplicativo. Você pode baixar os vídeos direto no aplicativo</p><p>para assistir mesmo sem conexão à internet.</p><p>Dica para você</p><p>Aproveite o acesso para baixar os slides do vídeo, isso pode deixar sua</p><p>aprendizagem ainda mais completa.</p><p>Olá estudante! Nesta videoaula, exploraremos os principais provedores, como Amazon Web</p><p>Services (AWS), Microsoft Azure e Google Cloud.</p><p>Vamos abordar os recursos oferecidos pelos provedores e os modelos de tarifação de serviços</p><p>em nuvem.</p><p>Esse conteúdo é importante para a sua prática pro�ssional, pois a utilização de provedores de</p><p>computação em nuvem é vital para a prática pro�ssional, oferecendo vantagens signi�cativas em</p><p>termos de e�ciência, agilidade, segurança e inovação.</p><p>Prepare-se para essa jornada de conhecimento! Vamos lá!!!</p><p>Ponto de Partida</p><p>Caro estudante, vamos começar mais uma etapa de nosso estudo sobre as tecnologias e</p><p>soluções empregadas nos provedores de computação em nuvem.</p><p>Você conhece os modelos utilizados pelos provedores para determinar os preços dos serviços?</p><p>Sabe quais são as métricas utilizadas para contabilizar o uso dos recursos de TI?</p><p>Nesta aula, você estudará os principais provedores de computação em nuvem no mundo, as</p><p>métricas de custo, modelos de tarifação e principais provedores de nuvem pública.</p><p>Bons estudos!</p><p>Vamos Começar!</p><p>Métricas de custo de serviços em nuvem</p><p>O gerenciamento dos custos de serviços em nuvem é uma tarefa difícil, uma vez que o cálculo do</p><p>custo total envolve várias métricas e os preços dos recursos computacionais podem variar de</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>acordo com a localização da infraestrutura ou a forma de tarifação (Rodamilans, 2014). Além</p><p>disso, as empresas podem utilizar serviços de diferentes provedores para implementar uma</p><p>solução, o que caracteriza um cenário denominado multicloud (Petcu, 2013). Assim, mesmo que</p><p>cada provedor ofereça uma ferramenta de gerenciamento de custos, faz-se necessária uma</p><p>solução adicional centralizada para agregar os custos dos diferentes provedores.</p><p>Uma das características dos serviços de computação em nuvem é o pagamento baseado no uso.</p><p>Na prática, existem diversas métricas que são utilizadas para calcular os custos para o tempo de</p><p>uso de cada tipo de recurso computacional. Em geral, três métricas básicas são consideradas na</p><p>determinação do custo de serviços em nuvem:</p><p>Uso de recursos de processamento é uma métrica calculada a partir do tempo de uso de</p><p>núcleos de processamento de máquinas virtuais. Em geral esse custo é proporcional à</p><p>quantidade de memória RAM. O provedor tem a sua calculadora de custos, para estimar os</p><p>custos e a economia em escolher cada um deles; um exemplo é a calculadora da Amazon.</p><p>Uso de recursos de armazenamento serve para tarifar o espaço utilizado para</p><p>armazenamento persistente de dados e, em geral, é uma cobrança mensal para cada</p><p>gigabyte de dados armazenados.</p><p>Uso de recursos de transmissão de dados serve para tarifar os dados transferidos entre a</p><p>rede do provedor e outras redes. Como a transmissão pode ocorrer nos dois sentidos, o</p><p>provedor pode de�nir preços diferentes para tráfego de saída e de entrada. Assim, se você</p><p>aloca uma máquina virtual, além de pagar pelo uso da máquina e do armazenamento,</p><p>também poderá ser cobrado pelos dados que foram enviados para essa máquina ou dessa</p><p>máquina para outro computador qualquer. Além das métricas básicas, existem também</p><p>métricas adicionais, associadas ao uso de componentes de software. Nesse caso, é usual</p><p>a preci�cação por evento, e não pelo tempo de uso. Assim, um provedor poderia tarifar</p><p>o</p><p>cliente pelo número de operações de escrita em um SGBD ou pelo número de requisições a</p><p>uma aplicação web. Por exemplo, um provedor poderia cobrar do cliente R$ 2,00 para cada</p><p>1.000 requisições a um serviço web.</p><p>O gerenciamento e�ciente dos custos é uma consideração crítica ao utilizar serviços em nuvem.</p><p>Existem várias métricas e estratégias que podem ser empregadas para monitorar e otimizar os</p><p>custos associados aos serviços em nuvem. Algumas métricas importantes:</p><p>Custo por hora/minuto: pode fornecer uma visão detalhada dos gastos e ajudar na</p><p>otimização.</p><p>Custo por transação: em serviços baseados em transações, como armazenamento de</p><p>dados ou transferência de dados, monitorar o custo por transação pode ser útil para</p><p>identi�car padrões de uso e otimizar o que for possível.</p><p>Custo por armazenamento: monitorar o custo associado ao armazenamento de dados,</p><p>incluindo armazenamento em blocos, objetos e serviços de banco de dados, permite</p><p>identi�car oportunidades para reduzir custos ou otimizar a utilização.</p><p>Além de monitorar essas métricas, é importante implementar práticas de otimização contínua,</p><p>como o uso e�ciente de instâncias reservadas, dimensionamento automático, política de</p><p>desativação de recursos ociosos e a implementação de estratégias de custo personalizadas para</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>atender às necessidades especí�cas da sua aplicação e negócio. Utilizar ferramentas de</p><p>gerenciamento de custos fornecidas pelos provedores de nuvem também é uma prática comum</p><p>para monitoramento e controle mais e�cazes.</p><p>O Quadro 1 apresenta um resumo das métricas básicas para tarifação de serviços de</p><p>computação em nuvem.</p><p>Métrica Descrição Tipo de</p><p>cobrança Exemplo</p><p>Uso de recursos</p><p>de</p><p>processamento.</p><p>Medida da</p><p>capacidade de</p><p>processamento</p><p>alocada.</p><p>Representa o</p><p>pagamento pelo</p><p>uso de núcleos</p><p>de</p><p>processamento</p><p>e memória RAM.</p><p>Por tempo (em</p><p>geral, por hora).</p><p>R$ 0,80 por hora</p><p>de uso de</p><p>máquina virtual</p><p>com 2 núcleos</p><p>de</p><p>processamento</p><p>e 4 GB de</p><p>memória RAM</p><p>Uso de recursos</p><p>de</p><p>armazenamento</p><p>.</p><p>Medida da</p><p>capacidade de</p><p>armazenamento</p><p>alocada.</p><p>Representa o</p><p>pagamento pelo</p><p>uso espaço de</p><p>memória</p><p>secundária</p><p>(armazenament</p><p>o persistente).</p><p>Por tempo (em</p><p>geral, por mês).</p><p>R$ 0,60 por mês</p><p>para cada 1 GB</p><p>de dados</p><p>armazenados</p><p>em uma</p><p>unidade de</p><p>armazenamento</p><p>(disco virtual).</p><p>Uso de recursos</p><p>de transmissão</p><p>de dados.</p><p>Medida do</p><p>volume de</p><p>dados</p><p>transferidos.</p><p>Representa o</p><p>pagamento pela</p><p>transferência de</p><p>dados para ou</p><p>da rede do</p><p>provedor.</p><p>Por evento (em</p><p>geral, por GB</p><p>transferido).</p><p>R$ 0,05 para</p><p>cada 1 GB de</p><p>dados</p><p>transferido</p><p>de/para uma</p><p>máquina virtual.</p><p>Quadro 1 | Principais provedores de serviços de computação em nuvem.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Para cada tipo de serviço, o provedor pode combinar as três métricas para determinar o custo</p><p>�nal do serviço.</p><p>Siga em Frente...</p><p>Modelos de tarifação de serviços em nuvem</p><p>Os provedores de serviços em nuvem oferecem diferentes modelos de tarifação para seus</p><p>serviços, adaptando-se às diversas necessidades dos usuários.</p><p>Alguns dos modelos de tarifação mais comuns em serviços de nuvem são:</p><p>Pague pelo uso (Pay-as-You-Go): os usuários pagam apenas pelos recursos que realmente</p><p>utilizam. É uma abordagem �exível, os custos estão diretamente relacionados ao consumo</p><p>efetivo de recursos, como tempo de computação, armazenamento ou largura de banda. A</p><p>vantagem é a �exibilidade para escalar recursos conforme necessário, custos alinhados ao</p><p>uso real.</p><p>Reservas (Reserved Instances): os usuários podem optar por reservar capacidade de</p><p>recursos (como instâncias de máquinas virtuais) antecipadamente por um período �xo. Em</p><p>troca, recebem descontos signi�cativos em comparação com o pagamento pelo uso. As</p><p>vantagens são economias substanciais para cargas de trabalho estáveis e previsíveis.</p><p>Preços por compromisso (Committed Use Discounts): semelhante às reservas, mas</p><p>oferecendo mais �exibilidade, os usuários comprometem-se a gastar um valor especí�co</p><p>por mês em recursos especí�cos, obtendo descontos com base nesse compromisso</p><p>�nanceiro. A vantagem é a maior �exibilidade em comparação com reservas tradicionais.</p><p>Preços por região: os custos podem variar com base na região geográ�ca em que os</p><p>recursos são provisionados. Algumas regiões podem ter custos mais altos ou mais baixos,</p><p>dependendo da oferta e demanda local. A vantagem é permitir otimizar custos escolhendo</p><p>regiões com preços mais competitivos.</p><p>Cada modelo de tarifação tem seus prós e contras e a escolha depende das características</p><p>especí�cas da carga de trabalho, dos requisitos de negócios e das preferências orçamentárias da</p><p>organização. É importante entender os detalhes da tarifação de cada provedor para otimizar os</p><p>custos e escolher o modelo mais adequado.</p><p>Principais provedores de nuvem pública (por exemplo, AWS,</p><p>Azure, Google Cloud)</p><p>Considerando os provedores de nuvem pública de serviços de infraestrutura e plataforma (IaaS e</p><p>PaaS), podemos mencionar a AWS (Amazon Web Services), o Microsoft Azure e o Google Cloud</p><p>Platform (RANGER, 2019).</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Em se tratando de soluções corporativas de software como serviço (SaaS), podemos citar a</p><p>Microsoft Salesforce, Adobe, Oracle e SAP (Columbus, 2018). É importante mencionar que a</p><p>Salesforce, pioneira em software corporativo em nuvem, também mantém o Heroku, um provedor</p><p>PaaS, assim como o Openshit da Red Hat e o Cloud Foundry, que é uma plataforma livre</p><p>originalmente criada pela VMWare e, hoje, mantida pela Cloud Foundry Fundation.</p><p>O Quadro 2 apresenta um resumo dos principais provedores e respectivos serviços.</p><p>Modelo de Serviço Provedor Exemplo de serviço ou</p><p>produto</p><p>IaaS</p><p>AWS (AWS, 2019c)</p><p>AWS Elastic Cloud</p><p>Computing (EC2):</p><p>máquinas virtuais</p><p>(AWS, 2019e).</p><p>Microsoft Azure</p><p>(Azure, 2019)</p><p>Azure Virtual</p><p>Machines: máquinas</p><p>virtuais (Azure,</p><p>2019c).</p><p>Google Cloud</p><p>Platform (Google,</p><p>2019)</p><p>Google Compute</p><p>Engine: máquinas</p><p>virtuais (Google,</p><p>2019c).</p><p>PaaS</p><p>AWS</p><p>AWS Elastic</p><p>Beanstalk: ambiente</p><p>gerenciado para</p><p>desenvolvimento e im</p><p>plantação de</p><p>aplicações (AWS,</p><p>2019d).</p><p>Microsoft Azure</p><p>Azure App Service:</p><p>ambiente gerenciado</p><p>para desenvolvimento</p><p>e implanta- ção de</p><p>aplicações (Azure,</p><p>2019b).</p><p>Google Cloud</p><p>Platform</p><p>Google App Engine:</p><p>ambiente gerenciado</p><p>para desenvolvimento</p><p>e implantação de</p><p>aplicações (Google,</p><p>2019b).</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Salesforce</p><p>(Salesforce, 2019)</p><p>Heroku Platform:</p><p>ambiente gerenciado</p><p>para desenvolvimento</p><p>e implantação de</p><p>aplicações (Heroku,</p><p>2019),</p><p>Red Hat OpenShift</p><p>(Openshift, 2019)</p><p>Red Hat OpenShift:</p><p>ambiente gerenciado</p><p>para desenvolvimento</p><p>e implanta- ção de</p><p>aplicações.</p><p>Cloud Foundry (Cloud</p><p>Foundry, 2019)</p><p>Cloud Foundry: uma</p><p>plataforma baseada</p><p>em contêineres,</p><p>distribuída como</p><p>software livre, para</p><p>desenvolvimento e</p><p>implantação de</p><p>aplicações.</p><p>SaaS</p><p>Microsoft O�ce 365</p><p>(Microsoft, 2019)</p><p>Microsoft O�ce 365:</p><p>aplicativos de</p><p>produtividade e</p><p>colaboração.</p><p>Salesforce</p><p>Salesforce Essentials:</p><p>aplicações de CRM</p><p>(Customer</p><p>Relationship</p><p>Management)</p><p>(Salesforce, 2019b).</p><p>Adobe Experience</p><p>Cloud (Adobe, 2019)</p><p>Adobe Experience</p><p>Cloud: aplicações para</p><p>marketing</p><p>coorporativo.</p><p>Oracle Cloud (Oracle,</p><p>2019)</p><p>Oracle Cloud</p><p>Applications:</p><p>aplicações para</p><p>gestão coorporativa</p><p>(Oracle, 2019b).</p><p>SAP Cloud Platform</p><p>(SAP, 2019)</p><p>Cloud ERP (Enterprise</p><p>Resource Planning):</p><p>aplicações para</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>gestão corporativa</p><p>(SAP, 2019b).</p><p>Quadro 2 | Resumo dos principais provedores e respectivos serviços.</p><p>Os provedores têm suas próprias características, preços e ecossistemas de serviços exclusivos,</p><p>e a escolha entre eles, muitas vezes, depende dos requisitos especí�cos do projeto, preferências</p><p>da empresa e integração com as tecnologias existentes.</p><p>Outros provedores de nuvem pública, embora em menor escala, também oferecem serviços</p><p>valiosos e podem ser considerados, dependendo das necessidades especí�cas.</p><p>Vamos Exercitar?</p><p>Infraestrutura própria ou na nuvem</p><p>Descrição da situação-problema</p><p>Considere o caso de uma empresa que precisa executar uma aplicação de mineração de dados.</p><p>A execução vai durar 20 meses e requer 8 servidores. A empresa pode</p><p>montar sua própria</p><p>infraestrutura ou alocar os servidores virtuais na nuvem. No primeiro caso, a empresa teria que</p><p>arcar com a compra dos servidores que custam R$ 6.000 cada e também com manutenção da</p><p>infraestrutura, que custaria R$ 2.500 por mês para gastos com equipe técnica e refrigeração do</p><p>ambiente. Se optar por um usar um provedor de serviços em nuvem, a empresa tem a opção de</p><p>alocar servidores virtuais de capacidade compatível pelo valor de R$ 600 por mês cada.</p><p>Qual opção representa a solução de menor custo para a empresa?</p><p>E se o prazo do projeto mudasse para 24 meses?</p><p>Resolução da situação-problema:</p><p>O custo de manter a infraestrutura própria consiste em adquirir 8 servidores por R$ 6.000 cada,</p><p>mais um custo de operação mensal de R$ 2.000 por 20 meses. Isso equivale a um total de R$</p><p>98.000 de custo de execução do projeto.</p><p>O custo de alocar a infraestrutura no provedor consiste em pagar pelo uso de 8 servidores que</p><p>custam R$ 600 por mês cada por um período total de 20 meses. Isso equivale a um total de R$</p><p>96.000 de custo de execução do projeto. Portanto, a solução em nuvem representa a opção de</p><p>menor custo.</p><p>No entanto, se a duração do projeto fosse de 24 meses, a situação se inverteria. O custo da</p><p>execução do projeto em infraestrutura própria seria de R$ 108.000, enquanto o custo na nuvem</p><p>seria de R$ 115.200. Isso acontece porque o investimento inicial é maior no caso de</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>infraestrutura própria, mas o custo operacional mensal no caso da nuvem é maior. Com um prazo</p><p>maior, o custo operacional acaba por representar uma parcela mais signi�cativa do custo total.</p><p>Por outro lado, prazos maiores também levam a uma maior depreciação da infraestrutura</p><p>própria. De fato, cada caso tem que ser analisado isoladamente para se veri�car qual é mais</p><p>vantajoso.</p><p>Saiba mais</p><p>No artigo indicado a seguir, é feito um estudo que compara o custo da aquisição de servidores</p><p>físicos com o custo do uso de máquinas virtuais em um provedor de nuvem pública. O cenário</p><p>hipotético apresentado ilustra diversas variáveis envolvidas na análise dos custos, por exemplo, a</p><p>taxa de utilização dos servidores.</p><p>SOUSA, F. R. C.; MOREIRA, L. O.; MACHADO, J. C. Computação em nuvem: Conceitos, tecnologias,</p><p>aplicações e desa�os. II Escola Regional de Computação Ceará, Maranhão e Piauí (ERCEMAPI),</p><p>2009.</p><p>Referências</p><p>AMAZON. Amazon Elastic Compute Cloud (Amazon EC2). Disponível em:</p><p>https://aws.amazon.com/pt/ec2/ Acesso em: 31 jan. 2024.</p><p>AWS. Migração de dados para a nuvem. Disponível em: https://aws.amazon.com/pt/cloud-data-</p><p>migration/ Acesso em: 31 jan. 2024.</p><p>ROSE, C. A. F. D. O que é esta tal de nuvem e o que pode fazer por você? 1. ed. Porto Alegre:</p><p>PUCRS, 2020.</p><p>SOUSA NETO, M. V. de. Computação em nuvem. 1. ed. Rio de Janeiro: Brasport, 2015.</p><p>Aula 3</p><p>Migração de Aplicações para a Nuvem</p><p>Migração de aplicações para a nuvem</p><p>Este conteúdo é um vídeo!</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Para assistir este conteúdo é necessário que você acesse o AVA pelo</p><p>computador ou pelo aplicativo. Você pode baixar os vídeos direto no aplicativo</p><p>para assistir mesmo sem conexão à internet.</p><p>Dica para você</p><p>Aproveite o acesso para baixar os slides do vídeo, isso pode deixar sua</p><p>aprendizagem ainda mais completa.</p><p>Olá, estudante! Nesta videoaula, exploraremos as razões para migrar aplicações para a nuvem,</p><p>como escalabilidade, redução de custos, maior �exibilidade e acessibilidade global.</p><p>Vamos abordar o gerenciamento de identidade que é uma parte crítica da segurança e operação</p><p>e�ciente em ambientes de nuvem, garantindo que apenas usuários autorizados tenham acesso</p><p>aos recursos apropriados, enquanto também fornece uma trilha de auditoria para monitoramento</p><p>e conformidade.</p><p>Esse conteúdo é importante para a sua prática pro�ssional, pois a migração de aplicações para a</p><p>nuvem é uma estratégia importante para a modernização e e�ciência dos negócios, e</p><p>pro�ssionais que compreendem e aplicam esses princípios estão em uma posição vantajosa</p><p>para impulsionar o sucesso de suas organizações.</p><p>Prepare-se para essa jornada de conhecimento! Vamos lá!!!</p><p>Ponto de Partida</p><p>Caro estudante, vamos aprender as soluções e tecnologias utilizadas pelos provedores para</p><p>oferta dos serviços. De que forma podemos acessar os provedores para instanciar e con�gurar</p><p>serviços? Como as empresas controlam quais usuários podem con�gurar ou acessar cada</p><p>serviço? Vamos entender essas questões e outros tópicos importantes relacionados à migração</p><p>de dados e aplicações para ambientes de computação em nuvem.</p><p>Nesta aula, iremos compreender os diversos fatores associados à migração e acesso a serviços</p><p>em ambientes de computação em nuvem.</p><p>Em seguida, serão descritos o conceito de gerenciamento de identidade, o acesso e suas</p><p>principais funcionalidades. Vamos ainda caracterizar diversas formas de acesso a serviços na</p><p>nuvem.</p><p>Por �m, vamos aprender sobre hospedagem de aplicações em nuvem.</p><p>Bons estudos!</p><p>Vamos Começar!</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Migração de dados e aplicações para a nuvem</p><p>Muitas empresas têm adotado soluções de TI baseadas no modelo de computação em nuvem</p><p>em virtude de vários benefícios, como redução de custos e maior escalabilidade. No caso de</p><p>novas aplicações, as decisões de projeto já consideram características e tecnologias dos</p><p>ambientes de computação em nuvem. O que pode ser feito no caso de aplicações já existentes</p><p>que estão em execução em um ambiente tradicional de TI? Essas aplicações também podem se</p><p>bene�ciar das tecnologias de computação em nuvem e , para isso, as aplicações que estão em</p><p>um ambiente tradicional precisam ser reimplantadas em um ambiente de computação em</p><p>nuvem. Esse processo é denominado migração para a nuvem (Pahl; Xiong, 2013).</p><p>A migração de aplicações e dados para a nuvem não é uma tarefa simples. Pelo contrário, trata-</p><p>se de um processo que envolve muitos desa�os, portanto, exige análise e planejamento</p><p>cuidadosos para garantir o correto funcionamento dos sistemas na infraestrutura de</p><p>computação em nuvem e assegurar que não haverá violação dos requisitos de segurança e</p><p>privacidade (Morais, 2015). Para viabilizar a migração, podem ser necessárias, por exemplo,</p><p>mudanças na arquitetura do sistema ou nas tecnologias utilizadas. No processo de migração de</p><p>dados e de aplicações para um novo ambiente, o custo é um dos fatores mais relevantes. Entre</p><p>os principais, podemos citar:</p><p>Treinamento de pro�ssionais para gerenciamento do ambiente de computação em nuvem.</p><p>Modi�cação nas aplicações ou necessidade de implementar novos componentes de</p><p>software.</p><p>Transferência de grandes volumes de dados.</p><p>Se a migração envolve uma aplicação com uma base de dados extensa, a transmissão dos</p><p>dados pode durar semanas ou até meses, de acordo com o desempenho da rede e com o volume</p><p>de dados (AWS, 2019). Múltiplos processos têm que ser capazes de acessar a informação</p><p>concorrentemente (a informação deve ser independente de qualquer processo).</p><p>A portabilidade, pode ser entendida como a facilidade com a qual um sistema pode ser levado de</p><p>um ambiente para outro (Silva, 2013). O desejável é que a migração possa ser feita com o</p><p>mínimo de adaptações necessárias nos sistemas. É importante observar que a compatibilidade</p><p>não é esperada apenas em termos de ambiente de execução ou padrões de comunicação entre</p><p>componentes de software, mas também em relação às tecnologias de gerenciamento de dados.</p><p>Esses aspectos são relevantes no processo de migrar sistemas para a nuvem e também na</p><p>migração entre provedores de nuvem, caso necessário.</p><p>Em geral, o processo de migração para a nuvem pode ser divido em três etapas (Morais, 2015):</p><p>Planejamento: envolve atividades como: levantamento de requisitos; análise de riscos;</p><p>escolha de ferramentas de migração, provedores e modelos de serviço e implantação;</p><p>análise de custos e viabilidade e de�nição da estratégia de migração.</p><p>Execução: consiste nas ações para levar o sistema para o novo ambiente, conforme</p><p>planejado. Essa etapa envolve atividades como: extração, conversão e transferência de</p><p>Disciplina</p><p>COMPUTAÇÃO</p><p>EM NUVEM</p><p>dados; adaptação na arquitetura do sistema; alterações nas aplicações existentes,</p><p>substituição ou implementação de novos componentes e bibliotecas.</p><p>Avaliação: consiste na validação do processo e testes do sistema. Essa etapa inclui</p><p>atividades como: avaliação de desempenho e segurança; testes de integridade e validação</p><p>da qualidade de experiência do usuário.</p><p>Estratégia de migração</p><p>Uma das tarefas da etapa de planejamento é a de�nição da estratégia de migração. Existem</p><p>diversas abordagens (AWS, 2018), entre as quais podemos destacar:</p><p>Re-host: migrar a aplicação sem qualquer mudança arquitetural ou modi�cação de código.</p><p>Isso é possível, por exemplo, quando a aplicação já executa em ambiente virtualizado, e as</p><p>máquinas virtuais são copiadas para um provedor de nuvem pública. Os custos são</p><p>reduzidos, mas a solução não é otimizada para ambiente de nuvem, portanto alguns</p><p>mecanismos, como balanceamento dinâmico de carga, podem ser inviabilizados.</p><p>Re-platform: a arquitetura geral do sistema não é alterada, mas os componentes são</p><p>migrados de forma independente para aproveitar os serviços em nuvem. Por exemplo,</p><p>instâncias de banco de dados são migradas para um provedor DBaaS (data base as a</p><p>service) e aplicações são migradas para ambientes PaaS. É uma abordagem intermediária</p><p>em termos da relação custo-benefício.</p><p>Re-factor ou Re-architect: a aplicação é remodelada e reimplementada a partir de</p><p>tecnologias e mecanismos típicos de computação em nuvem. É a estratégia que envolve</p><p>maior custo e tempo de implementação. Por outro lado, permite aproveitar todo potencial</p><p>do ambiente de nuvem.</p><p>Gerenciamento de identidade em provedores de computação em</p><p>nuvem</p><p>Uma vez que um sistema é migrado para a nuvem, seus administradores precisam rede�nir como</p><p>o sistema será gerenciado e utilizado no novo ambiente. Em particular, é necessário determinar</p><p>como será o acesso remoto aos componentes do sistema que passaram a executar em</p><p>infraestrutura de computação em nuvem. Isso envolve dois aspectos principais: o controle de</p><p>permissões e as tecnologias de acesso. Isso é relevante mesmo nos casos em que um sistema é</p><p>migrado para ambiente de nuvem privada, pois o controle de acesso é parte das plataformas de</p><p>computação em nuvem usadas tanto em modelo de nuvem pública quanto de nuvem privada.</p><p>Um dos mecanismos mais importantes para controle é o Gerenciamento de Acesso e Identidade</p><p>(IAM – Identity and Access Management). Esse mecanismo consiste nos componentes e</p><p>políticas necessários para veri�car e monitorar a identidade e as permissões de cada usuário em</p><p>relação ao uso dos recursos computacionais disponíveis no ambiente de nuvem (Erl; Puttini;</p><p>Mahmood, 2013). Em geral, um mecanismo IAM inclui três funcionalidades principais:</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Autenticação: veri�cação da identidade do usuário, por exemplo, a partir de senha ou</p><p>certi�cado digital. Mecanismos mais so�sticados incluem uso de biometria, assim como a</p><p>restrição do acesso de acordo com o dispositivo utilizado pelo usuário ou até mesmo sua</p><p>localização.</p><p>Autorização: controle dos níveis de acesso e das permissões concedidas para um usuário</p><p>em relação aos serviços e recursos disponíveis.</p><p>Gerenciamento de usuários e credenciais: permite criar ou alterar cadastro de usuários,</p><p>assim como grupos de usuários, políticas de segurança ou regras de acesso para facilitar o</p><p>controle de uso dos recursos e lidar com ameaças de segurança e privacidade.</p><p>Esse mecanismo permite que os administradores do sistema especi�quem os níveis ou</p><p>permissões de acesso para cada pro�ssional ou grupo de pro�ssionais envolvidos no</p><p>desenvolvimento e operação da aplicação em ambiente de computação em nuvem e também</p><p>dos usuários da aplicação. Esse controle é imprescindível, pois o acesso aos serviços de suporte</p><p>ou à própria aplicação é feito por meio da rede.</p><p>Por outro lado, um rigoroso controle de acesso leva a uma necessidade de autenticação e</p><p>veri�cação de permissão de acesso para cada serviço em nuvem utilizado para implantar uma</p><p>aplicação, ou seja, máquinas virtuais, bancos de dados, componentes de software, etc. A</p><p>situação pode ser mais complicada no caso em que uma mesma aplicação faz uso de serviços</p><p>em provedores diferentes. Para lidar com essas questões, foram criados mecanismos de</p><p>autenticação uni�cada (SSO – Single Sign On). Essa abordagem introduz o papel de um provedor</p><p>de autenticação, por meio do qual um usuário pode acessar diversos serviços, inclusive em</p><p>diferentes provedores, mediante um único processo de autenticação (Erl; Puttini; Mahmood,</p><p>2013). A Figura 1 ilustra esse cenário. Depois de realizar a autenticação, um cliente pode acessar</p><p>diversos serviços, inclusive em provedores diferentes, por meio da mesma identidade.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Figura 1 | Autenticação uni�cada para acesso a serviços em nuvem.</p><p>Siga em Frente...</p><p>Hospedagem de aplicações em nuvem</p><p>A hospedagem de aplicações em nuvem refere-se ao processo de executar e manter aplicativos</p><p>em servidores remotos, geralmente fornecidos por provedores de serviços de computação em</p><p>nuvem. Isso permite que as empresas evitem investir em infraestrutura física e se bene�ciem da</p><p>�exibilidade e escalabilidade oferecidas pela nuvem.</p><p>Os modelos de serviço comuns para hospedagem em nuvem, são:</p><p>IaaS (Infraestrutura como Serviço): fornece recursos de infraestrutura, como servidores</p><p>virtuais e armazenamento.</p><p>PaaS (Plataforma como Serviço): oferece uma plataforma completa de desenvolvimento,</p><p>incluindo ferramentas e serviços.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>SaaS (Software como Serviço): disponibiliza aplicativos diretamente aos usuários �nais</p><p>pela internet.</p><p>Na prática, a estratégia básica de migração inicial ou empresas de pequeno porte é a estratégia</p><p>Re-Platform, como explicado anteriormente. Uma forma de usar essa estratégia é migrar os</p><p>componentes do sistema para serviços PaaS. Isso signi�ca enviar o código já existente da</p><p>aplicação para um ambiente de desenvolvimento compatível na nuvem e implantar (fazer o</p><p>deploy) da aplicação. Adicionalmente, um serviço DBaaS pode ser usado para hospedar o banco</p><p>de dados da aplicação, se for o caso. As principais di�culdades são a portabilidade do código e o</p><p>paradigma de gerenciamento de dados. Para aplicações feitas em plataformas populares na</p><p>indústria de TI, como Java, Python ou JavaScritp, a portabilidade não é um problema, pois a</p><p>maioria dos provedores PaaS suporta essas e outras plataformas como Ruby e PHP. A maioria</p><p>dos provedores também suporta diversos SGBDs, tanto os que seguem o modelo relacional,</p><p>quanto os bancos NoSQL (De Souza et al., 2014).</p><p>Essa abordagem de hospedagem de aplicações e bases de dados na nuvem por meio de</p><p>provedores PaaS permite a redução de custos, escalabilidade e dispensa a responsabilidade de</p><p>gerenciamento de máquinas virtuais. O Quadro 1 apresenta alguns entre os principais serviços</p><p>de hospedagem de aplicações em provedores PaaS.</p><p>Serviço PaaS Tecnologias</p><p>Suportadas</p><p>AWS Elastic Beanstalk. Java, .NET, PHP, Node.js,</p><p>Python, Ruby, Go e Docker.</p><p>Google App Engine. Java, PHP, Node.js, Python,</p><p>C#, .Net, Ruby e Go.</p><p>Heroku Platform.</p><p>Node, Ruby, Java, PHP,</p><p>Python, Go, Scala, Clojure e</p><p>contêineres customizados.</p><p>Azure App Service.</p><p>NET, Java, Node.js, PHP, e</p><p>Python em Windows, .NET</p><p>Core, Node.js, PHP ou Ruby</p><p>em Linux e contêineres.</p><p>Quadro 1 | Principais serviços de hospedagem de aplicações em nuvem pública.</p><p>Chegamos ao �nal de mais uma unidade, na qual aprendemos muitos tópicos interessantes,</p><p>como fatores importantes na migração de sistemas para ambientes de computação em nuvem,</p><p>gerenciamento de identidade em provedores de computação em nuvem e hospedagem de</p><p>aplicação em nuvem. Com o conhecimento adquirido até aqui, você será capaz de analisar as</p><p>melhores estratégias para migrar aplicações para provedores considerando aspectos como a</p><p>escalabilidade.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Vamos Exercitar?</p><p>Migração do banco de dados para as nuvens</p><p>Descrição da situação-problema</p><p>Imagine que uma empresa de médio porte está enfrentando</p><p>desa�os relacionados ao tempo</p><p>necessário para transferir seu banco de dados para um ambiente de nuvem. O banco de dados</p><p>contém informações críticas para as operações da empresa, e a migração para a nuvem é vista</p><p>como uma medida estratégica para melhorar a escalabilidade, a acessibilidade e a segurança</p><p>dos dados. No entanto, a equipe de TI está preocupada com o tempo que essa migração pode</p><p>levar, impactando as operações diárias e possivelmente causando interrupções nos serviços.</p><p>A migração do banco de dados pode resultar em períodos de downtime, afetando a</p><p>disponibilidade dos sistemas.</p><p>Baseado no problema relatado, monte um planejamento detalhado para a migração do banco de</p><p>dados para as nuvens.</p><p>Resolução da situação-problema:</p><p>Segue a relação das práticas e estratégias para empresa minimizar o tempo necessário para a</p><p>transferência do banco de dados para a nuvem, garantindo uma migração suave e e�ciente, com</p><p>o mínimo impacto nas operações diárias:</p><p>1. Inicie com um planejamento detalhado, identi�cando os requisitos de migração, de�nindo</p><p>metas claras e elaborando um cronograma realista.</p><p>2. Utilize ferramentas de migração de dados e�cientes fornecidas pelos provedores de nuvem.</p><p>Algumas plataformas oferecem serviços que permitem a replicação de dados em tempo</p><p>real para reduzir o impacto no tempo de inatividade.</p><p>3. Divida a migração em etapas menores e menos impactantes. Comece transferindo dados</p><p>menos críticos e prossiga para dados mais sensíveis à medida que ganha con�ança no</p><p>processo.</p><p>4. Utilize a capacidade de realizar migrações em paralelo, transferindo diferentes conjuntos de</p><p>dados simultaneamente para acelerar o processo.</p><p>5. Antes da migração, otimize o banco de dados, removendo dados obsoletos ou</p><p>desnecessários. Isso reduzirá o volume de dados a ser transferido.</p><p>�. Realize testes exaustivos em um ambiente de teste antes da migração completa. Isso ajuda</p><p>a identi�car possíveis problemas e aprimorar o processo.</p><p>7. Comunique-se efetivamente com as partes interessadas, informando sobre o cronograma</p><p>de migração, possíveis períodos de downtime e as medidas tomadas para minimizar</p><p>impactos.</p><p>�. Realize backups completos e veri�cados do banco de dados antes da migração para</p><p>garantir a possibilidade de restauração em caso de problemas inesperados.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>9. Implemente ferramentas de monitoramento contínuo durante o processo de migração para</p><p>identi�car possíveis problemas em tempo real e tomar ações corretivas imediatas.</p><p>10. Capacite a equipe para lidar com situações durante a migração. Garanta que a equipe</p><p>esteja ciente dos procedimentos e possa responder rapidamente a problemas potenciais.</p><p>Saiba mais</p><p>Com os avanços das soluções fornecidas pelos ambientes de nuvem, �ca cada vez mais difícil</p><p>para o gestor escolher a melhor opção para adicionar os seus serviços, se em um ambiente de</p><p>nuvem ou de forma local. Já que existe a necessidade de analisar minuciosamente cada aspecto</p><p>das soluções e determinar a que melhor se adéqua aos objetivos da empresa, indicamos a leitura</p><p>do artigo Uma metodologia para avaliação multicritério da tomada de decisão sobre a adoção de</p><p>serviços de nuvem SaaS ou local.</p><p>Referências</p><p>AMAZON. Amazon Elastic Compute Cloud (Amazon EC2). Disponível em:</p><p>https://aws.amazon.com/pt/ec2/ Acesso em: 31 jan. 2024.</p><p>AWS. Migração de dados para a nuvem. Disponível em: https://aws.amazon.com/pt/cloud-data-</p><p>migration/ Acesso em: 31 jan. 2024.</p><p>ERL, T.; PUTTINI, R.; MAHMOOD, Z. Cloud Computing: concepts, technology & architecture. Rio de</p><p>Janeiro: Prentice Hall, 2013.</p><p>MORAIS, N. S. de. Proposta de modelo de migração de sistemas de ambiente tradicional para</p><p>nuvem privada para o Polo de Tecnologia da Informação do Exército brasileiro. Dissertação</p><p>(Mestrado Pro�ssional em Computação Aplicada) – Universidade de Brasília, Brasília, 2015.</p><p>Disponível em:</p><p>http://icts.unb.br/jspui/bitstream/10482/18758/1/2015_NathanielSimchMorais.pdf Acesso em:</p><p>3 fev. 2024.</p><p>PAHL, C.; XIONG, H. Migration to PaaS clouds-migration process and architectural concerns. In:</p><p>Proceedings of the IEEE 7th International Symposium on the Maintenance and Evolution of</p><p>Service-Oriented and Cloud-Based Systems, 2013.</p><p>Aula 4</p><p>Custos e Economia em Nuvem</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Custos e economia em nuvem</p><p>Este conteúdo é um vídeo!</p><p>Para assistir este conteúdo é necessário que você acesse o AVA pelo</p><p>computador ou pelo aplicativo. Você pode baixar os vídeos direto no aplicativo</p><p>para assistir mesmo sem conexão à internet.</p><p>Dica para você</p><p>Aproveite o acesso para baixar os slides do vídeo, isso pode deixar sua</p><p>aprendizagem ainda mais completa.</p><p>Olá, estudante! Nesta videoaula, vamos explorar os custos e economia em nuvem. Vamos</p><p>abordar os principais conceitos e estratégias que as organizações utilizam para otimizar seus</p><p>investimentos em serviços em nuvem</p><p>Esse conteúdo é importante para a sua prática pro�ssional, pois a expertise em custos e</p><p>economia em nuvem não apenas contribui para a e�ciência operacional, mas também</p><p>desempenha um papel estratégico na maximização dos benefícios que a computação em nuvem</p><p>pode oferecer para as organizações. Essa habilidade é valiosa em qualquer função relacionada à</p><p>implementação e gestão de soluções em nuvem.</p><p>Vamos lá!!!</p><p>Ponto de Partida</p><p>Caro estudante, a computação em nuvem introduziu uma verdadeira mudança de paradigma no</p><p>escopo da computação. Ao contrário do modelo convencional, a cloud fornece a computação</p><p>como um serviço entregue sob demanda (Mell; Grance, 2011). Nela, os recursos são gerenciados</p><p>por provedores e podem ser medidos em volume ou tempo de uso.</p><p>Nesta aula, você conhecerá modelos de preci�cação em nuvem, e é importante que as</p><p>organizações compreendam esses modelos para tomar decisões informadas sobre como</p><p>otimizar custos e escolher a estratégia de preci�cação mais adequada para suas necessidades</p><p>operacionais e orçamentárias. Depois, veremos a otimização de custos e recursos que é um</p><p>processo contínuo que requer monitoramento, análise e ajustes regulares. A migração para a</p><p>nuvem envolve uma análise cuidadosa dos custos associados a �m de garantir uma transição</p><p>e�ciente e econômica.</p><p>Bons estudos!</p><p>Vamos Começar!</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Modelos de preci�cação em nuvem</p><p>A computação em nuvem surgiu na última década como resultado da convergência de várias</p><p>tecnologias anteriores e modelos operacionais de TI. Do ponto de vista técnico, ela foi</p><p>possibilitada por uma combinação de virtualização, computação em cluster, computação em</p><p>grade, rede de banda larga e data centers em larga escala centralizados em locais de baixo</p><p>custo. O desenvolvimento de arquiteturas de software para criar processos de negócios</p><p>entregues como serviços, juntamente a acordos de nível de serviço (Service Level Agreements —</p><p>SLAs) que especi�cam contratualmente itens como tempo de entrega e requisitos de</p><p>desempenho, viabiliza ainda mais o fornecimento desse tipo de computação. A adoção</p><p>acelerada da computação em nuvem decorre principalmente de seus benefícios, pois as</p><p>empresas foram forçadas a encontrar soluções de TI econômicas para tornar seus produtos</p><p>competitivos no mercado atual. Quando utilizavam o modelo de computação tradicional, as</p><p>organizações tinham de investir pesadamente em infraestrutura, mão de obra e treinamento para</p><p>montar seu departamento de TI. Isso consumia tempo, era relativamente in�exível e caro. Agora,</p><p>com a evolução da computação em nuvem, ela se tornou a solução ideal para todos os tipos de</p><p>empresas, pois pode ajudar as organizações a economizar tempo e dinheiro, além de oferecer</p><p>vários benefícios. Muitos provedores de nuvem con�áveis geralmente fornecem várias</p><p>con�gurações personalizadas para atender às necessidades de todos os tipos de pequenas ou</p><p>grandes empresas. Por esse motivo, o retorno do seu investimento em tecnologia costuma ser</p><p>alto à medida que seus negócios passam para a nuvem. A economia da computação em nuvem</p><p>lida com o conhecimento sobre os princípios, custos e benefícios que ela pode oferecer. Para</p><p>qualquer organização</p><p>obter o maior valor para os seus negócios, ela deve determinar</p><p>especi�camente como os serviços em nuvem podem afetar o orçamento, a segurança e a</p><p>infraestrutura de TI. Não existe uma fórmula fácil e rápida para determinar isso; tudo depende da</p><p>avaliação dos custos relacionados à infraestrutura, ao gerenciamento e à necessidade de</p><p>pessoal, pesquisa, desenvolvimento, segurança e suporte. Todos esses fatores são analisados</p><p>para determinar se a migração para a nuvem é o próximo passo lógico, de acordo com as</p><p>circunstâncias e necessidades especí�cas da organização.</p><p>De acordo com Bhowmik (2017), os provedores de nuvem geralmente oferecem dois planos de</p><p>provisionamento de recursos ou modelos de preços diferentes para atender aos requisitos dos</p><p>consumidores, para atender a diferentes �ns comerciais. Os planos são conhecidos como “plano</p><p>de curto prazo sob demanda” e “plano de reserva de longo prazo”. A maioria dos provedores</p><p>comerciais de nuvem oferece ambos os planos.</p><p>Plano de curto prazo sob demanda</p><p>Nesse modelo de preci�cação, os recursos são alocados no curto prazo, conforme a demanda.</p><p>Quando a demanda aumenta, os recursos são provisionados de acordo com a necessidade.</p><p>Quando a demanda diminui, os recursos alocados são liberados da aplicação e retornados ao</p><p>pool de recursos livres. Os consumidores são cobrados com base no uso. Portanto, com esse</p><p>plano sob demanda, a alocação de recursos segue a abordagem de provisionamento dinâmico</p><p>para atender às demandas que apresentam �utuações e são imprevisíveis em relação ao uso de</p><p>recursos. No plano sob demanda de curto prazo, é responsabilidade do provedor garantir o</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>desempenho da aplicação provisionando recursos durante a alta demanda. Isso requer um</p><p>planejamento adequado por parte do fornecedor. A estimativa dos requisitos de recursos durante</p><p>a alta demanda desempenha um papel vital nesse modelo de preços.</p><p>Plano de reserva de longo prazo</p><p>No plano de reserva de longo prazo, também conhecido como “provisionamento antecipado”, é</p><p>realizado um contrato de serviço entre o consumidor e o provedor em relação à necessidade de</p><p>recursos. O provedor, em seguida, organiza antecipadamente e mantém certo volume de</p><p>recursos do pool de recursos para atender às necessidades do consumidor em tempo de</p><p>urgência. Essa reserva de recursos é feita antes do início do serviço. Nesse modelo de</p><p>provisionamento, o preço não é baseado na demanda. Em vez disso, é cobrada uma taxa única</p><p>por um período �xo (geralmente contado em meses ou anos). Para o fornecedor, a complexidade</p><p>computacional e o custo são menores nesse plano em comparação ao plano sob demanda. Isso</p><p>ocorre porque o provedor toma conhecimento do requisito máximo de recursos do consumidor e</p><p>mantém o pool de recursos pronto para atender às demandas. Isso reduz o custo do fornecedor</p><p>e, como efeito, os consumidores podem obter o serviço em uma taxa muito mais barata</p><p>(geralmente quando é feito um contrato de longo prazo) do que no plano sob demanda (se as</p><p>taxas de uso por hora forem consideradas). Como um volume �xo de recursos é organizado de</p><p>acordo com o SLA, há possibilidades de subprovisionamento (provisionamento de recursos</p><p>inferior ao necessário) ou superprovisionamento (provisionamento de recursos superior à</p><p>demanda) de recursos. É importante que o consumidor da nuvem estime os requisitos</p><p>cuidadosamente para que esses problemas possam ser evitados e para que, ao mesmo tempo, o</p><p>custo de provisionamento de recursos possa ser minimizado. Esse objetivo pode ser alcançado</p><p>por meio de um plano de gerenciamento de recursos.</p><p>Para Buyya, Vecchiola e Selvi (2013), em termos dos modelos de preci�cação introduzidos pela</p><p>computação em nuvem, três estratégias diferentes são adotadas pelos provedores:</p><p>Preços diferenciados: nesse modelo, os serviços em nuvem são oferecidos em várias</p><p>camadas. Cada uma delas oferece especi�cação de computação �xa e SLA a um preço</p><p>especí�co por unidade de tempo. Esse modelo é usado pela Amazon para preci�car o</p><p>serviço Elastic Compute Cloud (EC2), que disponibiliza diferentes con�gurações de servidor</p><p>e capacidades de computação, com diferentes custos por hora.</p><p>Preço por unidade: esse modelo é mais adequado para os casos em que a principal fonte</p><p>de receita do provedor de nuvem é determinada em termos de unidades de serviços</p><p>especí�cos, como transferência de dados e alocação de memória. Nesse cenário, os</p><p>clientes podem con�gurar seus sistemas com mais e�ciência, de acordo com as</p><p>necessidades da aplicação. Esse modelo é usado, por exemplo, pelo GoGrid; os clientes</p><p>pagam de acordo com as unidades de Random Access Memory (RAM)/hora pelos</p><p>servidores implantados na nuvem.</p><p>Preços baseados em assinaturas: esse é o modelo usado principalmente pelos provedores</p><p>de SaaS. Os usuários pagam uma taxa de assinatura periódica pelo uso do software ou</p><p>pelos serviços de componentes especí�cos integrados em suas aplicações.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Todos esses custos são baseados em um modelo de pagamento conforme o uso, que constitui</p><p>uma solução mais �exível para dar suporte à entrega sob demanda de serviços de TI. É isso que</p><p>realmente possibilita a conversão dos custos de capital de TI em custos operacionais, uma vez</p><p>que o custo de compra de hardware se transforma em um custo para locá-lo, e o custo gerado</p><p>pela compra de software se transforma em uma taxa de assinatura paga para usá-lo.</p><p>Siga em Frente...</p><p>Otimização de custos e recursos</p><p>A otimização de custos e recursos na computação em nuvem é uma prática essencial para</p><p>garantir e�ciência operacional e maximizar o valor dos investimentos. Veja algumas estratégias e</p><p>práticas para otimizar custos e recursos na nuvem:</p><p>Monitoramento contínuo: implemente ferramentas de monitoramento para acompanhar o</p><p>uso de recursos em tempo real, identi�car padrões de uso e entender as demandas</p><p>sazonais ajuda na tomada de decisões informadas.</p><p>Dimensionamento automático: utilize recursos de dimensionamento automático para</p><p>ajustar dinamicamente a capacidade de computação com base nas necessidades. Isso</p><p>permite a expansão ou redução automática de instâncias de acordo com a demanda,</p><p>evitando subutilização.</p><p>Escolha de tipos de instância adequados: selecione tipos de instância de acordo com as</p><p>características especí�cas das cargas de trabalho. Plataformas em nuvem oferecem uma</p><p>variedade de tipos de instância otimizados para computação, memória, armazenamento,</p><p>etc.</p><p>Reservas e commitments: aproveite descontos oferecidos por reservas de instâncias ou</p><p>compromissos a longo prazo. Esses programas podem resultar em signi�cativas</p><p>economias de custos para cargas de trabalho estáveis e previsíveis.</p><p>Desativação de recursos não utilizados: desative ou desligue recursos que não estão sendo</p><p>utilizados, como instâncias, volumes de armazenamento ou bancos de dados. Isso evita</p><p>custos desnecessários associados a recursos ociosos.</p><p>Gerenciamento e�ciente de armazenamento: adote políticas de gerenciamento de</p><p>armazenamento e�cientes, como a exclusão regular de snapshots não utilizados, a</p><p>alocação dinâmica de armazenamento e a implementação de políticas de retenção.</p><p>Escolha de região estratégica: avalie as tarifas em diferentes regiões e escolha a que</p><p>oferece os melhores preços para os serviços necessários. Algumas regiões podem ter</p><p>custos mais baixos para tipos especí�cos de recursos.</p><p>Use serviços gerenciados: utilize serviços gerenciados oferecidos pelos provedores de</p><p>nuvem para reduzir a carga operacional. Esses serviços geralmente otimizam recursos</p><p>automaticamente e oferecem manutenção de infraestrutura embutida.</p><p>Implementação de políticas de orçamento: estabeleça políticas de orçamento para</p><p>monitorar os gastos e receber alertas quando os custos se aproximarem dos limites</p><p>de�nidos. Isso ajuda a evitar surpresas desagradáveis nas faturas.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Análise de dados para tomada de decisões: utilize ferramentas de análise de custos</p><p>fornecidas pelos provedores de nuvem para identi�car áreas de oportunidade, entender</p><p>padrões de gastos e tomar decisões</p><p>informadas para otimização.</p><p>A otimização de custos e recursos na computação em nuvem é um processo contínuo que</p><p>requer monitoramento, análise e ajustes regulares. Ao adotar essas práticas, as organizações</p><p>podem colher os benefícios da e�ciência operacional e da maximização do retorno sobre o</p><p>investimento em serviços em nuvem.</p><p>Análise dos custos na migração para nuvem</p><p>A migração para a nuvem envolve uma análise cuidadosa dos custos associados a �m de</p><p>garantir uma transição e�ciente e econômica. Veja os principais aspectos a serem considerados</p><p>ao realizar uma análise de custos na migração para a nuvem:</p><p>Custo inicial da migração: avalie os custos iniciais relacionados à migração, incluindo</p><p>aquisição de ferramentas de migração, treinamento da equipe, custos de consultoria e</p><p>possíveis ajustes necessários nas aplicações existentes.</p><p>Custos de infraestrutura: compare os custos de infraestrutura entre o ambiente local e a</p><p>nuvem. Considere fatores como aquisição de hardware, manutenção, espaço físico e</p><p>custos associados à escalabilidade.</p><p>Licenciamento de software: avalie os custos de licenciamento de software para garantir</p><p>conformidade na nuvem. Alguns provedores de nuvem oferecem modelos BYOL (Bring Your</p><p>Own License), enquanto outros incluem licenças em seus serviços.</p><p>Custos operacionais: analise os custos operacionais, incluindo monitoramento, backup,</p><p>segurança e suporte técnico. Em muitos casos, esses custos são incorporados nos</p><p>serviços em nuvem, mas devem ser considerados na comparação total.</p><p>Análise de TCO (Custo Total de Propriedade): realize uma análise de TCO para entender os</p><p>custos totais de propriedade ao longo do tempo. Isso envolve a consideração de custos de</p><p>capital e operacionais, além de eventuais economias de escala na nuvem.</p><p>Estratégia de dimensionamento: considere a estratégia de dimensionamento, identi�cando</p><p>os recursos necessários para atender às demandas da carga de trabalho. A capacidade de</p><p>ajustar dinamicamente os recursos na nuvem pode in�uenciar signi�cativamente os</p><p>custos.</p><p>Gestão de dados: avalie os custos associados à gestão de dados, como armazenamento,</p><p>transferência de dados e serviços de banco de dados. Escolha estratégias de</p><p>armazenamento e�cientes e otimize a transferência de dados entre ambientes.</p><p>Contratos e Acordos de Nível de Serviço (SLA): entenda os termos contratuais e SLAs dos</p><p>provedores de nuvem em relação aos custos. Algumas empresas oferecem descontos por</p><p>compromissos a longo prazo, e SLAs podem impactar os custos associados a interrupções</p><p>ou falhas.</p><p>Modelos de preci�cação dos provedores: analise os modelos de preci�cação dos</p><p>provedores de nuvem, compreendendo os custos associados a serviços especí�cos, como</p><p>instâncias de máquinas virtuais, armazenamento, transferência de dados e outros recursos.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Previsões de crescimento e escala: projete os custos considerando o crescimento e a</p><p>escala previstos. Antecipe aumentos de demanda e planeje a capacidade de acordo para</p><p>evitar surpresas nos custos.</p><p>Análise de Retorno sobre Investimento (ROI): realize uma análise de ROI para entender</p><p>quando os benefícios �nanceiros da migração para a nuvem começarão a superar os</p><p>custos iniciais. Isso é crucial para justi�car o investimento.</p><p>Uma análise completa dos custos na migração para a nuvem é essencial para garantir uma</p><p>tomada de decisão informada. Cada organização é única, e a análise deve ser adaptada aos</p><p>requisitos especí�cos, considerando a infraestrutura existente, as metas de negócios e as</p><p>características das cargas de trabalho.</p><p>Vamos Exercitar?</p><p>Migração para a nuvem</p><p>Descrição da situação-problema</p><p>Uma empresa de médio porte que recentemente migrou suas operações para a nuvem está</p><p>enfrentando desa�os signi�cativos em relação aos custos associados aos serviços em nuvem. A</p><p>equipe de TI percebeu que, apesar das promessas de e�ciência e economia, os gastos estão</p><p>aumentando rapidamente, e a empresa está preocupada com a sustentabilidade �nanceira dessa</p><p>transição.</p><p>Resolução da situação-problema:</p><p>Para otimizar os custos em computação em nuvem, a empresa implementa uma série de</p><p>estratégias e práticas, como:</p><p>Avaliação abrangente de custos: a equipe de TI realiza uma análise aprofundada dos</p><p>custos, identi�cando os serviços e recursos que mais contribuem para as despesas. Isso</p><p>inclui revisar os modelos de preci�cação, uso de instâncias e custos associados a serviços</p><p>especí�cos.</p><p>Implementação de monitoramento contínuo: ferramentas de monitoramento são</p><p>implementadas para rastrear o uso de recursos em tempo real. Isso permite identi�car</p><p>padrões de uso, identi�car picos de demanda e otimizar a alocação de recursos de acordo.</p><p>Adoção de estratégias de dimensionamento automático: para evitar subutilização ou falta</p><p>de recursos, isso garante que a capacidade de computação seja ajustada dinamicamente</p><p>com base nas demandas reais, evitando custos desnecessários.</p><p>Revisão e seleção de tipos de instância adequados: a equipe revisa os tipos de instância</p><p>em uso e seleciona aqueles que melhor se alinham com as necessidades especí�cas de</p><p>cada carga de trabalho. Tipos de instância otimizados são escolhidos para garantir</p><p>e�ciência e economia.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Implementação de políticas de desativação de recursos: para desativar automaticamente</p><p>recursos não utilizados durante períodos especí�cos. Isso inclui instâncias, bancos de</p><p>dados e outros serviços que podem ser desligados durante horas não comerciais.</p><p>Negociação de contratos e reservas: a equipe de �nanças e TI trabalha em conjunto para</p><p>negociar contratos mais favoráveis com o provedor de nuvem. Estratégias de reservas são</p><p>exploradas para obter descontos signi�cativos em compromissos a longo prazo.</p><p>Implementação de Governança Financeira (FinOps): Práticas são adotadas, promovendo</p><p>uma abordagem colaborativa entre as equipes �nanceiras e de operações de TI. Essa</p><p>colaboração visa otimizar custos, melhorar a transparência �nanceira e alinhar os gastos</p><p>com os objetivos do negócio.</p><p>Treinamento da equipe e conscientização: A equipe de TI é treinada para entender os</p><p>modelos de preci�cação, estratégias de otimização e a importância da governança</p><p>�nanceira. A conscientização é promovida para garantir que todas as partes compreendam</p><p>a necessidade de otimização de custos.</p><p>Revisão contínua e melhoria: a empresa adota uma abordagem de melhoria contínua,</p><p>revisando regularmente as estratégias implementadas, analisando novos serviços</p><p>oferecidos pelo provedor de nuvem e ajustando as práticas conforme necessário para</p><p>garantir a otimização contínua.</p><p>Ao implementar essas estratégias, a empresa consegue otimizar seus custos em computação</p><p>em nuvem, garantindo que a transição para a nuvem seja não apenas e�ciente do ponto de vista</p><p>operacional, mas também �nanceiramente sustentável a longo prazo.</p><p>Saiba mais</p><p>O conceito de computação em nuvem quase sempre é associado a benefícios em relação ao</p><p>compartilhamento e segurança de dados. Contudo, ele também pode ser um grande aliado das</p><p>empresas que buscam maximizar a e�ciência e economia em seus processos. Para saber mais</p><p>sobre esse assunto, consulte o artigo 5 momentos em que a computação em nuvem reduz os</p><p>custos da sua empresa.</p><p>Referências</p><p>BHOWMIK, S. Cloud computing. Cambridge: Cambridge University Press, 2017.</p><p>MEIRELES, A.; OLIVEIRA, H. S.; PICHETTI, R. F. Cloud Computing. Porto Alegre: SAGAH, 2020.</p><p>SOUSA NETO, M. V. Computação em nuvem. Rio de Janeiro: Brasport, 2015.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Aula 5</p><p>Encerramento da Unidade</p><p>Videoaula de Encerramento</p><p>Este conteúdo é um vídeo!</p><p>Para assistir este conteúdo é necessário que você acesse o AVA pelo</p><p>computador ou pelo aplicativo. Você pode baixar os vídeos direto no aplicativo</p><p>para assistir mesmo sem conexão à internet.</p><p>Dica para você</p><p>Aproveite o acesso para baixar os slides do vídeo, isso pode deixar sua</p><p>aprendizagem ainda mais completa.</p><p>Olá estudante! Nesta videoaula, você irá conhecer as soluções de computação em nuvem que</p><p>proporcionam �exibilidade, escalabilidade e e�ciência operacional para organizações,</p><p>especi�car um plano de contingência para o caso de ocorrer algum</p><p>problema, pois os hospitais não podem interromper o atendimento aos pacientes. Dessa forma,</p><p>um dos diretores do hospital lhe faz o seguinte questionamento: quais são os riscos envolvidos</p><p>na migração para o ambiente de nuvem?</p><p>Resolução da situação-problema</p><p>Existem diversos riscos, entre os quais podemos destacar:</p><p>Risco de violação de privacidade dos dados médicos dos pacientes. Como os dados serão</p><p>transmitidos pela rede dos dispositivos de acesso para o provedor, existe a possibilidade de</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>que eles sejam interceptados por agentes maliciosos, o que seria um problema crítico.</p><p>Outra possibilidade ligada à segurança é o eventual compartilhamento de recursos no</p><p>provedor, por exemplo, se as máquinas virtuais alocadas para a rede hospitalar estiverem</p><p>no mesmo servidor físico no qual estejam também máquinas virtuais de outros clientes.</p><p>Caso não haja isolamento e proteção dos dados de forma adequada, os dados médicos</p><p>podem ser violados.</p><p>Risco de os dados serem armazenados fora de região permitida. Em geral, os provedores</p><p>de computação em nuvem possuem vários centros de dados em diferentes regiões,</p><p>inclusive em países diferentes. Como se trata de uma rede pública e de dados médicos,</p><p>pode haver restrições legais sobre os dados armazenados em outras regiões. Por exemplo,</p><p>existem dados de órgãos públicos federais que não podem ser armazenados em outros</p><p>países. Mesmo que a rede hospitalar escolha um centro de dados em uma região</p><p>permitida, é preciso estar atento para que réplicas dos dados não sejam criadas em outras</p><p>regiões.</p><p>Risco de indisponibilidade do serviço: se houver falha no provedor ou nos enlaces de</p><p>comunicação, o sistema não poderá ser acessado remotamente. O desempenho da rede e</p><p>a con�abilidade do provedor são críticos para operação do sistema.</p><p>Saiba mais</p><p>Para saber mais sobre a de�nição de computação em nuvem, acesse o material O que é</p><p>computação na nuvem? da Google Cloud.</p><p>Referências</p><p>ERL, T.; PUTTINI, R.; MAHMOOD, Z. Cloud Computing: Concepts, Technology & Architecture. [S.l.]</p><p>Prentice Hall, 2013.</p><p>MELL, P.; GRANCE, T. The NIST de�nition of cloud computing. [s.L.] National Institute of Standards</p><p>and Technology, 2011. Disponível em: https://doi.org/10.6028/NIST.SP.800-145 Acesso em: 18</p><p>jan. 2024.</p><p>SOUSA, F. R. C.; MOREIRA, L. O.; MACHADO, J. C. Gerenciamento de dados em nuvem: conceitos,</p><p>sistemas e desa�os. Disponível em:</p><p>https://sol.sbc.org.br/livros/index.php/sbc/catalog/download/18/81/167-1?inline=1 Acesso em:</p><p>18 jan. 2024.</p><p>Aula 2</p><p>Modelos de Serviço em Computação em Nuvem</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Modelos de Serviço em Computação em Nuvem</p><p>Este conteúdo é um vídeo!</p><p>Para assistir este conteúdo é necessário que você acesse o AVA pelo</p><p>computador ou pelo aplicativo. Você pode baixar os vídeos direto no aplicativo</p><p>para assistir mesmo sem conexão à internet.</p><p>Dica para você</p><p>Aproveite o acesso para baixar os slides do vídeo, isso pode deixar sua</p><p>aprendizagem ainda mais completa.</p><p>Olá estudante! Nesta videoaula, você irá conhecer sobre os modelos de serviço em Computação</p><p>em Nuvem.</p><p>Existem três principais modelos: IaaS (Infraestrutura como Serviço), PaaS (Plataforma como</p><p>Serviço) e SaaS (Software como Serviço). Esses modelos representam diferentes níveis de</p><p>abstração e responsabilidade, proporcionando �exibilidade aos usuários, dependendo de suas</p><p>necessidades e capacidades técnicas. A escolha entre esses modelos depende dos requisitos</p><p>especí�cos do projeto e das preferências de gerenciamento de infraestrutura.</p><p>Esse conteúdo é importante para a sua prática pro�ssional, pois a compreensão dos modelos de</p><p>serviço em computação em nuvem é essencial para otimizar a utilização de recursos, garantir</p><p>segurança e conformidade, e impulsionar a inovação nas organizações. Ela desempenha um</p><p>papel central na tomada de decisões estratégicas e na e�cácia operacional em um ambiente de</p><p>nuvem.</p><p>Prepare-se para essa jornada de conhecimento! Vamos lá!!!</p><p>Ponto de Partida</p><p>Caro, estudante. Nesta unidade, veremos os modelos de serviço em computação em nuvem.</p><p>Vamos descrever os principais modelos de serviço no contexto de computação em nuvem:</p><p>Infraestrutura como Serviço (IaaS), Plataforma como Serviço (PaaS) e Software como Serviço</p><p>(SaaS). O modelo de serviço de�ne o nível de controle que o cliente tem sobre os recursos</p><p>alocados no provedor. No modelo IaaS, o cliente pode alocar capacidade computacional na</p><p>forma de recursos computacionais virtualizados. Assim, o cliente pode alocar, no provedor, uma</p><p>infraestrutura, por exemplo, com a capacidade desejada de processamento e armazenamento de</p><p>dados. A alocação desses recursos possibilita que o cliente tenha controle da escolha do</p><p>sistema operacional que será utilizado nos servidores alocados. No modelo PaaS, o cliente não</p><p>tem controle sobre a infraestrutura, mas ele recebe do provedor um ambiente já con�gurado,</p><p>pronto para o desenvolvimento de aplicações. O cliente escolhe apenas a plataforma de</p><p>desenvolvimento, tal como linguagem de programação e banco de dados. No modelo SaaS, o</p><p>cliente acessa aplicações e não tem nenhum controle sobre os recursos computacionais</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>disponíveis no provedor. Um dos aspectos importantes para escolher o modelo de serviço é</p><p>entender a relação entre nível de abstração e de controle, conforme os requisitos do cliente. Uma</p><p>das principais características da computação em nuvem é a abstração da complexidade dos</p><p>recursos computacionais alocados. O nível de abstração da complexidade está relacionado ao</p><p>nível de controle do cliente. Por exemplo, ao escolher um modelo de serviço com menor controle</p><p>do cliente sobre a infraestrutura subjacente, maior é o nível de abstração da complexidade.</p><p>Para alcançar esse objetivo, nesta aula, você vai aprender os conceitos dos modelos de serviços</p><p>de computação em nuvem. Vamos discutir, também, alguns modelos de serviços especializados.</p><p>Assim, com sua capacidade de análise crítica, como poderá escolher o modelo de serviço.</p><p>Bons estudos!</p><p>Vamos Começar!</p><p>Conceito de modelos de serviços (IaaS, SaaS e PaaS)</p><p>A computação em nuvem oferece diversos benefícios para organizações e usuários,</p><p>impulsionando a e�ciência operacional, a �exibilidade e a inovação.</p><p>Vamos descrever os principais modelos de serviço no contexto de computação em nuvem:</p><p>Infraestrutura como Serviço (IaaS), Plataforma como Serviço (PaaS) e Software como Serviço</p><p>(SaaS). O modelo de serviço de�ne o nível de controle que o cliente tem sobre os recursos</p><p>alocados no provedor. No modelo IaaS, o cliente pode alocar capacidade computacional na</p><p>forma de recursos computacionais virtualizados. Assim, o cliente pode alocar, no provedor, uma</p><p>infraestrutura, por exemplo, com a capacidade desejada de processamento e armazenamento de</p><p>dados. A alocação desses recursos possibilita que o cliente tenha controle da escolha do</p><p>sistema operacional que será utilizado nos servidores alocados. Os provedores de computação</p><p>em nuvem são as empresas responsáveis por manter a infraestrutura necessária para processar</p><p>e armazenar dados. Os provedores oferecem vários tipos de serviço, que, em geral, são</p><p>organizados em modelos de acordo com o nível de controle oferecido aos clientes em relação à</p><p>gestão e con�guração dos recursos. Por exemplo, um provedor pode provisionar servidores nos</p><p>quais um cliente pode instalar um banco de dados ou um servidor web. Outros provedores</p><p>oferecem aplicações para usuários �nais.</p><p>A taxonomia mais amplamente aceita, como apresentada em (MELL, 2011), de�ne três modelos</p><p>de serviço:</p><p>Infraestrutura como Serviço (IaaS – Infrastructure as a Service).</p><p>Plataforma como Serviço (PaaS – Platform as a Service).</p><p>Software como Serviço (SaaS – Software as a Service).</p><p>No modelo IaaS, os clientes podem alocar dinamicamente recursos computacionais, como</p><p>capacidade de processamento, armazenamento ou rede (Erl; Puttini; Mahmood, 2013). Para</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>tanto, os provedores fazem uso de técnicas so�sticadas de</p><p>permitindo</p><p>que se concentrem em suas operações principais sem a necessidade de gerenciar diretamente a</p><p>infraestrutura de TI.</p><p>Esse conteúdo é importante para a sua prática pro�ssional, pois ter um entendimento sólido das</p><p>soluções de computação em nuvem é relevante em um ambiente de negócios cada vez mais</p><p>digital e dinâmico.</p><p>Prepare-se para essa jornada de conhecimento! Vamos lá!!!</p><p>Ponto de Chegada</p><p>Olá, estudante!</p><p>A escolha do hardware e software dependerá dos requisitos e das preferências do provedor de</p><p>serviços em nuvem. É essencial entender os principais modelos e tipos de serviços oferecidos:</p><p>Modelos de serviços na nuvem:</p><p>IaaS (Infraestrutura como Serviço): oferece recursos de infraestrutura virtualizados, como</p><p>servidores, armazenamento e redes e permite que usuários implantem e gerenciem seus</p><p>próprios sistemas operacionais e aplicativos.</p><p>PaaS (Plataforma como Serviço): fornece uma plataforma completa de desenvolvimento,</p><p>incluindo ferramentas e serviços para facilitar o ciclo de vida do desenvolvimento de</p><p>aplicativos e elimina a necessidade de gerenciar a infraestrutura subjacente.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>SaaS (Software como Serviço): aplicações de software totalmente hospedadas e</p><p>gerenciadas pelo provedor de serviços em nuvem e os usuários acessam o software por</p><p>meio de um navegador da web, sem a necessidade de instalação local.</p><p>Algumas soluções de computação em nuvem:</p><p>Infraestrutura como serviço (IaaS): fornece recursos de infraestrutura virtualizada, como</p><p>máquinas virtuais, armazenamento e redes. Exemplos: Amazon EC2, Microsoft Azure</p><p>Virtual Machines, Google Compute Engine.</p><p>Plataforma como serviço (PaaS): oferece uma plataforma completa de desenvolvimento,</p><p>incluindo ferramentas e serviços, sem a necessidade de gerenciar a infraestrutura</p><p>subjacente. Exemplos: Heroku, Google App Engine, Microsoft Azure App Service.</p><p>Software como serviço (SaaS): disponibiliza aplicativos diretamente aos usuários �nais</p><p>pela internet, sem a necessidade de instalação local. Exemplos: Microsoft 365, Salesforce,</p><p>Google Workspace.</p><p>Computação sem servidor (Serverless): permite que os desenvolvedores executem código</p><p>sem se preocupar com a infraestrutura, pagando apenas pelo tempo de execução.</p><p>Exemplos: AWS Lambda, Azure Functions, Google Cloud Functions.</p><p>Armazenamento em nuvem: oferece serviços de armazenamento escalável e seguro para</p><p>dados. Exemplos: Amazon S3, Google Cloud Storage, Microsoft Azure Blob Storage.</p><p>Bancos de dados em nuvem: fornecem serviços de gerenciamento e armazenamento de</p><p>dados, permitindo acesso rápido e seguro. Exemplos: Amazon RDS, Google Cloud SQL,</p><p>Microsoft Azure Cosmos DB.</p><p>Redes em nuvem: fornece serviços para criar, gerenciar e otimizar redes virtuais. Exemplos:</p><p>Amazon VPC, Google Cloud Virtual Network, Microsoft Azure Virtual Network.</p><p>Contêineres e orquestração: facilitam o empacotamento de aplicações e sua</p><p>implementação consistente, escalável e gerenciada. Exemplos: Kubernetes, Docker,</p><p>OpenShift.</p><p>Segurança em nuvem: inclui serviços e ferramentas para garantir a segurança dos dados e</p><p>aplicações na nuvem. Exemplos: AWS Identity and Access Management (IAM), Azure Active</p><p>Directory, Google Cloud Identity and Access Management.</p><p>Analytics e Big Data: oferece serviços para processamento, análise e visualização de</p><p>grandes conjuntos de dados. Exemplos: Amazon EMR, Google BigQuery, Microsoft Azure</p><p>HDInsight.</p><p>Inteligência Arti�cial (IA) e Machine Learning (ML): fornecem serviços e frameworks para</p><p>desenvolvimento e implantação de modelos de IA e ML. Exemplos: Amazon SageMaker,</p><p>Google AI Platform, Microsoft Azure Machine Learning. Entender esses conceitos é</p><p>fundamental para explorar efetivamente os benefícios da computação em nuvem.</p><p>É Hora de Praticar!</p><p>Este conteúdo é um vídeo!</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Para assistir este conteúdo é necessário que você acesse o AVA pelo</p><p>computador ou pelo aplicativo. Você pode baixar os vídeos direto no aplicativo</p><p>para assistir mesmo sem conexão à internet.</p><p>Desa�os signi�cativos em sua infraestrutura de TI</p><p>Descrição da situação-problema</p><p>Uma empresa de médio porte enfrenta desa�os signi�cativos em sua infraestrutura de TI, que</p><p>atualmente é baseada em uma abordagem tradicional de data center local. A empresa está</p><p>enfrentando crescentes demandas de escalabilidade, �exibilidade e custos operacionais mais</p><p>baixos. A equipe de TI percebe que é necessário modernizar a infraestrutura para acompanhar a</p><p>dinâmica do mercado e melhorar a e�ciência operacional. O que a empresa poderia fazer para</p><p>enfrentar esses desa�os?</p><p>Quais as estratégias e práticas recomendadas para garantir a conformidade e a segurança</p><p>de dados em um ambiente de nuvem?</p><p>Como os serviços de computação em nuvem podem ser integrados efetivamente em uma</p><p>estratégia de Internet das Coisas (IoT)?</p><p>Qual a importância da orquestração de contêineres na nuvem?</p><p>Resolução da situação-problema</p><p>A solução proposta para resolver esses desa�os é migrar para uma arquitetura de computação</p><p>em nuvem. Seguem os passos para a implementação dessa solução:</p><p>Avaliação de necessidades: conduzir uma análise detalhada das necessidades de negócios,</p><p>identi�cando os requisitos de escalabilidade, segurança e conformidade.</p><p>Seleção de modelo de serviço: escolher o modelo de serviço mais adequado (IaaS, PaaS ou</p><p>SaaS) com base nos requisitos especí�cos da empresa.</p><p>Escolha de provedor de nuvem: avaliar diferentes provedores de nuvem (como AWS, Azure</p><p>ou Google Cloud) e selecionar aquele que melhor atende às necessidades da empresa em</p><p>termos de serviços, preços e suporte.</p><p>Migração gradual: planejar para minimizar impactos e garantir a continuidade dos</p><p>negócios. Começar com aplicativos menos críticos antes de migrar os sistemas essenciais.</p><p>Implementação de práticas de segurança: implementar medidas robustas, incluindo</p><p>criptogra�a, controle de acesso e monitoramento constante para proteger dados sensíveis.</p><p>Treinamento e adoção: oferecer treinamento para a equipe de TI para garantir uma</p><p>transição suave e uma rápida adoção das novas práticas e tecnologias.</p><p>Otimização de recursos: utilizar recursos de nuvem de forma e�ciente, otimizando o</p><p>dimensionamento de recursos conforme necessário para evitar custos desnecessários.</p><p>Monitoramento contínuo: implementar ferramentas de monitoramento para rastrear o</p><p>desempenho da infraestrutura, identi�car possíveis problemas e otimizar continuamente a</p><p>operação.</p><p>Integração de novas tecnologias: avaliar e integrar tecnologias emergentes, como</p><p>contêineres e orquestração, para melhorar ainda mais a agilidade e a e�ciência operacional.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Avaliação pós-migração: realizar uma avaliação pós-migração para medir o sucesso da</p><p>transição, ajustar estratégias conforme necessário e garantir que os objetivos de negócios</p><p>sejam alcançados.</p><p>A empresa poderá aproveitar os benefícios da computação em nuvem, como escalabilidade sob</p><p>demanda, custos operacionais reduzidos e maior �exibilidade, ao mesmo tempo em que enfrenta</p><p>os desa�os inerentes à mudança para essa nova abordagem tecnológica.</p><p>A computação em nuvem é uma revolução na forma como as organizações gerenciam e</p><p>entregam serviços de TI. As tecnologias e soluções associadas a essa abordagem fornecem</p><p>�exibilidade, escalabilidade e e�ciência operacional.</p><p>A �gura a seguir mostra o resumo de tecnologias e soluções em computação em nuvem.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Figura | Tecnologias e soluções em computação em nuvem.</p><p>CARVALHO, A. C. P. L. F.; LORENA, A. C. Introdução à computação. São Paulo: GEN, 2017.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>ERL, T.; PUTTINI, R.; MAHMOOD, Z. Cloud Computing: Concepts, Technology & Architecture. Rio</p><p>de Janeiro: Prentice Hall, 2013.</p><p>MEIRELES, A.; OLIVEIRA, H. S.; PICHETTI, R. F. Cloud Computing. Revisão técnica de Adriano José</p><p>Vogel. Porto Alegre: SAGAH, 2020.</p><p>,</p><p>Unidade 4</p><p>Arquitetura de Aplicações em Nuvem</p><p>Aula 1</p><p>Modelos de Arquitetura em Nuvem</p><p>Modelos de Arquitetura em Nuvem</p><p>Este conteúdo é um vídeo!</p><p>Para assistir este conteúdo é necessário que você acesse o AVA pelo</p><p>computador ou</p><p>pelo aplicativo. Você pode baixar os vídeos direto no aplicativo</p><p>para assistir mesmo sem conexão à internet.</p><p>Dica para você</p><p>Aproveite o acesso para baixar os slides do vídeo, isso pode deixar sua</p><p>aprendizagem ainda mais completa.</p><p>Olá, estudante! Nesta videoaula, você irá conhecer os conceitos dos modelos de arquitetura em</p><p>nuvem. A arquitetura em nuvem refere-se à estrutura organizacional dos componentes de nuvem,</p><p>que inclui servidores, armazenamento, redes, software e outros elementos necessários para</p><p>suportar as necessidades de computação de uma aplicação ou empresa.</p><p>Esse conteúdo é importante para a sua prática pro�ssional, pois a compreensão dos modelos de</p><p>arquitetura em nuvem é essencial para pro�ssionais que desejam alinhar as estratégias de TI</p><p>com os objetivos de negócios, garantindo e�ciência, segurança e conformidade em ambientes de</p><p>nuvem.</p><p>Prepare-se para essa jornada de conhecimento! Vamos lá!!!</p><p>Ponto de Partida</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Olá, estudante! Nesta aula, vamos aprender os modelos de arquitetura para aplicações em</p><p>nuvem, que, em geral, são complexas, pois envolvem diversos componentes que interagem entre</p><p>si por meio da Internet. O projeto da arquitetura de uma aplicação afeta diversos aspectos, como</p><p>seu desempenho, disponibilidade e até mesmo o nível de segurança. Portanto, esse é um tópico</p><p>relevante e que merece muita atenção. As aplicações em nuvem podem incluir diversos</p><p>componentes de software, como bancos de dados, serviços web e aplicativos. A especi�cação</p><p>da arquitetura consiste em determinar quais são os componentes, como eles devem se</p><p>comunicar, como podem ser protegidos de ações maliciosas e como garantir que os requisitos</p><p>da aplicação sejam alcançados.</p><p>Além dos conceitos básicos, será discutida a evolução dos modelos de arquitetura, incluindo</p><p>abordagens como microsserviços, Serverless Computing e Edge Computing.</p><p>Bons estudos!</p><p>Vamos Começar!</p><p>Arquitetura em nuvem</p><p>As aplicações em nuvem são sistemas de software complexos, na medida em que implementam</p><p>diversas funcionalidades e fazem uso de variados serviços que são acessados por meio da</p><p>Internet. Para lidar com essa complexidade, as aplicações podem ser divididas em módulos (ou</p><p>componentes) funcionais. Por exemplo, uma aplicação web de comércio eletrônico pode incluir</p><p>vários módulos, como um responsável pela autenticação de usuários ou outro responsável pela</p><p>geração de relatórios de vendas. Cada um deles pode ser um software independente, capaz de</p><p>ser executado, por exemplo, em uma máquina virtual ou em um contêiner de um provedor de</p><p>nuvem pública.</p><p>A de�nição da arquitetura de uma aplicação consiste em de�nir quais seriam os seus módulos</p><p>funcionais e como eles devem interagir entre si (Coulouris et al., 2013). O projeto da arquitetura</p><p>de aplicações em nuvem é um grande desa�o e as decisões nele envolvidas podem in�uenciar</p><p>vários aspectos da aplicação, como desempenho, escalabilidade e segurança. A fase de projeto é</p><p>importante para tentar antecipar a identi�cação de possíveis problemas como: gargalos de</p><p>desempenho, ameaças de segurança e impacto da falha de componentes especí�cos na</p><p>disponibilidade da aplicação. Componentes críticos podem ser replicados para viabilizar</p><p>mecanismos de tolerância a falhas e balanceamento de carga.</p><p>Existem três modelos básicos para a arquitetura de aplicações distribuídas: arquitetura</p><p>centralizada, descentralizada e híbrida (Tanenbaum; Steen, 2008). A arquitetura centralizada é o</p><p>modelo tradicional cliente-servidor. Quando um componente requisita um serviço de outro, o que</p><p>faz a requisição é o cliente e o que responde é o servidor. As aplicações web representam um</p><p>exemplo típico do modelo de arquitetura centralizada: o servidor web responde as requisições</p><p>enviadas por navegadores web.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>A arquitetura descentralizada é caracterizada pelo modelo Peer-to-Peer (P2P). Nesse caso, não</p><p>há distinção entre clientes e servidores, e os componentes de software, por sua vez, podem fazer</p><p>requisições entre si de forma arbitrária. A Figura 1 ilustra a lógica dos modelos cliente-servidor e</p><p>P2P.</p><p>Figura 1 | Comparação do modelo descentralizado com o centralizado.</p><p>Uma alternativa interessante ao escolher um modelo centralizado ou descentralizado é a</p><p>arquitetura híbrida, na qual uma mesma aplicação utiliza os dois modelos, ou seja, algumas</p><p>funcionalidades da aplicação são implementadas na forma cliente-servidor e outras são</p><p>implementadas na forma P2P. Assim, pode-se aproveitar o melhor de cada arquitetura.</p><p>Apesar da escalabilidade dos sistemas P2P, esse modelo é muito complexo, pois exige a</p><p>implementação de mecanismos descentralizados. A maior prova dessa complexidade é que a</p><p>maioria das aplicações que utilizados, como aplicativos de comunicação instantânea e</p><p>aplicações web, são sistemas cliente-servidor centralizados.</p><p>A arquitetura de microsserviços</p><p>As principais funcionalidades de uma aplicação são implementadas na camada de</p><p>processamento, por exemplo, na forma de um Serviço Web (Web Service). Esse serviço é</p><p>denominado monolítico quando todos os seus módulos funcionais estão implementados em um</p><p>único componente de software. Se a aplicação possui muitas funcionalidades, esse serviço pode</p><p>apresentar alguns problemas, como: ocupação de muito espaço de memória; di�culdade de</p><p>implementar correções e de evolução do software; alto custo de replicação, etc. Diante desses</p><p>problemas, novas arquiteturas de serviços web foram propostas para melhorar o desempenho e</p><p>a escalabilidade, assim como facilitar a replicação. Essas abordagens baseiam-se na ideia de</p><p>dividir o serviço web monolítico em diversos componentes de software independentes. Entre as</p><p>principais abordagens, podemos citar a arquitetura de microsserviços (Dragoni et al., 2017) e a</p><p>arquitetura Serverless (Computação sem Servidor) (Baldini et al., 2017), cujo principal exemplo é</p><p>o modelo Função como Serviço (FaaS – Function as a Service). A Figura 2 ilustra a evolução</p><p>desses modelos, que se re�ete no grau de modularização da aplicação.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Figura 2 | Evolução dos padrões de arquitetura de software como serviço.</p><p>No modelo de microsserviços, cada um dos módulos funcionais de uma aplicação monolítica</p><p>vira um serviço menor e especializado, denominado microsserviço. Cada microsserviço é um</p><p>componente de software independente. Assim, ele pode ser executado como um serviço web em</p><p>um contêiner ou máquina virtual. A Figura 3 exempli�ca a arquitetura de microsserviços. Nesse</p><p>caso, uma aplicação é modularizada em N microsserviços independentes, que podem se</p><p>comunicar com serviços remotos, como outra aplicação, com sistemas legados ou com um</p><p>banco de dados (DB – Database). A Figura 3 também ilustra o papel de um API Gateway, que é</p><p>um componente responsável por redirecionar as requisições dos clientes para o microsserviço</p><p>apropriado de acordo com a funcionalidade requisitada. A arquitetura de microsserviços é</p><p>adequada para aplicações complexas, por exemplo, uma aplicação para consolidação de</p><p>transações �nanceiras com cartão de crédito, pois envolve várias etapas e entidades, como lojas,</p><p>bancos, adquirentes, etc. Nesse caso, a aplicação pode ser modularizada em vários</p><p>microsserviços especí�cos que lidam com cada parte do problema.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Figura 3 | Exemplo de aplicação com arquitetura de microsserviços.</p><p>De acordo com Dragoni et al., 2017, duas características principais de�nem um microsserviço: o</p><p>alto grau de coesão das suas funcionalidades e sua capacidade de responder a requisições. A</p><p>coesão signi�ca que um microsserviço implementa um conjunto de funcionalidades</p><p>relacionadas, que dependem umas das outras. A capacidade de responder a requisições implica</p><p>que os microsserviços, de fato, comportam-se como um servidor, ou seja, provêm algum serviço.</p><p>Eles podem responder a requisições de clientes ou requisições de outros microsserviços.</p><p>A arquitetura de microsserviços representa aplicações distribuídas formadas pela composição</p><p>de microsserviços independentes.</p><p>Esse conceito é ilustrado na Figura 4. Nesse caso, temos um</p><p>serviço monolítico formado por três módulos funcionais. Em uma arquitetura de microsserviços,</p><p>cada um desses módulos poderia ser implementado como um (micro) serviço independente.</p><p>Como mostra a �gura, apenas alguns dos microsserviços podem ser replicados e cada um deles</p><p>pode ter seu próprio banco de dados.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Figura 4 | Comparação entre serviço monolítico e microsserviços.</p><p>A arquitetura de microsserviços traz uma série de vantagens. Ao implementar modi�cações em</p><p>um microsserviço, somente esse componente especí�co precisa ser reiniciado. No serviço</p><p>monolítico, as modi�cações em apenas um módulo exigem a reinicialização do serviço como um</p><p>todo. Como o microsserviço é menor, ele exige menos recursos, o que facilita o uso de</p><p>contêineres e a replicação. Além disso, cada microsserviço pode ser replicado de forma</p><p>independente. Assim, aquele que apresenta grande demanda pode ser replicado, enquanto outro,</p><p>com menos demanda, não tem essa necessidade. No caso de um monolítico, o software como</p><p>um todo (incluindo todos os seus módulos) tem que ser replicado, a despeito da demanda para</p><p>cada um de seus módulos funcionais, o que pode resultar em desperdício de recursos.</p><p>Siga em Frente...</p><p>Aplicações com arquitetura de multicamadas</p><p>As aplicações centralizadas apresentam problemas de desempenho e escalabilidade, o que fez</p><p>com que muitas abordagens surgissem com o intuito de resolvê-los. Uma delas é o modelo</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>cliente-servidor com uma arquitetura em múltiplas camadas (Tanenbaum; Steen, 2008). Nesse</p><p>modelo de arquitetura, a aplicação é dividida em várias camadas, sendo cada uma delas</p><p>responsável por um conjunto especí�co de funcionalidades. Os componentes de uma camada</p><p>podem interagir com os componentes das camadas vizinhas, além de serem executados em</p><p>servidores diferentes para melhorar o desempenho. Nesse caso, temos uma separação física</p><p>entre as camadas.</p><p>Em geral, as aplicações multicamadas são divididas em três:</p><p>1. Camada de interface do usuário (controle da interação com o usuário).</p><p>2. Camada de processamento (implementação da lógica das principais funcionalidades da</p><p>aplicação).</p><p>3. Camada de dados (armazenamento persistente de dados).</p><p>Na Figura 5, temos o exemplo de uma aplicação Web baseada na arquitetura em camadas.</p><p>Nesse caso, o navegador web executa a camada de interface com o usuário; já na camada de</p><p>processamento, o servidor web responde as requisições de acordo com as regras de negócio. Na</p><p>camada de dados, um Sistema Gerenciador de Banco de Dados administra o armazenamento</p><p>das informações do sistema. Em um ambiente de nuvem, podemos usar diversos serviços para</p><p>hospedar uma aplicação com essa arquitetura. Por exemplo, podemos alocar máquinas virtuais</p><p>ou contêineres para executar um servidor web (na camada de processamento) e usar serviços de</p><p>Bancos de Dados em Nuvem para persistências das informações (na camada de dados).</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Figura 5 | Exemplo de uma aplicação com arquitetura em camadas e componentes replicados.</p><p>Os provedores de nuvem também oferecem serviços para replicação dinâmica dos</p><p>componentes. No exemplo ilustrado na Figura 5, há três réplicas do servidor web e duas réplicas</p><p>do servidor de banco de dados. Esse tipo de replicação pode ser automatizado em ambientes de</p><p>nuvem. Além disso, os provedores oferecem mecanismos para balanceamento de carga. A</p><p>Figura 5 também demonstra o balanceamento de carga das requisições dos clientes entre as</p><p>réplicas do servidor Web. Se houver falha em um dos servidores, as demais réplicas continuam a</p><p>atender as requisições. Além disso, a carga de trabalho é dividida entre as réplicas, o que resulta</p><p>em menor tempo de resposta aos clientes. Com isso, a aplicação dividida em camadas melhora</p><p>o grau de desempenho e con�abilidade, mesmo que a arquitetura ainda seja cliente-servidor. Os</p><p>provedores de computação em nuvem permitem a alocação ou liberação automática de réplicas</p><p>de acordo com as variações no volume de requisições dos clientes.</p><p>Conceito de Edge Computing</p><p>Mesmo com a evolução dos modelos de arquitetura, ainda pode haver problemas de</p><p>escalabilidade em soluções em nuvem, pois não deixa de ser um modelo centralizado. Por</p><p>exemplo, nas aplicações de Big Data e Internet das Coisas, um grande volume de dados precisa</p><p>ser transmitido até o provedor para ser processado e, depois, eventuais respostas necessitam</p><p>ser enviadas até os dispositivos �nais. Essas questões motivaram a consolidação do paradigma</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>de Computação nas Bordas (Edge Computing), cuja ideia principal é mover o processamento dos</p><p>dados para a borda da rede (Shi et al., 2016). Uma visão geral da Edge Computing é apresentada</p><p>na Figura 6. A execução de serviços na borda da rede pode bene�ciar algumas soluções, por</p><p>exemplo, aplicações de mobilidade urbana, que precisam de respostas rápidas para análise de</p><p>dados do trânsito em uma determinada região.</p><p>Figura 6 | Visão geral da arquitetura de Edge Computing.</p><p>O objetivo desse modelo não é substituir a computação em nuvem. Na verdade, são abordagens</p><p>complementares, pois as aplicações que exigem maior capacidade de armazenamento e</p><p>processamento de dados continuam a ser executadas de forma centralizada no provedor de</p><p>computação em nuvem. Um bom exemplo disso é um sistema que utiliza aprendizado de</p><p>máquina para identi�car fraudes em compras com cartão de crédito. Por outro lado, aplicações</p><p>cujo requisito principal é o tempo de resposta, podem ser executadas na borda da rede, pelos</p><p>próprios dispositivos ou por alguma infraestrutura dedicada de Computação nas Bordas. Em</p><p>geral, é apropriada para aplicações que envolvem análise de dados em tempo real (Coutinho;</p><p>Carneiro; Greve, 2016). A seguir, são descritas algumas importantes aplicações práticas que</p><p>podem se bene�ciar das vantagens do modelo descentralizado da computação em bordas:</p><p>Redes de sensores: redes de dispositivos com capacidade de monitoramento</p><p>(sensoriamento) dispersos por áreas amplas. Essas redes são usadas para implementação</p><p>de soluções em diversas áreas, como vigilância, monitoramento ambiental, etc. Os</p><p>dispositivos possuem capacidade limitada, fazem uso de mecanismos de reconhecimento</p><p>de contexto e topologias hierárquicas, o que torna interessante o uso de computação nas</p><p>bordas.</p><p>Cache de dados: a arquitetura descentralizada da computação em bordas permite a</p><p>implementação de sistemas inteligentes de replicação e distribuição de conteúdo, inclusive</p><p>para usuários móveis.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Edifícios inteligentes (smart buildings): uso de sensores e atuadores para gerenciamento</p><p>automático e otimizado da infraestrutura de edifícios. Essas soluções podem ser usadas</p><p>para conservar água, energia, vigilância, regulação de temperatura, entre outros. Os</p><p>requisitos de reconhecimento de contexto, baixa latência e privacidade dos dados tornam</p><p>mais atrativo para essas aplicações o modelo de computação nas bordas.</p><p>Vamos Exercitar?</p><p>Software de controle para veículos autônomos</p><p>Descrição da situação-problema</p><p>Você é analista de TI em uma empresa do setor automotivo que decidiu iniciar a fabricação de</p><p>veículos autônomos, que não precisam de motoristas, pois eles possuem um sistema de controle</p><p>so�sticado, capaz de conduzir o veículo com segurança. Seu papel é liderar a equipe que vai</p><p>implementar o software de controle para condução automática dos veículos. Você precisa,</p><p>inicialmente, escolher um modelo de arquitetura para a solução desses veículos.</p><p>Resolução da situação-problema</p><p>Existem muitos aplicativos de navegação para veículos baseados em soluções em nuvem. No</p><p>entanto, um software de controle para condução de veículo precisa tomar decisões em tempo</p><p>real. Além do uso de serviços de inteligência arti�cial, esse tipo de aplicação requer baixa</p><p>latência de comunicação e baixo tempo de resposta no processamento de dados. Se os veículos</p><p>tivessem que se comunicar com servidores na nuvem, esses requisitos poderiam</p><p>não ser</p><p>atendidos. O modelo mais adequado, nesse caso, seria uma abordagem de Edge Computing,</p><p>como ilustrado na Figura 7. Os carros poderiam se comunicar com altas taxas de transmissão</p><p>por meio de uma rede sem �o 5G e aproveitar a capacidade de processamento e armazenamento</p><p>de dados das estações de transmissão de dados para executar funcionalidades em tempo real.</p><p>Mesmo assim, serviços em nuvem poderiam ser utilizados para agregar informações, armazenar</p><p>dados históricos para análise de estatísticas e para cálculos de rotas longas que exigem dados</p><p>do trânsito em várias regiões.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Figura 7 | Cenário de aplicação com veículos autônomos.</p><p>Saiba mais</p><p>O modelo de computação em borda, especialmente a computação em névoa, possibilita o</p><p>surgimento de diferentes aplicações capazes de mudar a forma como os serviços podem ser</p><p>prestados. O artigo Aplicações da computação em névoa explica a introdução à computação em</p><p>névoa.</p><p>Referências</p><p>BALDINI, I. et al. Serverless computing: Current trends and open problems. In: Research Advances</p><p>in Cloud Computing. [s.l.], Springer, 2017.</p><p>COUTINHO, A. A.; CARNEIRO, E.; GREVE, F. Computação em névoa: conceitos, aplicações e</p><p>desa�os. In: Minicursos do XXXIV Simpósio Brasileiro de Redes de Computadores e Sistemas</p><p>Distribuídos. Porto Alegre: SBC, 2016. Cap. 6, p. 266-315. Disponível em:</p><p>https://www.researchgate.net/publication/309312669_Computacao_em_Nevoa_Conceitos_Aplic</p><p>acoes_e_Desa�os Acesso em: 8 fev. 2024.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>DRAGONI, N. et al. Microservices: yesterday, today, and tomorrow. In: Present and Ulterior</p><p>Software Engineering, p. 195–216. Springer International Publishing, 2017.</p><p>SHI, W. et al. Edge Computing: vision and challenges. IEEE Internet of Things Journal, v. 3, 2016.</p><p>TANENBAUM, A. S.; STEEN, M. V. Sistemas distribuídos: princípios e paradigmas. 2. ed. São</p><p>Paulo: Pearson Prentice Hall, 2008.</p><p>Aula 2</p><p>Qualidade de Serviço em Nuvem</p><p>Qualidade de Serviço em Nuvem</p><p>Este conteúdo é um vídeo!</p><p>Para assistir este conteúdo é necessário que você acesse o AVA pelo</p><p>computador ou pelo aplicativo. Você pode baixar os vídeos direto no aplicativo</p><p>para assistir mesmo sem conexão à internet.</p><p>Dica para você</p><p>Aproveite o acesso para baixar os slides do vídeo, isso pode deixar sua</p><p>aprendizagem ainda mais completa.</p><p>Olá, estudante! Nesta videoaula, você irá conhecer o conceito de Qualidade de Serviço (QoS) em</p><p>nuvem. A QoS refere-se a um conjunto de parâmetros que são usados para avaliar a e�cácia e a</p><p>e�ciência de um serviço, garantindo que ele atenda ou exceda as expectativas do usuário.</p><p>Quando aplicado à computação em nuvem, a QoS desempenha um papel crucial na entrega de</p><p>serviços con�áveis e de alta performance.</p><p>Esse conteúdo é importante para a sua prática pro�ssional, pois a qualidade de serviço em</p><p>nuvem é uma consideração central para pro�ssionais que desejam garantir a e�cácia, a</p><p>segurança e a con�abilidade dos serviços em nuvem em suas práticas pro�ssionais. É uma parte</p><p>integrante da entrega bem-sucedida de soluções de TI e contribui signi�cativamente para o</p><p>sucesso operacional e a satisfação do cliente.</p><p>Prepare-se para essa jornada de conhecimento! Vamos lá!!!</p><p>Ponto de Partida</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Olá, estudante! Um dos obstáculos para migração de aplicações para provedores de computação</p><p>em nuvem é o fato de que o acesso remoto aos serviços pode afetar negativamente o</p><p>desempenho. De fato, sem uma conexão de rede de boa qualidade é difícil garantir uma</p><p>experiência satisfatória para os usuários. Além disso, os provedores precisam de soluções para</p><p>oferecer con�abilidade e escalabilidade para os serviços. Você conhece as métricas para</p><p>descrever de forma objetiva os requisitos de desempenho de aplicações? Sabe quais são os</p><p>mecanismos utilizados pelos provedores para lidar com falhas e problemas de desempenho?</p><p>Nesta aula, vamos iniciar o estudo com a descrição de métricas de desempenho de rede e a</p><p>de�nição do conceito de Acordo de Nível de Serviço (SLA). Em seguida, vamos descrever alguns</p><p>indicadores de Qualidade de Serviço utilizados pelos provedores de computação em nuvem.</p><p>Além disso, serão explicados mecanismos que visam aprimorar a escalabilidade, a con�abilidade</p><p>e a disponibilidade de aplicações em nuvem. Por �m, vamos estudar, também, a recuperação de</p><p>desastres, que consiste em mecanismos para lidar com falhas. Com esse estudo, você será</p><p>capaz de compreender como podemos medir a qualidade das aplicações de forma objetiva,</p><p>assim como as principais soluções para melhoria de desempenho e escalabilidade em</p><p>ambientes de nuvem.</p><p>Bons estudos!</p><p>Vamos Começar!</p><p>Acordo de Nível de Serviço (SLA) em provedores de computação</p><p>em nuvem</p><p>O uso de serviços de computação em nuvem na implementação de aplicações distribuídas pode</p><p>trazer vários benefícios, como a redução de custos e a eliminação da necessidade de gerenciar</p><p>equipamentos de TI. Por outro lado, existem também algumas barreiras para o uso dos serviços</p><p>de provedores de nuvem pública. Em particular, o desempenho das aplicações em nuvem pode</p><p>ser um desa�o, se não houver disponibilidade de redes de comunicação de qualidade. Como o</p><p>acesso aos serviços e dados no provedor é realizado por meio da Internet, pode haver problemas</p><p>de desempenho ou até mesmo falhas na comunicação entre os componentes. Considere o caso</p><p>de sistemas com requisitos de tempo real, como jogos ou aplicações de chamada de voz. Esses</p><p>tipos de aplicações não funcionam de forma adequada se a conexão for de baixa qualidade.</p><p>Aplicações que armazenam dados na nuvem também podem sofrer degradação de desempenho</p><p>se houver atraso no acesso remoto aos dados.</p><p>Nesse contexto, precisamos utilizar mecanismos para tentar assegurar uma experiência</p><p>satisfatória dos usuários de aplicações em nuvem. O primeiro ponto a considerar é como</p><p>caracterizar de forma objetiva a qualidade da comunicação. Isso signi�ca que precisamos de</p><p>métricas quantitativas para descrever os requisitos mínimos de desempenho. Para lidar com</p><p>essas questões, há um conceito denominado Qualidade de Serviço (QoS – Quality of Service).</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Em se tratando de redes de computadores, a QoS pode ser entendida como uma abordagem</p><p>utilizada para especi�car parâmetros de desempenho das aplicações, assim como os</p><p>mecanismos necessários para garantir os requisitos de desempenho estabelecidos (Kamienski;</p><p>Sadok, 2000). Os modelos de QoS podem ser utilizados para caracterizar objetivamente os</p><p>requisitos de desempenho de uma aplicação. Além disso, utilizam métricas de desempenho de</p><p>rede, tais como:</p><p>Atraso: o tempo total de transmissão de um pacote do nó remetente ao nó destinatário.</p><p>Aplicações de chamadas de voz na Internet, por exemplo, requerem um atraso máximo de</p><p>150ms (Chen; Farley; Ye, 2004).</p><p>Jitter: medida da variação no atraso na transmissão dos pacotes. Quanto maior o jitter, pior</p><p>é o desempenho de aplicações multimídia, como streaming de músicas na internet.</p><p>Taxa de transmissão: o volume de dados efetivamente transmitido entre o nó remetente e o</p><p>nó destinatário. Em geral, é medida em termos de megabits por segundo (Mbps). Por</p><p>exemplo, a aplicação de streaming de vídeo sob demanda Net�ix estabelece que, para</p><p>assistir vídeos em resolução Ultra HD, é necessária uma conexão com uma taxa de, pelo</p><p>menos, 25Mbps (Net�ix, 2019).</p><p>Taxa de perda: porcentagem dos pacotes que não foram entregues com sucesso para o nó</p><p>destinatário. Por exemplo, se foram transmitidos 50 pacotes e apenas 40 foram</p><p>efetivamente entregues ao destinatário, então a taxa de perda é de 20%, ou seja, 10 de 50</p><p>pacotes não foram entregues.</p><p>Utilizando essas e outras métricas mais especí�cas, os provedores especi�cam condições para</p><p>provisão dos serviços de computação em nuvem em um documento chamado Acordo de Nível</p><p>de Serviço (SLA – Service Level Agreement) (Erl; Puttini; Mahmoo, 2013). O SLA descreve de</p><p>forma objetiva as garantias de QoS, a con�abilidade e o desempenho de cada serviço. Uma das</p><p>principais métricas de QoS utilizadas por provedores de nuvem pública</p><p>é a disponibilidade de um</p><p>serviço, que é determinada como a porcentagem do tempo em que um serviço se mantém apto</p><p>para responder corretamente as requisições de aplicações, clientes ou usuários. Por exemplo, se</p><p>um serviço web �cou “fora do ar” por 8 dias durante um período de 100 dias, então pode-se</p><p>a�rmar que a sua disponibilidade foi de apenas 92%.</p><p>Os provedores utilizam um mecanismo denominado monitor de SLA para monitorar</p><p>continuamente os indicadores de desempenho dos serviços em nuvem, a �m de veri�car se eles</p><p>estão de acordo com as métricas de qualidade estabelecidas no SLA (Erl; Putiini; Mahmood,</p><p>2013). O provedor mantém um banco de dados com as informações de desempenho coletadas</p><p>por esse mecanismo. A Figura 1 mostra o papel do monitor de SLA, considerando um exemplo no</p><p>qual os serviços monitorados são máquinas virtuais. O monitor de SLA veri�ca periodicamente</p><p>se as VM estão ativas, enviando mensagens de requisição (req) simples. Cada máquina virtual</p><p>envia uma mensagem de resposta (resp). Nesse caso, a VM-1 não responde ao monitor, então, é</p><p>considerada inativa. As informações são armazenadas em um banco de dados com estatísticas</p><p>sobre os serviços do provedor. As informações coletadas pelo monitor de SLA podem ser usadas</p><p>pelo sistema de gerenciamento do provedor para gerar relatórios de análise de desempenho dos</p><p>serviços e para �ns de tarifação.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Figura 1 | Visão geral da atuação do Monitor de SLA.</p><p>Siga em Frente...</p><p>Con�abilidade, escalabilidade, disponibilidade e desempenho de</p><p>aplicações em nuvem</p><p>Além da disponibilidade, os provedores de computação em nuvem podem considerar outras</p><p>métricas de qualidade de serviço (Erl; Puttini; Mahmoo, 2013). Entre as principais métricas, pode-</p><p>se destacar: escalabilidade, performance, con�abilidade e resiliência. A escalabilidade diz</p><p>respeito à capacidade de um sistema de ajustar a quantidade de recursos computacionais de</p><p>acordo com a demanda. Quando um sistema é considerado escalável, isso signi�ca que um</p><p>aumento na carga de trabalho não compromete o desempenho desse sistema, pois novos</p><p>recursos podem ser alocados para que não aconteça sobrecarga. A performance é uma medida</p><p>direta da capacidade de execução do serviço. Pode ser medida, por exemplo, pelo tempo de</p><p>resposta, que consiste no tempo total para um cliente receber a resposta para uma requisição</p><p>enviada a um servidor, incluindo o tempo gasto pelo servidor para executar a operação</p><p>requisitada. A con�abilidade consiste na capacidade do serviço de operar continuamente sem</p><p>falhas. Ela pode ser medida em termos do tempo médio entre falhas, ou seja, o tempo esperado</p><p>entre a ocorrência de falhas. A resiliência representa uma medida da robustez de um serviço. Ela</p><p>está relacionada ao grau de tolerância a falhas do serviço. A resiliência pode ser medida em</p><p>termos do tempo médio para recuperação, quando da ocorrência de uma falha.</p><p>Em geral, o Monitor de SLA tem relação não somente com a disponibilidade, mas também com</p><p>as demais métricas de QoS mencionadas: performance, escalabilidade, con�abilidade e</p><p>resiliência. As informações coletadas por esse monitor não são usadas apenas para diagnosticar</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>quais serviços estão disponíveis (ativos), por exemplo, o monitor de SLA veri�ca outros dados</p><p>sobre as VM, como uso de memória e processador. Portanto, os dados coletados servem para</p><p>determinar indicadores de desempenho. Além disso, as informações do monitor de SLA serve</p><p>também para disparar eventos que acionam outros mecanismos que visam melhorar a qualidade</p><p>de serviço no provedor de computação em nuvem. Entre esses mecanismos, podemos destacar:</p><p>dimensionamento automático; balanceamento de carga; recuperação de desastres (falhas) (Erl;</p><p>Puttini; Mahmoo, 2013). Por exemplo, uma sobrecarga em um servidor identi�cada pelo monitor</p><p>de SLA pode acionar o mecanismo de dimensionamento automático para criar réplicas desse</p><p>servidor. Todos os mecanismos, em conjunto, contribuem para melhorar o desempenho dos</p><p>serviços provisionados, o que se re�ete nas métricas de QoS.</p><p>O mecanismo de dimensionamento automático (automated scaling) é responsável por ajustar a</p><p>capacidade de um serviço em função das demandas. Se a carga de trabalho aumenta, o</p><p>mecanismo aloca mais recursos para manter a performance do serviço. Por exemplo, esse</p><p>mecanismo pode automaticamente criar uma réplica de um banco de dados para lidar com um</p><p>aumento no número de consultas ao banco. Se a carga de trabalho diminui, o mecanismo libera</p><p>recursos ociosos para reduzir custos. Assim, esse mecanismo confere escalabilidade aos</p><p>serviços em nuvem de forma automatizada, buscando otimizar a relação entre custo e</p><p>performance (Mao; Humphrey, 2011). O redimensionamento (escalonamento) pode ser vertical</p><p>ou horizontal. O vertical corresponde a aumentar a con�guração de um recurso, por exemplo,</p><p>recon�gurar uma máquina virtual com 8GB de memória para 16GB. O escalonamento horizontal</p><p>corresponde a criar réplicas de uma instância e é bastante utilizado em aplicações web. Nesse</p><p>caso, s VM VMão criadas réplicas do servidor web ou do servidor de bancos de dados para</p><p>atender a um aumento no número de requisições recebidas pela aplicação. A Figura 2 ilustra os</p><p>conceitos de escalonamento vertical e horizontal.</p><p>Figura 2 | Comparação entre escalonamento vertical e horizontal.</p><p>O balanceamento de carga é um mecanismo para distribuir a demanda de trabalho entre as</p><p>réplicas de um serviço. Por exemplo, cada nova requisição que chega à rede do provedor pode</p><p>ser encaminhada para a réplica menos sobrecarregada. Isso resulta em melhor performance,</p><p>pois diminui o tempo de resposta das requisições. Em conjunto com o dimensionamento</p><p>automático, o balanceamento de carga também favorece a escalabilidade e a disponibilidade do</p><p>serviço, pois se uma instância de um serviço ser tornar inativa (indisponível, devido a uma falha</p><p>por exemplo) as requisições a esse serviço podem ser encaminhadas para outra réplica.</p><p>A Figura 3 mostra um exemplo de um mecanismo de balanceamento de carga para um serviço</p><p>de streaming de vídeo. Suponha que um provedor tenha três data centers em diferentes regiões:</p><p>Alemanha, Califórnia e São Paulo. O mecanismo de balanceamento de carga escolhe a réplica do</p><p>servidor de streaming mais próxima do cliente para melhorar a performance do serviço. De fato,</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>existem várias técnicas para implementar o balanceamento de carga, como distribuição</p><p>uniforme, balanceamento ponderado, entre outras (Kansal; Chana, 2012).</p><p>Figura 3 | Balanceamento de carga baseado em localização.</p><p>O mecanismo de recuperação de falhas trabalha em conjunto com os demais mecanismos. O</p><p>objetivo do mecanismo de recuperação a falhas é identi�car a ocorrência de falhas para que as</p><p>requisições sejam redirecionadas somente para as réplicas do serviço que estejam ativas e</p><p>funcionando corretamente. Quando uma instância falha, o mecanismo de balanceamento de</p><p>carga é avisado para não redirecionar requisições para essa instância. Assim, a implementação e</p><p>recuperação a falhas contribui também para aumentar a con�abilidade e a disponibilidade do</p><p>serviço.</p><p>Observe que o mecanismo de recuperação a falhas depende da redundância (replicação) de</p><p>recursos. Por exemplo, quando uma instância de um serviço falha, deve haver uma réplica</p><p>(secundária) desse serviço já preparada para receber as requisições. De acordo com a forma</p><p>como a réplica secundária é utilizada, existem dois modelos básicos de recuperação a falhas:</p><p>modelo ativo-ativo e modelo ativo-passivo (Erl; Puttini; Mahmoo, 2013). No modelo ativo-passivo,</p><p>a réplica secundária não é utilizada para atender requisições regularmente. Ela só é acionada</p><p>quando a réplica principal falha. A Figura 4 exempli�ca essa estratégia.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Figura 4 | Visão geral do modelo ativo-passivo.</p><p>Quando a máquina virtual primária falha, as requisições dos clientes são direcionadas para sua</p><p>réplica. No modelo ativo-ativo, ambas as réplicas recebem requisições (sem distinção).</p><p>Quando</p><p>uma das réplicas falha, então, todas as requisições são redirecionadas para a outra, até que a</p><p>réplica que falhou seja corrigida ou uma nova réplica seja instanciada. A Figura 5 mostra um</p><p>cenário baseado nesse modelo.</p><p>Figura 5 | Visão geral do modelo ativo-ativo.</p><p>Em geral, para cada serviço em nuvem que exige alta disponibilidade, são criadas diversas</p><p>réplicas, inclusive réplicas em outro data center do provedor. Dessa forma, mesmo que aconteça</p><p>um grave desastre em alguma região que comprometa esse data center, o serviço continuará</p><p>disponível, pois existem réplicas em outro.</p><p>Como exemplos de desastres, podemos citar falhas nos sistemas de distribuição de energia</p><p>elétrica que resultam em blackouts, podendo durar horas ou dias. Também podem ocorrer</p><p>catástrofes naturais, como inundações. Nesses casos, as instalações de um data center</p><p>poderiam �car completamente inoperantes, o que afetaria a continuidade dos negócios que</p><p>dependem da disponibilidade dos serviços do provedor. Imagine os prejuízos!</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>O projeto de aplicações em nuvem envolve não somente determinar a arquitetura dos</p><p>componentes da aplicação, mas também os mecanismos necessários para garantir os requisitos</p><p>de desempenho. Os provedores oferecem mecanismos de balanceamento de carga, recuperação</p><p>de falhas e dimensionamento automático. Esses mecanismos devem ser habilitados ou</p><p>incorporados na aplicação para otimização do seu desempenho.</p><p>Nesta aula, aprendemos muito sobre o desempenho de aplicações em nuvem. Foram descritas</p><p>várias métricas que permitem especi�car de forma objetiva os requisitos de qualidade de</p><p>serviço. Também foram explicados alguns mecanismos importantes que são utilizados para</p><p>aumentar a performance, disponibilidade e resiliência de aplicações em nuvem.</p><p>Vamos Exercitar?</p><p>Abordagens de recuperação a falhas</p><p>Descrição da situação-problema</p><p>As aplicações em algumas áreas, como no setor �nanceiro, saúde e governamental, apresentam</p><p>requisitos bastante rigorosos em relação à con�abilidade e disponibilidade dos serviços. Nesses</p><p>casos, é importante o uso de mecanismos de recuperação a falhas. Existem dois modelos</p><p>básicos para isso: ativo-ativo e ativo-passivo. Faça uma análise comparativa desses modelos a</p><p>�m de destacar suas vantagens e desvantagens, em termos de custo e desempenho.</p><p>Resolução da situação-problema</p><p>A estratégia básica de recuperação a falhas é a redundância: recursos adicionais são usados em</p><p>caso de falha dos recursos inicialmente alocados, assim, o serviço continuará disponível. Vimos</p><p>que existem dois modelos básicos para mecanismos de recuperação a falhas: ativo-ativo e ativo-</p><p>passivo. Para compreender melhor a diferença entre eles, vamos considerar que, para um dado</p><p>serviço em nuvem, existe a instância principal do serviço e uma instância secundária (uma</p><p>réplica criada para viabilizar a implementação da recuperação de falhas). No modelo ativo-</p><p>passivo, a réplica secundária é utilizada apenas no caso de falha na instância principal. No</p><p>modelo ativo-ativo, a réplica secundária é utilizada no balanceamento de carga para ajudar no</p><p>processamento das requisições ao serviço. A vantagem do modelo ativo-ativo é um custo menor,</p><p>pois não há ociosidade de uma réplica secundária alocada somente para recuperação a falhas.</p><p>Por outro lado, esse modelo implica em um risco. Se a réplica secundária é utilizada no</p><p>balanceamento de carga regularmente, ela pode estar sobrecarregada no momento em que a</p><p>instância principal falhar. Nesse caso, a falta de recursos disponíveis na réplica secundária pode</p><p>comprometer o desempenho.</p><p>Saiba mais</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Balanceamento de carga é a prática de distribuir cargas de trabalho computacionais entre dois</p><p>ou mais computadores. Na internet, o balanceamento de carga é frequentemente empregado</p><p>para dividir o tráfego de rede entre vários servidores. Para saber mais sobre esse assunto,</p><p>consulte: O que é balanceamento de carga.</p><p>Referências</p><p>CHEN, Y.; FARLEY, T.; YE, N. QoS requirements of network applications on the Internet.</p><p>ERL, T.; PUTTINI, R.; MAHMOOD, Z. Cloud computing: concepts, technology & architecture. Rio de</p><p>Janeiro: Prentice Hall, 2013.</p><p>Information Knowledge Systems Management, v. 4, 2004.</p><p>KAMIENSKI, C.; SADOK, D. Qualidade de Serviço na Internet. In: Minicursos do XVIII Simpósio</p><p>Brasileiro de Redes de Computadores (SBRC 2000). [S.l.]: Sociedade Brasileira de Computação, p.</p><p>1–40, 2000. Disponível em:</p><p>https://www.researchgate.net/publication/242087340_Qualidade_de_Servico_na_Internet</p><p>Acesso em: 8 fev. 2024.</p><p>KANSAL, N. J.; CHANA, I. Cloud load balancing techniques: A step towards green computing.</p><p>IJCSI International Journal of Computer Science Issues, v. 9, 2012.</p><p>NETFLIX. Posso assistir aos títulos da Net�ix em Ultra HD? Centro de ajuda do Portal da Net�ix,</p><p>[s.d.]. Disponível em: https://help.net�ix.com/en/node/13444 Acesso em: 14 jul. 2019.</p><p>MAO, M.; HUMPHREY, M. Auto-scaling to minimize cost and meet application deadlines in cloud</p><p>work�ows. In: Proceedings of 2011 International Conference for High Performance Computing,</p><p>Networking, Storage and Analysis. IEEE, 2011.</p><p>Aula 3</p><p>Segurança e Privacidade em Nuvem</p><p>Segurança e Privacidade em Nuvem</p><p>Este conteúdo é um vídeo!</p><p>Para assistir este conteúdo é necessário que você acesse o AVA pelo</p><p>computador ou pelo aplicativo. Você pode baixar os vídeos direto no aplicativo</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>para assistir mesmo sem conexão à internet.</p><p>Dica para você</p><p>Aproveite o acesso para baixar os slides do vídeo, isso pode deixar sua</p><p>aprendizagem ainda mais completa.</p><p>Olá, estudante! Nesta videoaula, você irá conhecer o importante tema da segurança e privacidade</p><p>em nuvem. Esses são aspectos críticos ao lidar com serviços em nuvem para garantir a</p><p>integridade, con�dencialidade e disponibilidade dos dados. Entender e implementar práticas</p><p>e�cazes de segurança e privacidade em nuvem é vital para proteger dados sensíveis, garantir a</p><p>conformidade e manter a con�ança dos usuários e stakeholders.</p><p>Esse conteúdo é importante para a sua prática pro�ssional, pois a segurança e privacidade em</p><p>nuvem são pilares essenciais para garantir a proteção, con�abilidade e conformidade das</p><p>operações digitais. Pro�ssionais que incorporam esses princípios em suas práticas contribuem</p><p>para ambientes de TI mais seguros e resilientes.</p><p>Prepare-se para essa jornada de conhecimento! Vamos lá!!!</p><p>Ponto de Partida</p><p>Olá, estudante! A segurança e a privacidade dos dados é um dos aspectos mais controversos da</p><p>computação em nuvem. Por um lado, algumas empresas e pro�ssionais de TI, fazem</p><p>questionamentos em relação à migração de dados e aplicações para a nuvem, alegando que o</p><p>uso de provedores públicos aumenta a exposição dos dados e as chances de vulnerabilidades de</p><p>segurança. Além disso, os recursos dos provedores são compartilhados entre diversos clientes,</p><p>de forma que falhas de proteção e isolamento poderiam permitir que um cliente tivesse acesso</p><p>aos dados de outros.</p><p>Por outro lado, o data center dos provedores conta com uma infraestrutura mais robusta e</p><p>con�ável do que a maioria das empresas poderiam manter em suas próprias instalações. Além</p><p>disso, os provedores contam com pro�ssionais altamente especializados para implementação</p><p>dos mecanismos de segurança a um custo relativamente menor e o crescimento de uso da</p><p>computação em nuvem mostra o sucesso com a solução da maioria dos problemas de</p><p>segurança, caso contrário as empresas não estariam migrando suas soluções de TI para a</p><p>nuvem. De fato, um estudo da Google Cloud em parceria com o MIT mostra um aumento</p><p>signi�cativo da con�ança das empresas em relação à segurança em nuvem (Google, 2017). O</p><p>estudo mostra, ainda, que o aumento da segurança é o segundo fator mais importante para as</p><p>empresas na decisão de utilizar serviços em nuvem.</p><p>Nesta aula, vamos aprender as principais propriedades que caracterizam, de forma geral, um</p><p>sistema computacional seguro. Depois, vamos descrever os conceitos básicos sobre</p><p>gerenciamento de riscos e, por �m, vamos explicar as ameaças</p><p>e as vulnerabilidades para</p><p>aplicações em ambientes de nuvem, além de alguns dos mecanismos que podem ser usados</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>para melhorar a segurança das soluções. Esses assuntos são de extrema relevância,</p><p>principalmente para aplicações críticas ou para aquelas que envolvem dados sigilosos.</p><p>Bons estudos!</p><p>Vamos Começar!</p><p>Mecanismos de segurança para aplicações em nuvem</p><p>Embora a computação em nuvem possa trazer vários benefícios, existem alguns desa�os na</p><p>adoção de soluções. Você conhece as principais di�culdades apontadas pelas empresas em</p><p>relação ao uso de serviços em provedores de nuvem pública? Entre essas di�culdades, pode-se</p><p>destacar as questões de segurança e privacidade, de acordo com um estudo realizado em 2018</p><p>(Tucker, 2019). Isso acontece porque o acesso às aplicações nos provedores é feito por meio da</p><p>Internet. Assim, existe uma maior exposição dos dados e serviços em comparação ao cenário no</p><p>qual uma empresa mantém sua própria infraestrutura de TI, com a comunicação entre os</p><p>componentes realizada através de uma rede local. Dessa forma, a maior exposição dos dados na</p><p>internet, no modelo de computação em nuvem, aumenta as chances de ataques que buscam</p><p>violar a segurança das aplicações. Portanto, esse tipo de projeto exige muito cuidado com</p><p>aspectos da segurança dos serviços e da privacidade dos dados. São imprescindíveis o uso de</p><p>mecanismos de segurança e o estabelecimento de uma estratégia de gerenciamento de riscos.</p><p>Antes de conhecer as principais vulnerabilidades de aplicações em nuvem e os principais</p><p>mecanismos de segurança, precisamos compreender os princípios de segurança da informação</p><p>e as propriedades de um sistema seguro. Conforme apresentado na literatura (Kurose; Ross,</p><p>2013; Tanenbaum; Steen, 2008), as propriedades básicas de uma comunicação segura e</p><p>con�ável são:</p><p>Con�dencialidade: sigilo do conteúdo dos pacotes transmitidos na rede.</p><p>Integridade: garantia de que os dados transmitidos não podem ser alterados.</p><p>Autenticidade: con�rmação da identidade das partes envolvidas na transmissão dos dados.</p><p>Disponibilidade: garantia de que um sistema estará apto para realizar as operações de</p><p>transmissão ou processamento dos dados.</p><p>Vamos estudar os principais mecanismos de segurança disponíveis. Entre eles, podemos</p><p>mencionar: criptogra�a, gerenciamento de acesso e identidade, autenticação uni�cada e</p><p>imagens fortalecidas de máquinas virtuais.</p><p>A criptogra�a consiste em técnicas que permitem disfarçar os dados enviados, de forma que um</p><p>atacante não consiga obter nenhuma informação dos dados interceptados (Kurose; Ross, 2013).</p><p>Isso implica codi�car os dados de modo que somente o destinatário legítimo possa decifrá-los,</p><p>tornando-os, assim, ininteligíveis para terceiros. A principal aplicação da criptogra�a é assegurar</p><p>a con�dencialidade dos dados armazenados nos provedores de nuvem pública e dos dados</p><p>transmitidos entre um provedor e seus clientes. Além disso, a criptogra�a também pode ser</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>usada em mecanismos para garantia de integridade e autenticidade. Uma vez que a criptogra�a</p><p>pode ser usada na implementação de diversos mecanismos, ela é considerada um conceito</p><p>fundamental para a segurança de sistemas computacionais.</p><p>Os algoritmos utilizados para codi�car os dados são de conhecimento público, mas, para</p><p>decodi�cá-los, é necessário um código secreto denominado chave de criptogra�a. Existem duas</p><p>abordagens: a criptogra�a de chaves simétricas e a criptogra�a de chave pública (Kurose; Ross,</p><p>2013). Na primeira abordagem, existe uma única chave que é utilizada pelo remetente para</p><p>criptografar os dados que serão enviados ou armazenados em nuvem. O receptor precisa de uma</p><p>cópia dessa chave para decodi�car os dados. Na abordagem de chave pública, o processo</p><p>envolve um par de chaves. Para o destinatário receber os dados, ele precisa gerar o seu par de</p><p>chaves; uma delas é denominada pública e não precisa ser mantida em segredo; a outra chave é</p><p>denominada privada e deve ser mantida em segredo. O remetente usa a chave pública do</p><p>destinatário para criptografar os dados. Assim, os dados só podem ser decifrados com a chave</p><p>privada correspondente mantida em segredo pelo destinatário.</p><p>Os algoritmos de criptogra�a também podem ser usados em funções de hash para veri�car a</p><p>integridade dos dados (Erl; Puttini; Mahmood, 2013). Um código hash do conteúdo a ser</p><p>transmitido é gerado pelo receptor e disponibilizado ao destinatário. Quando recebe os dados, o</p><p>destinatário gera novamente o código hash e compara com o código gerado pelo receptor. Se os</p><p>códigos não são iguais é porque o conteúdo foi alterado durante a transmissão e deve, portanto,</p><p>ser descartado. Se os códigos são iguais, então a integridade dos dados foi mantida. A</p><p>criptogra�a também é utilizada em mecanismos de assinatura digital, que são importantes na</p><p>garantia de autenticidade.</p><p>Os mecanismos de criptogra�a podem ser utilizados para garantir a con�dencialidade e</p><p>integridade dos dados transmitidos através da Internet. No caso do uso de nuvem pública, esses</p><p>mecanismos também podem ser usados para con�dencialidade e integridade dos dados</p><p>armazenados no provedor. No entanto, esse processo pode afetar o desempenho, devido ao</p><p>tempo gasto para criptografar os dados nas operações de escrita e para descriptografar os</p><p>dados nas operações de leitura. Essa opção de armazenar os dados de forma criptografada é</p><p>oferecida pela maioria dos provedores e serve para lidar com ataques de virtualização e garantir</p><p>a privacidade, mesmo que estejam em equipamentos compartilhados.</p><p>Outra solução de segurança importante nos provedores de nuvem pública é o Gerenciamento de</p><p>Acesso e Identidade (IAM – Identity and Access Management) (Erl; Puttini; Mahmood, 2013).</p><p>Esse recurso é utilizado pelos provedores, principalmente, para implementação de políticas de</p><p>controle de acesso. O IAM permite o gerenciamento e a autenticação de usuários, assim como o</p><p>controle de privilégios para grupos de usuários e gerenciamento de credenciais. Esse tipo de</p><p>recurso é importante na implementação de soluções de segurança para lidar com ataques de</p><p>negação de serviços, autenticação fraca e violação de privacidade no acesso a dados e serviços.</p><p>Se um cliente utiliza serviços em vários provedores, então, é importante também para questões</p><p>de controle de acesso o uso de mecanismos de autenticação uni�cada (SSO – Single Sign On).</p><p>Esses mecanismos oferecem uma solução segura para autenticação em vários provedores,</p><p>utilizando as mesmas credenciais.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Outro recurso bastante utilizado pelos provedores de computação em nuvem para aprimorar a</p><p>segurança dos serviços é o uso de imagens fortalecidas de máquinas virtuais (Hardened VM</p><p>Images) (Erl; Puttini; Mahmood, 2013). Sabemos que as instâncias de máquinas virtuais são</p><p>criadas a partir de imagens disponíveis no provedor. As imagens fortalecidas são aquelas que</p><p>foram con�guradas por especialistas, considerando políticas de segurança rigorosas para</p><p>eliminar possíveis vulnerabilidades. Dessa forma, quando um cliente cria uma VM a partir de uma</p><p>imagem fortalecida, ele sabe que o sistema operacional dessa VM já foi con�gurado com as</p><p>melhores práticas de segurança conhecidas.</p><p>Os mecanismos de segurança devem ser usados em conjunto e aprimorados continuamente</p><p>para lidarem com eventuais ações maliciosas contra as aplicações em ambientes de nuvem. É</p><p>importante ressaltar que a segurança não é responsabilidade somente do provedor de</p><p>computação em nuvem; o cliente dos serviços também precisa cooperar. Para assegurar a</p><p>con�abilidade e a segurança de uma aplicação, é importante a de�nição de uma estratégia de</p><p>gerenciamento de riscos, que permitirá que uma empresa possa lidar com problemas de</p><p>segurança, tanto em relação à segurança de dados e redes como em relação à governança e</p><p>conformidade dos serviços, ao migrar suas aplicações para um provedor de nuvem pública.</p><p>Como ilustrado na Figura 1, o gerenciamento de riscos envolve três etapas: avaliação, tratamento</p><p>e controle (Erl; Puttini;</p><p>Mahmood, 2013).</p><p>Figura 1 | Ciclo do processo de gerenciamento de riscos.</p><p>Gerenciamento de riscos para serviços em nuvem</p><p>A etapa de avaliação de riscos consiste em analisar as possíveis vulnerabilidades e ameaças no</p><p>ambiente operacional do provedor de nuvem. Devem ser analisados o histórico de incidentes de</p><p>segurança e as características da rede do provedor. Nessa etapa, os riscos são identi�cados e</p><p>classi�cados em termos do impacto que podem causar. A etapa de tratamento de risco envolve a</p><p>de�nição de estratégias e políticas de segurança e a realização de ações para evitar ou atenuar o</p><p>efeito dos identi�cados na etapa anterior. Nessa fase, também precisa estar claro quais são as</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>responsabilidades do provedor e dos clientes; algumas delas podem, inclusive, ser delegadas</p><p>para empresas ou pro�ssionais especializados. O último estágio (controle de riscos) é o</p><p>momento de diagnosticar a e�cácia das ações de segurança implementadas, no qual podem ser</p><p>de�nidas formas de aprimorar os mecanismos de segurança. Esse processo de gerenciamento</p><p>de risco deve se repetir periodicamente, pois novas ameaças podem surgir, novas tecnologias e</p><p>aplicações podem ser incluídas no ambiente do provedor, assim como podem ser introduzidos</p><p>mecanismos de segurança mais so�sticados.</p><p>Alguns aspectos importantes a serem considerados ao gerenciar riscos para serviços em nuvem:</p><p>Avaliação de riscos: realize uma avaliação completa dos riscos associados ao uso de</p><p>serviços em nuvem. Isso envolve identi�car ameaças potenciais, vulnerabilidades e</p><p>possíveis impactos nos negócios.</p><p>Classi�cação de dados: classi�que os dados com base em sua sensibilidade e</p><p>importância. Isso ajuda a determinar quais dados precisam de medidas de segurança mais</p><p>rigorosas.</p><p>Contratos e Acordos de Nível de Serviço (SLA): analise cuidadosamente os contratos e com</p><p>provedores de serviços em nuvem para garantir que incluam disposições relacionadas à</p><p>segurança, privacidade e conformidade.</p><p>Conformidade regulatória: certi�que-se de que os serviços em nuvem estejam em</p><p>conformidade com regulamentações especí�cas da indústria e requisitos legais que se</p><p>aplicam à sua organização.</p><p>Resiliência e recuperação de desastres: desenvolva planos de resiliência e recuperação de</p><p>desastres para garantir a continuidade dos negócios em caso de falhas ou eventos</p><p>adversos.</p><p>Avaliação de provedores de nuvem: realize uma avaliação minuciosa dos provedores de</p><p>serviços em nuvem, levando em consideração sua postura de segurança, histórico de</p><p>incidentes e práticas de conformidade.</p><p>Controle de acesso e autenticação: implemente controles robustos de acesso e</p><p>autenticação para garantir que apenas usuários autorizados tenham permissão para</p><p>acessar recursos críticos.</p><p>Criptogra�a: utilize a criptogra�a para proteger dados sensíveis durante a transmissão e</p><p>armazenamento, reduzindo o risco de acesso não autorizado.</p><p>Monitoramento contínuo: estabeleça sistemas de monitoramento contínuo para identi�car</p><p>atividades suspeitas e responder prontamente a possíveis incidentes de segurança.</p><p>Atualizações de segurança: mantenha os sistemas e software atualizados com as últimas</p><p>correções de segurança para mitigar vulnerabilidades conhecidas.</p><p>Treinamento em segurança: forneça treinamento regular em segurança para todos os</p><p>usuários, aumentando a conscientização sobre práticas seguras ao usar serviços em</p><p>nuvem.</p><p>Gestão de identidade e acesso: implemente políticas de gestão de identidade e�cazes para</p><p>garantir que apenas as pessoas certas tenham acesso aos recursos adequados.</p><p>Estratégias de mitigação: desenvolva estratégias de mitigação para reduzir a probabilidade</p><p>e o impacto de possíveis riscos, garantindo uma abordagem proativa.</p><p>Testes de penetração: realize testes regulares de penetração para identi�car e corrigir</p><p>possíveis vulnerabilidades antes que se tornem alvos de exploração.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Compartilhamento responsável: se os serviços em nuvem envolvem compartilhamento de</p><p>recursos com terceiros, certi�que-se de que a colaboração seja realizada de maneira</p><p>segura e responsável.</p><p>Siga em Frente...</p><p>Principais ameaças e vulnerabilidades para aplicações em</p><p>nuvem</p><p>A internet é uma rede que não inclui em sua arquitetura a implementação das propriedades de</p><p>uma comunicação segura (Kurose; Ross, 2013).</p><p>Dessa forma, a infraestrutura de rede dos provedores de acesso à internet (ISPs – Internet</p><p>Service Providers) é considerada um meio de comunicação inseguro. Portanto, uma aplicação</p><p>que utiliza a internet como rede de comunicação precisa ser protegida por meio de mecanismos</p><p>de segurança, como criptogra�a e controle de acesso. Nesse contexto, o projeto de aplicações</p><p>em nuvem precisa contemplar estratégias e ferramentas de segurança para garantia de</p><p>autenticidade, con�dencialidade e integralidade dos dados transmitidos entre os clientes e o</p><p>provedor. A Figura 2 ilustra esse cenário. A comunicação de dados entre os usuários legítimos e</p><p>os serviços disponíveis no provedor está sujeita às ações de agentes maliciosos que visam</p><p>realizar ataques que exploram eventuais vulnerabilidades das aplicações.</p><p>Figura 2 | Comunicação através de um meio inseguro, como a Internet.</p><p>Vamos discutir as principais ameaças e vulnerabilidades que podem afetar as aplicações em</p><p>nuvem para, depois, explicar alguns mecanismos e políticas que podem ser utilizados para lidar</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>com esses problemas e melhorar o nível de segurança das aplicações. Conforme explicam Erl,</p><p>Puttini e Mahmood (2013), as principais ameaças de segurança para aplicações em nuvem são:</p><p>interceptação de tráfego, negação de serviço e ataques de virtualização. Vamos conhecer a</p><p>de�nição e as características de cada um desses tipos de ataque:</p><p>Interceptação de tráfego: ocorre quando uma entidade não autorizada é capaz de obter as</p><p>informações transmitidas entre provedor em nuvem e clientes, de forma que a</p><p>con�dencialidade dos dados é violada (Erl; Puttini; Mahmood, 2013). Esse tipo de ataque é</p><p>difícil de ser detectado, pois é passivo, no sentido em que não há modi�cações nos dados</p><p>ou sistemas. O atacante apenas copia os dados transmitidos na rede para ter acesso a</p><p>informações sigilosas dos provedores e seus clientes. Esse cenário caracteriza uma forma</p><p>de espionagem.</p><p>Negação de Serviço (DoS – Denial of Service): tem o objetivo de afetar a disponibilidade</p><p>dos serviços. Esse ataque consiste em sobrecarregar o serviço com um grande volume de</p><p>requisições, de forma que não consiga mais responder aos clientes legítimos com um</p><p>desempenho satisfatório (Erl; Puttini; Mahmood, 2013). A Figura 3 mostra um exemplo de</p><p>um ataque de DoS. Nesse caso, um servidor em um provedor de nuvem é sobrecarregado</p><p>com requisições disparadas de computadores que foram invadidos e controlados por um</p><p>atacante. Com a sobrecarga de requisições em um curto período, o servidor terá</p><p>di�culdades em atender as requisições dos clientes legítimos.</p><p>Figura 3 | Cenário exemplo de um ataque de DoS.</p><p>Para resistir aos ataques de DoS, os provedores identi�cavam e bloqueavam os endereços dos</p><p>nós da rede de onde os atacantes disparavam as requisições. No entanto, esses ataques �caram</p><p>mais so�sticados. Em vez de disparar um grande volume de requisições de alguns nós, o que</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>facilitava a identi�cação da fonte do ataque, os atacantes passaram a disparar poucas</p><p>requisições de grande número de computadores dispersos pela internet. Essa estratégia é</p><p>denominada ataque de DoS distribuído (DDoS – Distributed DoS). Assim, é muito difícil para o</p><p>provedor distinguir as requisições enviadas por clientes con�áveis das requisições geradas pelos</p><p>atacantes em computadores que foram invadidos.</p><p>Outra ameaça bastante relevante para aplicações em nuvem são os ataques de virtualização, que</p><p>buscam explorar eventuais falhas e vulnerabilidades nas ferramentas de virtualização utilizadas</p><p>pelos provedores (Erl; Puttini; Mahmood, 2013). Nesse caso, o atacante pode conseguir algum</p><p>nível de controle sobre a infraestrutura de TI do provedor.</p><p>Outro problema é que pode haver</p><p>violação da privacidade dos dados dos clientes do provedor. Como a virtualização permite que</p><p>diversos recursos compartilhem um mesmo recurso físico, pode haver dados de diversos</p><p>clientes em um mesmo equipamento. Os ataques às ferramentas de virtualização podem</p><p>conseguir violar os mecanismos de proteção que existem para manter um isolamento entre os</p><p>recursos e dados de diversos clientes que compartilham a infraestrutura do provedor.</p><p>Além das ameaças relacionadas com segurança de dados e redes, os provedores de</p><p>computação em nuvem também precisam lidar com ameaças relacionadas a outras categorias</p><p>de segurança, como governança, conformidade e questões legais (Gonzalez et al., 2013). Entre</p><p>os principais problemas nessas categorias, podemos citar:</p><p>Baixo nível de controle administrativo sobre a segurança dos dados por parte dos clientes</p><p>de um provedor.</p><p>Dependência das tecnologias e políticas de segurança adotadas pelo provedor.</p><p>Problemas relacionados aos requisitos de con�abilidade e políticas de auditoria</p><p>estabelecidos em acordos de qualidade de serviço (SLA).</p><p>Jurisdição dependente da localização dos provedores onde estão armazenados os dados, pois</p><p>alguns provedores possuem data centers em países diferentes.</p><p>Vamos Exercitar?</p><p>Segurança no download de aplicativos</p><p>Descrição da situação-problema</p><p>Considere que você foi contratado como analista de TI por uma empresa que mantém uma loja</p><p>online de aplicativos. Os usuários acessam a loja para fazer download para seus dispositivos</p><p>móveis. Existe um problema de segurança que consiste no fato de que o arquivo executável (do</p><p>aplicativo) recebido do usuário seja diferente do arquivo disponível para download na loja. Isso</p><p>pode acontecer por falhas na transmissão que, de alguma forma, corromperam o conteúdo do</p><p>arquivo durante o envio dos dados através da Internet. Outra possibilidade é que um atacante</p><p>tenha interceptado e alterado intencionalmente o arquivo para injetar um código executável</p><p>malicioso no arquivo original. Sua tarefa é caracterizar como essa ameaça viola as propriedades</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>de segurança e descrever algum mecanismo que possa ser utilizado para lidar com o problema</p><p>descrito.</p><p>Resolução da situação-problema</p><p>Aprendemos sobre quatro propriedades de um sistema seguro: autenticidade, con�dencialidade,</p><p>integridade e disponibilidade. As ameaças descritas não afetam a disponibilidade da aplicação,</p><p>pois a loja continua ativa para atender às solicitações de download. Também não afetam a</p><p>autenticidade, pois o atacante não �nge sua identidade para fazer o download de um aplicativo</p><p>na loja. Também não há que se falar em con�dencialidade, pois não há sigilo sobre o arquivo</p><p>executável dos aplicativos. O problema descrito, de fato, é uma possível violação da integridade</p><p>do arquivo durante sua transmissão pela rede.</p><p>Para lidar com essas ameaças, poderia ser utilizado algum mecanismo de Hashing. Nesse caso,</p><p>o mecanismo poderia funcionar da seguinte maneira: a loja utilizaria uma função de hash para</p><p>gerar um código hash correspondente para cada arquivo executável de aplicativo disponível na</p><p>loja. O usuário deveria fazer o download do arquivo e do código hash. Quando o download for</p><p>concluído, o usuário utilizaria a mesma função de hash para gerar o código e, então, faria uma</p><p>comparação dos códigos; se fossem iguais, é porque a integridade do arquivo foi mantida. Se os</p><p>códigos fossem diferentes, é porque o arquivo foi alterado de alguma forma e, então, o download</p><p>teria que ser feito novamente. Dessa forma, mecanismos de hashing podem ser utilizados para</p><p>veri�car a integridade de arquivos executáveis transferidos de servidores na internet para evitar a</p><p>execução de código executável malicioso que, eventualmente, tenha sido incluído no arquivo por</p><p>um atacante.</p><p>Saiba mais</p><p>Leia o documento referenciado a seguir para conhecer um pouco mais sobre os riscos de</p><p>aplicações em ambientes de Computação em Nuvem.</p><p>MELO, K. Segurança na Nuvem: por onde começar? ABES, 14-04-2016.</p><p>Referências</p><p>ERL, T.; PUTTINI, R.; MAHMOOD, Z. Cloud computing: concepts, technology & architecture. Rio de</p><p>Janeiro: Prentice Hall, 2013.</p><p>GONZALEZ, N. M. et al. Segurança das nuvens computacionais: uma visão dos principais</p><p>problemas e soluções. Revista USP, São Paulo, 2013.</p><p>KUROSE, J. F.; ROSS, K. W. Redes de Computadores e a Internet: uma abordagem top-down. 6. ed.</p><p>São Paulo: Pearson Education do Brasil, 2013.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Aula 4</p><p>Casos de Uso da Computação em Nuvem</p><p>Casos de Uso da Computação em Nuvem</p><p>Este conteúdo é um vídeo!</p><p>Para assistir este conteúdo é necessário que você acesse o AVA pelo</p><p>computador ou pelo aplicativo. Você pode baixar os vídeos direto no aplicativo</p><p>para assistir mesmo sem conexão à internet.</p><p>Dica para você</p><p>Aproveite o acesso para baixar os slides do vídeo, isso pode deixar sua</p><p>aprendizagem ainda mais completa.</p><p>Olá, estudante! Nesta videoaula, mergulharemos nos diversos casos de uso que a computação</p><p>em nuvem oferece. Prepare-se para explorar como essa tecnologia tem impactado projetos,</p><p>negócios e muito mais.</p><p>Esse conteúdo é importante para a sua prática pro�ssional, para enfrentar os desa�os da era</p><p>digital, contribuindo para o sucesso de projetos, impulsionando a inovação e garantindo a</p><p>e�ciência operacional em suas práticas pro�ssionais.</p><p>Prepare-se para esta jornada de conhecimento! Vamos lá!!!</p><p>Ponto de Partida</p><p>Olá, estudante! A computação em nuvem tem sido amplamente adotada em diversos setores, em</p><p>aplicações práticas que impulsionam projetos e transformam a dinâmica dos negócios. Estudos</p><p>de casos revelam sua versatilidade, desde a implementação bem-sucedida em saúde, �nanças,</p><p>educação, até a revolução na manufatura, varejo e setor público.</p><p>Em projetos, a nuvem oferece soluções e�cientes, como armazenamento escalável, hospedagem</p><p>ágil de sites e aplicações, e ambientes de desenvolvimento/testes �exíveis. A capacidade de</p><p>processamento em nuvem é particularmente destacada em aplicações de big data, inteligência</p><p>arti�cial e aprendizado de máquina, impulsionando a análise de dados e a inovação.</p><p>No âmbito empresarial, a computação em nuvem se traduz em benefícios tangíveis. Desde o</p><p>armazenamento seguro de dados até a implementação de sistemas ERP, a nuvem permite a</p><p>continuidade de negócios com soluções de recuperação de desastres, facilitando a gestão de</p><p>documentos e a colaboração entre equipes.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Esses três temas convergem para destacar como a nuvem não apenas atende a demandas</p><p>especí�cas de diferentes setores, mas também é uma ferramenta integral para a e�ciência</p><p>operacional, inovação e transformação digital em projetos e negócios.</p><p>Bons estudos!</p><p>Vamos Começar!</p><p>Estudos de casos em diferentes setores</p><p>Os estudos de caso em diferentes setores de computação em nuvem destacam como essa</p><p>tecnologia pode ser aplicada para resolver desa�os especí�cos e impulsionar a inovação em</p><p>diversas indústrias. Aqui estão alguns exemplos de estudos de caso em setores variados:</p><p>Setor de saúde: no gerenciamento e�ciente de registros médicos, compartilhamento de</p><p>informações entre instituições e Implantação de sistemas de saúde eletrônicos na nuvem</p><p>para armazenamento seguro e compartilhamento instantâneo de dados entre pro�ssionais</p><p>de saúde.</p><p>Setor �nanceiro: no processamento rápido e seguro de transações �nanceiras,</p><p>conformidade regulatória e utilização de serviços em nuvem para processamento escalável</p><p>de transações, análise de dados em tempo real e implementação de medidas de segurança</p><p>avançadas.</p><p>Educação a distância: no acesso remoto a recursos educacionais, escalabilidade para</p><p>atender a picos de demanda e plataformas de ensino a distância baseadas em nuvem,</p><p>permitindo a entrega de conteúdo educacional, colaboração online e suporte a grandes</p><p>números de usuários simultâneos.</p><p>Manufatura inteligente: no monitoramento em tempo real, otimização de cadeias de</p><p>produção e implementação de soluções IoT conectadas à nuvem para coleta de dados em</p><p>tempo real, análise preditiva e melhoria</p><p>contínua dos processos de manufatura.</p><p>Varejo online: no gerenciamento de inventário, personalização da experiência do cliente e</p><p>utilização de plataformas de computação em nuvem para processamento rápido de</p><p>transações, análise de dados de comportamento do cliente e implementação de sistemas</p><p>de recomendação personalizados.</p><p>Agricultura digital: no monitoramento de cultivos, previsão de safras. Implantação de</p><p>sensores IoT agrícolas conectados à nuvem para coleta de dados de campo, análise de</p><p>condições climáticas e previsões baseadas em aprendizado de máquina.</p><p>Telecomunicações: no gerenciamento de tráfego de rede, escalabilidade e adoção de</p><p>infraestrutura de nuvem para fornecer serviços escaláveis, virtualização de funções de rede</p><p>(NFV) para otimização e �exibilidade.</p><p>Setor público: na entrega e�ciente de serviços públicos, segurança de dados e utilização de</p><p>plataformas de nuvem para oferecer serviços digitais, armazenamento seguro de dados</p><p>governamentais e implementação de soluções de cibersegurança.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Esses estudos de caso destacam a versatilidade e os benefícios da computação em nuvem em</p><p>diferentes setores, fornecendo soluções para desa�os especí�cos e impulsionando a</p><p>transformação digital.</p><p>Aplicações práticas da nuvem em projetos</p><p>As aplicações práticas da computação em nuvem em projetos abrangem uma variedade de</p><p>setores e casos de uso, como:</p><p>Armazenamento de dados: empresas podem armazenar grandes volumes de dados de</p><p>forma escalável e acessá-los facilmente de qualquer lugar e, com isso, ter uma redução nos</p><p>custos, alta disponibilidade, backup automático e recuperação de desastres.</p><p>Hospedagem de sites e aplicações: desenvolvedores podem implantar e hospedar sites e</p><p>aplicativos na nuvem, escalando recursos conforme necessário, com escalabilidade,</p><p>facilidade de gerenciamento, redução de custos de infraestrutura.</p><p>Desenvolvimento e testes: ambientes de desenvolvimento e testes podem ser</p><p>provisionados rapidamente na nuvem, permitindo testes mais e�cientes e agilidade no</p><p>desenvolvimento, economia de tempo, recursos sob demanda.</p><p>Big Data e análise de dados: processamento e análise de grandes conjuntos de dados,</p><p>usando serviços de big data na nuvem. Benefícios: escalabilidade, processamento paralelo,</p><p>ferramentas avançadas de análise.</p><p>Inteligência arti�cial e aprendizado de máquina: treinamento de modelos de IA/ML em</p><p>infraestruturas de nuvem, implementação de aplicações inteligentes. Poder computacional</p><p>escalável, acesso a frameworks de ML, implementação rápida.</p><p>Colaboração e comunicação empresarial: uso de plataformas de colaboração na nuvem</p><p>para comunicação e�ciente entre equipes. Acesso remoto, colaboração em tempo real,</p><p>compartilhamento de documentos.</p><p>Internet das coisas: coleta e análise de dados gerados por dispositivos IoT, usando serviços</p><p>em nuvem. Processamento de dados em escala, armazenamento e�ciente, análise em</p><p>tempo real.</p><p>Aplicações de negócios (ERP, CRM): implementação de sistemas de planejamento de</p><p>recursos empresariais (ERP) e gestão de relacionamento com o cliente (CRM) na nuvem.</p><p>Acesso remoto, atualizações automáticas, integração fácil.</p><p>Segurança e conformidade: utilização de serviços de segurança em nuvem para proteção</p><p>contra ameaças e conformidade com regulamentações. Monitoramento contínuo, detecção</p><p>de ameaças avançadas, conformidade simpli�cada.</p><p>Desktops virtuais (VDI): fornecimento de desktops virtuais baseados em nuvem para</p><p>acesso remoto. Mobilidade, fácil gerenciamento, escalabilidade.</p><p>Essas aplicações práticas demonstram como a computação em nuvem pode ser uma ferramenta</p><p>versátil para impulsionar a e�ciência, a inovação e a agilidade em projetos.</p><p>Siga em Frente...</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Aplicações práticas da nuvem em negócios</p><p>A computação em nuvem oferece diversas aplicações práticas para impulsionar os negócios,</p><p>melhorar a e�ciência operacional e facilitar a inovação. Aqui estão algumas das aplicações mais</p><p>comuns em ambientes empresariais:</p><p>Armazenamento de dados: armazenamento seguro e escalável e redução de custos de</p><p>armazenamento local, acesso remoto aos dados, backup e recuperação e�cientes.</p><p>Hospedagem de aplicações e websites: Implantação e hospedagem de aplicações</p><p>empresariais, websites e portais online. Escalabilidade conforme a demanda,</p><p>gerenciamento simpli�cado, maior disponibilidade.</p><p>Desenvolvimento e testes de software: criação de ambientes de desenvolvimento e testes</p><p>na nuvem. Provisionamento rápido, custos reduzidos, ambientes isolados para testes.</p><p>Recuperação de desastres e continuidade de negócios: implementação de soluções de</p><p>backup e recuperação na nuvem. Recuperação rápida, redundância de dados, menor</p><p>impacto em caso de falhas.</p><p>Colaboração e compartilhamento de documentos: uso de plataformas de colaboração na</p><p>nuvem para compartilhamento e edição colaborativa de documentos. Acesso remoto,</p><p>colaboração em tempo real, controle de versões.</p><p>Sistemas de gestão empresarial (ERP): implementação de soluções ERP baseadas em</p><p>nuvem para integração de processos de negócios. Atualizações automáticas, acesso</p><p>remoto, integração de dados empresariais.</p><p>Análise de dados e Business Intelligence (BI): uso de serviços em nuvem para análise de</p><p>dados e geração de insights. Escalabilidade para grandes conjuntos de dados, ferramentas</p><p>avançadas de BI, análise preditiva.</p><p>Desktops virtuais (VDI): fornecimento de desktops virtuais para funcionários em</p><p>dispositivos remotos. Mobilidade, segurança aprimorada, fácil gerenciamento centralizado.</p><p>Automação de processos: utilização de serviços em nuvem para automação de processos</p><p>de negócios. E�ciência operacional, redução de erros, integração de sistemas.</p><p>Segurança e conformidade: implementação de soluções de segurança em nuvem para</p><p>proteger dados empresariais. Monitoramento contínuo, detecção de ameaças avançadas,</p><p>conformidade simpli�cada.</p><p>Essas aplicações práticas destacam como a computação em nuvem pode transformar diferentes</p><p>aspectos dos negócios, proporcionando �exibilidade, escalabilidade e e�ciência operacional.</p><p>Vamos Exercitar?</p><p>Adoção de aplicações práticas da nuvem em projetos</p><p>Descrição da situação-problema</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Imagine uma empresa de desenvolvimento de software que enfrenta desa�os relacionados à</p><p>agilidade no desenvolvimento de projetos e colaboração e�ciente entre equipes distribuídas</p><p>geogra�camente. A empresa percebe a necessidade de adotar soluções inovadoras para superar</p><p>esses obstáculos e aprimorar seu processo de desenvolvimento de software.</p><p>Desa�os:</p><p>Ambientes de desenvolvimento limitados: os ambientes de desenvolvimento atuais são</p><p>limitados em termos de escalabilidade e agilidade e os desenvolvedores enfrentam atrasos</p><p>na criação de ambientes de teste e desenvolvimento.</p><p>Colaboração remota ine�ciente: a comunicação entre equipes distribuídas é desa�adora,</p><p>resultando em atrasos e falta de alinhamento e na di�culdade em compartilhar recursos e</p><p>manter uma visão uni�cada do progresso do projeto.</p><p>Resolução da situação-problema</p><p>A empresa decide adotar aplicações práticas da computação em nuvem para enfrentar esses</p><p>desa�os. Aqui estão as medidas tomadas para resolver a situação:</p><p>Ambientes de desenvolvimento na nuvem: implementação de ambientes de</p><p>desenvolvimento escaláveis na nuvem, permitindo a rápida criação e destruição de</p><p>instâncias, conforme necessário, e utilização de serviços, como AWS CloudFormation ou</p><p>Azure Resource Manager para automatizar a con�guração do ambiente.</p><p>Colaboração e�ciente com ferramentas em nuvem: adoção de plataformas de colaboração</p><p>na nuvem, como Slack, Microsoft Teams ou Google Workspace, para facilitar a</p><p>comunicação em tempo real e implementação de ferramentas de gerenciamento de</p><p>projetos baseadas em nuvem, como Jira ou Trello, para acompanhar e compartilhar o</p><p>progresso do projeto.</p><p>Integração contínua e entrega (CI/CD) na nuvem: implementação de pipelines de CI/CD na</p><p>nuvem para automação contínua de testes e implantação e uso de serviços, como Jenkins,</p><p>GitLab CI ou GitHub Actions para garantir uma entrega contínua e</p><p>virtualização. Em geral, os</p><p>provedores mantêm centros de dados com um grande número de servidores interligados por</p><p>redes de alto desempenho. Em cada servidor (máquina física), podem ser criadas várias</p><p>máquinas virtuais. O modelo IaaS permite que o cliente possa alocar essas máquinas virtuais a</p><p>�m de montar uma infraestrutura completa de TI de acordo com suas necessidades de</p><p>processamento e armazenamento de dados. O cliente pode determinar o sistema operacional</p><p>das máquinas virtuais, sobre as quais ele tem privilégios administrativos para con�gurar o</p><p>ambiente como quiser. Além disso, os clientes podem con�gurar serviços de rede (como �rewall</p><p>e DNS). Dessa forma, o cliente tem um maior controle sobre os recursos, em comparação aos</p><p>demais modelos de serviço.</p><p>A gestão dos recursos virtualizados pelo cliente pode ser feita por uma aplicação Web ou por</p><p>meio de uma API (Application Programming Interface) (Sousa; Moreira; Machado, 2009).</p><p>Utilizando a API fornecida pelo provedor, os clientes podem desenvolver programas para</p><p>automatizar a alocação e a customização dos recursos disponíveis. Assim, os clientes se</p><p>bene�ciam de �exibilidade e da agilidade para ajustar a quantidade e a con�guração dos</p><p>recursos de acordo com suas necessidades. Nesse contexto, o modelo IaaS viabiliza o</p><p>fornecimento de recursos de infraestrutura para o cliente montar um ambiente de TI virtualizado</p><p>sob demanda.</p><p>No modelo PaaS, o cliente se bene�cia do provisionamento dinâmico de um ambiente completo</p><p>para desenvolvimento, teste e implantação de aplicações em nuvem (Sousa; Moreira; Machado,</p><p>2009). O provisionamento dinâmico signi�ca que o provedor aloca os recursos computacionais</p><p>necessários de forma automática. Nesse caso, o cliente não precisa se preocupar com criação e</p><p>gerenciamento de máquinas virtuais. O ambiente provisionado já é uma plataforma completa</p><p>para a implementação de aplicações, com sistema operacional, servidores de aplicação,</p><p>sistemas de gerenciamento de banco de dados (SGBD), compiladores, entre outros. Além disso,</p><p>a plataforma pode oferecer também ferramentas de colaboração e gerenciamento de projetos.</p><p>Os grandes provedores no mercado oferecem plataformas customizadas para as principais</p><p>tecnologias usadas no desenvolvimento de aplicações, como Java, NodeJS e Python. A</p><p>customização da plataforma signi�ca que o provedor é o responsável pela alocação da</p><p>infraestrutura subjacente, a instalação das tecnologias e as ferramentas necessárias para cada</p><p>ambiente de desenvolvimento oferecido. Em outras palavras, o cliente não tem controle sobre a</p><p>infraestrutura subjacente. Assim, esse modelo de serviço tem um nível de abstração maior que o</p><p>modelo IaaS, ou seja, os detalhes da infraestrutura são transparentes para o cliente. No entanto,</p><p>a infraestrutura ainda é necessária, pois a plataforma é con�gurada em instâncias virtuais, mas</p><p>de forma automática e dinâmica pelo provedor. Assim, o cliente pode se concentrar no</p><p>desenvolvimento de aplicações sem ter que se preocupar com o gerenciamento de servidores.</p><p>Por outro lado, o cliente corre o risco de enfrentar problemas para migrar suas aplicações, caso</p><p>ele faça uso de plataformas com tecnologias proprietárias. Por exemplo, se a aplicação</p><p>desenvolvida pelo cliente faz uso de um SGBD proprietário do provedor, ele corre o risco de não</p><p>encontrar um SGBD compatível no provedor destino para o qual ele deseja migrar. Nesse caso, o</p><p>cliente teria o trabalho de portar sua base de dados para outro SGBD, o que pode ser uma tarefa</p><p>complexa e lenta.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>O modelo com maior nível de abstração é o SaaS, que consiste em sistemas de software com</p><p>propósitos especí�cos, que estão disponíveis para usuários �nais por meio de acesso remoto</p><p>(Internet) (Sousa; Moreira; Machado, 2009). Em geral, o provedor oferece o software na forma de</p><p>uma aplicação Web. Exemplos típicos desse modelo são aplicações o�ce, como o Google Docs</p><p>e o Microsoft O�ce 365, e aplicações de gestão corporativa, como o CRM (Customer</p><p>Relationship Management) da Salesforce, que foi uma das soluções pioneiras em software como</p><p>serviço, levando a empresa a ser uma das líderes em soluções corporativas no mundo.</p><p>No modelo SaaS, o cliente não tem controle sobre a infraestrutura ou a plataforma. Em geral, ele</p><p>con�gura apenas as suas preferências e customiza a aplicação. A evolução das aplicações é</p><p>transparente para os clientes, que não precisam se preocupar com instalar atualizações (pois o</p><p>acesso é remoto), nem com espaço de armazenamento dos seus dados. A capacidade</p><p>computacional necessária é gerenciada pelo provedor de acordo com a demanda dos clientes.</p><p>Por exemplo, você, em algum momento, se preocupa com o backup dos documentos que você já</p><p>criou usando o Google Docs? Não, pois, no modelo SaaS, os recursos para processamento,</p><p>armazenamento de dados, backup, entre outros, são responsabilidade do provedor.</p><p>A Figura 1 ilustra a relação entre os modelos, além da opção do cliente de criar e manter um</p><p>ambiente completo de TI em suas próprias instalações (on-premise). O nível de controle</p><p>administrativo sobre os recursos é completo no modelo IaaS e limitado no modelo PaaS, e</p><p>diminui mais ainda no modelo SaaS (ERL; PUTTINI; MAHMOOD, 2013). Por outro lado, com mais</p><p>controle, o cliente também tem mais responsabilidade. Por exemplo, no modelo IaaS, o cliente é</p><p>responsável por con�gurações do Sistema Operacional (SO) da máquina virtual, o que tem</p><p>implicações no desempenho e na segurança do ambiente computacional.</p><p>Pode-se observar na Figura 1 que o cliente tem a responsabilidade de gerenciar todos os</p><p>elementos do seu ambiente de TI quando ele escolhe manter sua própria infraestrutura. Ao optar</p><p>por um serviço em nuvem no modelo IaaS, o cliente deixa de se preocupar com a aquisição e</p><p>manutenção de equipamentos para se atentar apenas à plataforma e aplicações. Se quiser se</p><p>concentrar apenas no desenvolvimento de software, o cliente pode, ainda, optar pelo modelo</p><p>PaaS. No último nível de abstração, estão os clientes de aplicações em nuvem que usam</p><p>software como serviço.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Figura 1 | Modelos de serviço em computação em nuvem.</p><p>O modelo com maior nível de abstração é o SaaS, que consiste em sistemas de software com</p><p>propósitos especí�cos, que estão disponíveis para usuários �nais por meio de acesso remoto</p><p>(Internet) (Sousa; Moreira; Machado, 2009). Em geral, o provedor oferece o software na forma de</p><p>uma aplicação Web. Exemplos típicos desse modelo são aplicações o�ce, como o Google Docs</p><p>e o Microsoft O�ce 365, e aplicações de gestão corporativa, como o CRM (Customer</p><p>Relationship Management) da Salesforce, que foi uma das soluções pioneiras em software como</p><p>serviço, levando a empresa a ser uma das líderes em soluções corporativas no mundo.</p><p>Outro aspecto importante é a caracterização dos clientes típicos de cada modelo, o que nos</p><p>permite especi�car “papéis” na nuvem (Souza, 2009). Em geral, serviços no modelo IaaS são</p><p>utilizados por clientes que precisam manter uma robusta infraestrutura de TI em ambiente de</p><p>nuvem. Esse é o caso de organizações que lidam com grandes volumes de dados ou que</p><p>precisam de recursos computacionais de alto desempenho e preferem realizar isso junto a um</p><p>provedor em nuvem, devido aos benefícios de redução de custos e �exibilidade administrativa.</p><p>Existe também o cenário no qual um provedor PaaS oferece seus serviços usando infraestrutura</p><p>no modelo IaaS alocada de outro provedor. Como o pagamento é pelo uso, sem custos iniciais</p><p>�xos, é comum que, mesmo empresas de pequeno porte e até desenvolvedores independentes,</p><p>usem serviços IaaS como, por exemplo, uma máquina virtual para hospedar uma aplicação ainda</p><p>em desenvolvimento com a con�abilidade e �exibilidade do ambiente de nuvem.</p><p>Por outro lado, os clientes de serviços no modelo PaaS são aqueles que necessitam de um</p><p>ambiente de desenvolvimento gerenciado, para não se preocupar com detalhes da infraestrutura</p><p>e focar na implementação de aplicações. Um exemplo são as empresas de desenvolvimento de</p><p>aplicações Web e aplicativos</p><p>con�ável.</p><p>Armazenamento e gerenciamento de código na nuvem: migração do repositório de código</p><p>para plataformas de controle de versão na nuvem, como GitHub ou Bitbucket, e utilização</p><p>de serviços de armazenamento na nuvem, como Amazon S3 ou Azure Blob Storage, para</p><p>armazenamento e�ciente de artefatos e dados.</p><p>Resultados esperados:</p><p>Redução signi�cativa no tempo de con�guração de ambientes de desenvolvimento.</p><p>Melhoria na comunicação e colaboração entre equipes, independentemente da localização</p><p>geográ�ca.</p><p>Aumento da e�ciência do ciclo de vida de desenvolvimento, com implantações mais</p><p>rápidas e con�áveis.</p><p>Armazenamento seguro e e�ciente de dados, melhorando a integridade e a disponibilidade</p><p>das informações.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Essa abordagem prática da nuvem visa transformar a maneira como a empresa lida com</p><p>projetos, aumentando a agilidade, melhorando a colaboração e garantindo a entrega e�ciente de</p><p>software.</p><p>Saiba mais</p><p>A computação em nuvem tem desempenhado um papel fundamental na revolução digital,</p><p>oferecendo uma variedade de casos de uso que transformam a maneira como empresas e</p><p>pro�ssionais abordam os desa�os tecnológicos. Para saber mais sobre as vantagens de utilizar</p><p>a tecnologia cloud computing, consulte 7 grandes empresas que usam serviços de computação</p><p>em nuvem.</p><p>Referências</p><p>HOWMIK, S. Cloud computing. Cambridge: Cambridge University Press, 2017.</p><p>ERL, T.; PUTTINI, R.; MAHMOOD, Z. Cloud Computing: concepts, technology & architecture. Rio de</p><p>Janeiro: Prentice Hall, 2013.</p><p>GONZALEZ, N. M. et al. Segurança das nuvens computacionais: uma visão dos principais</p><p>problemas e soluções. Revista USP, São Paulo, 2013.</p><p>Aula 5</p><p>Encerramento da Unidade</p><p>Videoaula de Encerramento</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Este conteúdo é um vídeo!</p><p>Para assistir este conteúdo é necessário que você acesse o AVA pelo</p><p>computador ou pelo aplicativo. Você pode baixar os vídeos direto no aplicativo</p><p>para assistir mesmo sem conexão à internet.</p><p>Dica para você</p><p>Aproveite o acesso para baixar os slides do vídeo, isso pode deixar sua</p><p>aprendizagem ainda mais completa.</p><p>Olá, estudante! Nesta videoaula, vamos explorar os conceitos relacionados à arquitetura de</p><p>aplicações em nuvem. Projetar e estruturar uma aplicação na nuvem é crucial para garantir</p><p>desempenho, con�abilidade e segurança.</p><p>Esse conteúdo é importante para a sua prática pro�ssional, uma arquitetura robusta contribui</p><p>para a con�abilidade e disponibilidade contínua das aplicações. Pro�ssionais que entendem os</p><p>princípios de criptogra�a, gerenciamento de identidade, controle de acesso e práticas de</p><p>segurança em nuvem podem projetar aplicações robustas e proteger dados sensíveis contra</p><p>ameaças cibernéticas.</p><p>Prepare-se para essa jornada de conhecimento! Vamos lá!!!</p><p>Ponto de Chegada</p><p>Olá, estudante! Para desenvolver a competência desta unidade, que é conhecer e exempli�car</p><p>como a arquitetura de uma aplicação em nuvem in�uencia o seu desempenho, con�abilidade e</p><p>segurança, é crucial abordar diversos aspectos da arquitetura e como cada um contribui para</p><p>esses três pilares fundamentais. Vamos explorar esses elementos.</p><p>1. Desempenho:</p><p>Elasticidade da infraestrutura: utilização de serviços de autoescalonamento para</p><p>ajustar dinamicamente a capacidade conforme a carga de trabalho, garantindo</p><p>desempenho consistente, mesmo durante picos de tráfego.</p><p>Arquitetura de microsserviços: divisão da aplicação em microsserviços</p><p>independentes, permitindo escalabilidade seletiva de componentes especí�cos e</p><p>evitando impacto global em caso de falhas.CDN para distribuição</p><p>de conteúdo: implementação de uma CDN para entregar conteúdo estático de forma</p><p>e�ciente, reduzindo a latência e acelerando o carregamento de páginas.</p><p>2. Con�abilidade:</p><p>Redundância e recuperação de desastres: con�guração de instâncias em diferentes</p><p>zonas de disponibilidade para garantir redundância. Adoção de serviços de backup na</p><p>nuvem para rápida recuperação em caso de falhas.</p><p>Monitoramento em tempo real: utilização de ferramentas de monitoramento para</p><p>detectar anomalias e falhas imediatamente, permitindo ações corretivas proativas.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Testes automatizados: implementação de testes automatizados contínuos para</p><p>validar a estabilidade da aplicação após atualizações, evitando impactos não</p><p>previstos.</p><p>3. Segurança:</p><p>Políticas de controle de acesso: de�nição de políticas rigorosas de controle de</p><p>acesso, garantindo que apenas usuários autorizados tenham acesso a dados</p><p>sensíveis ou áreas críticas da aplicação.</p><p>Criptogra�a de dados em repouso e em trânsito: aplicação de criptogra�a para</p><p>proteger dados armazenados e transmitidos, reduzindo o risco de violações de</p><p>segurança.</p><p>Gerenciamento de identidade e acesso: implementação de serviços de gerenciamento</p><p>de identidade para autenticação e autorização e�cazes, garantindo a integridade do</p><p>acesso à aplicação.</p><p>Desenvolver a competência nesta unidade envolve a compreensão prática sobre como cada</p><p>decisão arquitetônica in�uencia diretamente o desempenho, a con�abilidade e a segurança de</p><p>uma aplicação em nuvem. Ao aplicar exemplos concretos, os pro�ssionais estarão aptos a tomar</p><p>decisões informadas durante o processo de arquitetura, alinhando-se aos objetivos estratégicos</p><p>da organização e proporcionando uma experiência de alta qualidade aos usuários.</p><p>É Hora de Praticar!</p><p>Este conteúdo é um vídeo!</p><p>Para assistir este conteúdo é necessário que você acesse o AVA pelo</p><p>computador ou pelo aplicativo. Você pode baixar os vídeos direto no aplicativo</p><p>para assistir mesmo sem conexão à internet.</p><p>Desa�os na arquitetura de aplicações em nuvem</p><p>Descrição da Situação-Problema</p><p>Imaginemos uma empresa de e-commerce que enfrenta desa�os signi�cativos na arquitetura de</p><p>suas aplicações em nuvem. A empresa observou um aumento no tráfego durante picos sazonais</p><p>de vendas, resultando em instabilidades na aplicação, lentidão nas transações e,</p><p>ocasionalmente, indisponibilidade do serviço para os usuários. Além disso, a arquitetura atual</p><p>não se adapta facilmente a mudanças nas demandas do mercado e na escalabilidade da</p><p>infraestrutura.</p><p>Desa�os identi�cados:</p><p>Instabilidade durante picos de tráfego: a infraestrutura existente não consegue lidar</p><p>e�cientemente com aumentos abruptos de tráfego, levando a quedas no desempenho e até</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>mesmo à indisponibilidade do serviço durante períodos críticos de vendas.</p><p>Escalabilidade limitada: a arquitetura atual não é facilmente escalável para atender às</p><p>�utuações sazonais de demanda, resultando em subutilização de recursos durante</p><p>períodos de baixo tráfego e sobrecarga em momentos de pico.</p><p>Gerenciamento complexo: a complexidade na administração da infraestrutura em nuvem</p><p>di�culta o gerenciamento e�caz dos recursos, tornando lenta a implementação de</p><p>atualizações e mudanças na aplicação.</p><p>O que é elasticidade na arquitetura de aplicações em nuvem e como ela impacta o</p><p>desempenho da aplicação?</p><p>Explique como a arquitetura de microsserviços difere da abordagem monolítica e porque</p><p>ela é vantajosa na nuvem.</p><p>Qual é o papel de uma CDN (Content Delivery Network) na arquitetura de aplicações em</p><p>nuvem, e como ela contribui para o desempenho?</p><p>Resolução da situação-problema</p><p>A empresa decide abordar esses desa�os por meio de uma reestruturação abrangente na</p><p>arquitetura de suas aplicações em nuvem. Algumas medidas tomadas para resolver a situação:</p><p>Implementação de autoescalonamento: adoção de serviços de autoescalonamento na</p><p>nuvem, como AWS Auto Scaling ou Azure Autoscale, para ajustar automaticamente a</p><p>capacidade da infraestrutura com base nas demandas de tráfego em tempo real.</p><p>Arquitetura de microsserviços: reestruturação da aplicação, utilizando uma arquitetura de</p><p>microsserviços, permitindo escalabilidade independente de componentes especí�cos e</p><p>facilitando a implantação contínua.</p><p>CDN (Content Delivery Network): utilização de uma CDN para distribuição e�ciente de</p><p>conteúdo estático, reduzindo a carga nos servidores principais e melhorando a latência</p><p>para usuários em diferentes regiões geográ�cas.</p><p>Monitoramento e análise</p><p>preditiva: implementação de ferramentas de monitoramento em</p><p>tempo real e análise preditiva para identi�car padrões de tráfego e antecipar picos,</p><p>permitindo ajustes preventivos na capacidade.</p><p>Contêineres e orquestração: adoção de contêineres, como Docker, e orquestração, como</p><p>Kubernetes, para facilitar o empacotamento de aplicações e garantir uma implantação</p><p>consistente e escalável.</p><p>Resultados esperados:</p><p>Estabilidade aprimorada: redução signi�cativa na instabilidade durante picos de tráfego,</p><p>proporcionando uma experiência mais consistente para os usuários.</p><p>Escala e�ciente: capacidade de escalonar dinamicamente recursos, garantindo uma</p><p>resposta e�ciente às mudanças nas demandas de tráfego.</p><p>Agilidade operacional: simpli�cação do gerenciamento da infraestrutura, permitindo</p><p>atualizações e mudanças rápidas na aplicação.</p><p>Essas medidas visam transformar a arquitetura de aplicações em nuvem da empresa,</p><p>capacitando-a para lidar com desa�os de tráfego variável e garantir uma experiência con�ável</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>aos usuários, independentemente das condições sazonais.</p><p>A arquitetura de aplicações em nuvem refere-se ao design e à estrutura de sistemas de software</p><p>que são construídos para operar na infraestrutura de computação em nuvem. Ela engloba</p><p>decisões de design e padrões arquiteturais que permitem que as aplicações se bene�ciem das</p><p>características e serviços oferecidos pelos provedores de nuvem, como escalabilidade,</p><p>elasticidade, redundância, segurança e e�ciência.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Figura | Arquitetura de aplicação em nuvem.</p><p>CARVALHO, A. C. P. L. F.; LORENA, A. C. Introdução à computação. São Paulo: GEN, 2017.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>ERL, T.; PUTTINI, R.; MAHMOOD, Z. Cloud Computing: concepts, technology & architecture. Rio de</p><p>Janeiro: Prentice Hall, 2013.</p><p>MEIRELES, A.; OLIVEIRA, H. S.; PICHETTI, R. F. Cloud computing. Porto Alegre: SAGAH, 2020.</p><p>para dispositivos móveis. Por �m, temos que os serviços no modelo</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>SaaS são direcionados para usuários �nais que apenas precisam fazer uso de softwares</p><p>diversos sem qualquer interesse em lidar com as tecnologias ou equipamentos envolvidos.</p><p>Siga em Frente...</p><p>Modelos de serviço especializados: DBaaS, BaaS e BPaaS</p><p>Com o crescimento da computação em nuvem, foram criados vários modelos de serviços</p><p>especializados. Fala-se até em XaaS (Everything as a Service), que poderia ser entendido como</p><p>“qualquer coisa como serviço” ou “tudo como serviço” (Duan et al., 2015, [s.p.]).</p><p>Como não seria possível descrever tantos modelos especializados, por isso vamos discutir</p><p>alguns dos mais importantes no mercado atualmente. Não poderíamos deixar de falar do modelo</p><p>denominado Banco de Dados como Serviço (DBaaS – Database as a Service) (Sousa et al.,</p><p>2010). Esse é um caso de especialização do modelo PaaS, no qual o cliente pode criar um banco</p><p>de dados sem ter que instalar e con�gurar o SGBD. A infraestrutura computacional necessária e o</p><p>gerenciamento do SGBD são responsabilidades do provedor. O gerenciamento de dados na</p><p>nuvem envolve grandes desa�os, por exemplo, em termos de segurança dos dados,</p><p>escalabilidade e qualidade de serviço (Sousa et al., 2010). Nesse contexto, um problema comum</p><p>é quando uma aplicação em um provedor precisa acessar um banco de dados que está em outro</p><p>provedor. Nesse caso, a latência de acesso aos dados pode comprometer o desempenho do</p><p>sistema caso a aplicação precise consultar o banco com muita frequência. O ideal é que a</p><p>aplicação e o banco de dados sejam implantados em máquinas virtuais hospedadas na mesma</p><p>máquina física ou, pelo menos, na mesma rede local, de forma que a latência seja mínima.</p><p>Os provedores de serviços no modelo DBaaS oferecem recursos avançados como suporte a</p><p>replicação e balanceamento de carga automático (Sousa, 2010). Dessa forma, os provedores são</p><p>capazes de, automaticamente, criar réplicas do banco de dados a �m de atender ao eventual</p><p>aumento no número de consultas ao banco. Assim, as requisições de acesso aos dados são</p><p>divididas entre as réplicas do banco, o que permite melhorar o desempenho do sistema. Além</p><p>disso, os serviços incluem suporte tanto para bancos relacionais como para bancos não</p><p>relacionais (NoSQL). Um exemplo do primeiro caso é o Azure SQL Server da Microsoft. Entre os</p><p>bancos não relacionais, podemos destacar o MongoDB, que também é oferecido como</p><p>plataforma na nuvem por vários provedores, como o MongoDB Atlas. Em geral, o cálculo de</p><p>tarifas relacionadas a serviços de suporte a banco de dados não é uma tarefa simples, pois os</p><p>custos envolvem os volumes de dados armazenados, a quantidade de transações no banco e o</p><p>tempo de uso das máquinas virtuais utilizadas para executar uma ou mais instâncias do SGBD.</p><p>Outro importante modelo especializado é o Backend como Serviço (BaaS – Backend as a</p><p>Service) (LANE, 2015). Esse tipo de plataforma é importante para agilizar e aprimorar o</p><p>desenvolvimento de aplicações Web e aplicativos para dispositivos móveis (Batschinski, 2016).</p><p>Nesse sentido, o serviço do provedor inclui o provisionamento de diversos recursos, tais como</p><p>armazenamento de dados e objetos, mecanismos de autenticação, etc. Esses recursos são</p><p>comuns no backend de sistemas para usuários �nais. Com isso, o cliente pode focar no</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>desenvolvimento do frontend, ou seja, a parte da aplicação com a qual os usuários interagem</p><p>diretamente. Essa abordagem reduz o tempo de desenvolvimento dos sistemas. Um exemplo</p><p>bastante representativo desse modelo é a plataforma Firebase da Google (Firebase, 2019). O</p><p>Firebase inclui bancos de dados com sincronização em tempo real, serviços de armazenamento</p><p>de objetos (como imagens e vídeos), soluções de autenticação baseadas em e-mail ou número</p><p>de telefone dos usuários e recursos para hospedagem de aplicações web.</p><p>Por �m, vamos destacar um último exemplo de modelo de serviço especializado: Processos de</p><p>Negócio como Serviço (BPaaS – Business Process as a Service). Esse modelo de serviço</p><p>consiste no provisionamento de ferramentas para modelagem de �uxos de trabalho, integração</p><p>de dados e aplicações corporativas em vários segmentos (Lynn, 2014). Isso permite às grandes</p><p>organizações implementar soluções de gestão coorporativa que são �exíveis e capazes de</p><p>responder prontamente a mudanças nos ambientes de negócios, sem que essas organizações</p><p>tenham que se preocupar com o gerenciamento da infraestrutura de TI necessária para operar</p><p>tais soluções.</p><p>Como escolher o modelo de serviço</p><p>A escolha do modelo de serviço na computação em nuvem depende das necessidades</p><p>especí�cas de sua aplicação, do controle que você deseja ter sobre a infraestrutura e dos</p><p>recursos e habilidades disponíveis em sua organização.</p><p>Ao tomar a decisão, considere fatores como complexidade do projeto, requisitos de controle,</p><p>habilidades internas, escalabilidade, custos e a rapidez com que deseja implantar e iterar em</p><p>seus serviços. Muitas vezes, uma abordagem híbrida que combina vários modelos de serviço</p><p>pode ser a mais adequada, dependendo das necessidades especí�cas de cada parte do seu</p><p>ambiente de TI.</p><p>Chegamos ao �nal de mais uma aula, na qual descrevemos os modelos de serviços básicos e</p><p>também alguns modelos especializados. É importante entender os benefícios de cada modelo e</p><p>o nível de abstração oferecido por cada um. Assim, o cliente pode fazer a escolha certa de</p><p>acordo com sua demanda e considerando o nível de controle necessários sobre os serviços e os</p><p>custos para operar e também migrar aplicações.</p><p>Vamos Exercitar?</p><p>Desenvolvimento de software na nuvem para empresas de</p><p>pequeno porte</p><p>Descrição da situação-problema</p><p>Foi solicitada a uma pequena empresa de desenvolvimento de software a criação de um sistema</p><p>de gestão de eventos. O sistema deve ter uma aplicação Web e um aplicativo para dispositivos</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>móveis. A aplicação deve ter funcionalidades, como: criar um evento, veri�car a programação de</p><p>um evento e fazer inscrição em uma atividade. Deve incluir, ainda, funcionalidades adicionais</p><p>para organizadores de evento, tais como validar a inscrição e registrar a presença dos</p><p>participantes por meio de QR code. Como se trata de uma empresa nova e pequena, não há</p><p>grande disponibilidade de recursos computacionais e o número de funcionários é pequeno. A</p><p>empresa, então, vai optar por um ambiente de nuvem para desenvolvimento do sistema. Nesse</p><p>caso, qual seria o modelo de serviço mais adequado: SaaS, PaaS ou IaaS?</p><p>Resolução da situação-problema</p><p>Primeiramente, já podemos descartar a opção de SaaS, pois a empresa não precisa usar um</p><p>software especí�co disponível na nuvem, mas desenvolver a solução conforme requisitado.</p><p>Precisamos, então, fazer uma escolha entre IaaS e PaaS. Pode-se perceber que, pela demanda</p><p>apresentada, não há necessidade do nível de controle oferecido no modelo IaaS. Portanto, pode-</p><p>se fazer uma opção por um modelo com maior nível de abstração. Além disso, se a empresa</p><p>escolhesse o modelo IaaS, ela teria que se preocupar com a instalação e con�guração de todo o</p><p>ambiente necessário para desenvolvimento, teste e implantação do sistema. Essas tarefas</p><p>demandam um tempo considerável e pro�ssionais habilitados, o que representaria um alto</p><p>investimento inicial para uma empresa pequena.</p><p>Podemos concluir que o modelo PaaS é a melhor opção. Os provedores de PaaS oferecem</p><p>ambientes para desenvolvimento e hospedagem de sistemas e bancos de dados com as</p><p>tecnologias e ferramentas mais importantes para desenvolvimento de aplicação web e</p><p>aplicativos. O ambiente é rapidamente provisionado e dispensa gerenciamento da infraestrutura,</p><p>o que agiliza e reduz os custos para desenvolvimento das soluções. Além disso, os provedores</p><p>de PaaS oferecem mecanismos de replicação e balanceamento de carga automáticos para</p><p>facilitar o trabalho de garantir a escalabilidade e desempenho da solução desenvolvida. Essas</p><p>facilidades são muito importantes, principalmente para empresas</p><p>menores que não dispõem de</p><p>equipes especializadas para lidar com esses desa�os.</p><p>Saiba mais</p><p>Para saber mais sobre o modelo PaaS, acesse o material O que é PaaS? da Microsoft.</p><p>Referências</p><p>DUAN, Y. et al. Everything as a Service (XaaS) on the Cloud: origins, current and future trends. In:</p><p>The IEEE 8th International Conference on Cloud Computing, 2015.</p><p>ERL, T.; PUTTINI, R.; MAHMOOD, Z. Cloud Computing: Concepts, Technology & Architecture. [S.l.]</p><p>Prentice Hall, 2013.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>LYNN, T. et al. Towards a framework for de�ning and categorising business Process-As-A- Service</p><p>(BPaaS). In: 21st International Product Development Management Conference, 2014.</p><p>MELL, P.; GRANCE, T. The NIST de�nition of cloud computing. [s.l.] National Institute of Standards</p><p>and Technology, 2011. Disponível em: https://doi.org/10.6028/NIST.SP.800-145 Acesso em: 19</p><p>jan. 2024.</p><p>SOUSA, F. R. C.; MOREIRA, L. O.; MACHADO, J. C. Gerenciamento de dados em nuvem: conceitos,</p><p>sistemas e desa�os. Disponível em:</p><p>https://sol.sbc.org.br/livros/index.php/sbc/catalog/download/18/81/167-1?inline=1 Acesso em:</p><p>19 jan. 2024.</p><p>Aula 3</p><p>Modelos de Implantação em Computação em Nuvem</p><p>Modelos de Implantação em Computação em Nuvem</p><p>Este conteúdo é um vídeo!</p><p>Para assistir este conteúdo é necessário que você acesse o AVA pelo</p><p>computador ou pelo aplicativo. Você pode baixar os vídeos direto no aplicativo</p><p>para assistir mesmo sem conexão à internet.</p><p>Dica para você</p><p>Aproveite o acesso para baixar os slides do vídeo, isso pode deixar sua</p><p>aprendizagem ainda mais completa.</p><p>Olá estudante! Nesta videoaula, vamos explorar os modelos de implantação em computação em</p><p>nuvem, que se referem à forma como os serviços em nuvem são disponibilizados e acessados.</p><p>Existem três modelos principais de implantação: nuvem pública, nuvem privada e nuvem híbrida.</p><p>Entender esses modelos é fundamental para tomar decisões informadas ao implementar</p><p>soluções em nuvem, considerando os requisitos especí�cos de cada organização.</p><p>Esse conteúdo é importante para a sua prática pro�ssional, para gerenciar e�cientemente a</p><p>infraestrutura de TI, alinhar tecnologia com os objetivos de negócios e garantir a segurança e</p><p>e�ciência operacional em ambientes de nuvem.</p><p>Prepare-se para essa jornada de conhecimento! Vamos lá!!!</p><p>Ponto de Partida</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Caro, estudante. Nesta unidade, veremos modelos de implantação em Computação em Nuvem.</p><p>Existem diversas abordagens e tecnologias que podem ser utilizadas pelos provedores no</p><p>provisionamento de serviços de computação em nuvem. Nesta aula, vamos estudar os principais</p><p>modelos e plataformas para implantação da infraestrutura de ambientes de computação em</p><p>nuvem, que são: nuvem privada e nuvem pública. No modelo de nuvem privada, o ambiente é de</p><p>uso exclusivo dos usuários de uma única organização, por exemplo, uma empresa ou uma</p><p>faculdade. Por outro lado, no modelo de nuvem pública, a infraestrutura gerenciada por um</p><p>provedor é compartilhada entre diversas organizações clientes, que podem ser empresas,</p><p>instituições ou até mesmo indivíduos. É importante entender como os modelos de implantação</p><p>impactam os usuários de serviços em nuvem em termos, principalmente de custo, controle de</p><p>acesso aos recursos e nível de segurança.</p><p>Bons estudos!</p><p>Vamos Começar!</p><p>Software de servidor para implantação de nuvens</p><p>Existem vários softwares de servidor e plataformas amplamente utilizados para a implantação e</p><p>gerenciamento de ambientes em nuvem. Esses softwares oferecem recursos para provisionar,</p><p>gerenciar, orquestrar e monitorar recursos de computação em nuvem. Aqui estão alguns dos</p><p>principais:</p><p>OpenStack: é uma plataforma de código aberto que oferece serviços de computação em</p><p>nuvem. Ele fornece componentes modulares para gerenciamento de máquinas virtuais,</p><p>armazenamento, rede, identidade e outros serviços essenciais.</p><p>VMware vSphere: é uma solução líder em virtualização que oferece recursos de</p><p>infraestrutura para criar e gerenciar ambientes de nuvem privada. Ele suporta virtualização</p><p>de servidores, armazenamento e redes.</p><p>Microsoft Hyper-V: é a plataforma de virtualização da Microsoft. Ele permite a criação e</p><p>gerenciamento de máquinas virtuais em ambientes Windows, sendo frequentemente</p><p>utilizado em implantações de nuvem privada.</p><p>KVM (Kernel-based Virtual Machine): é uma solução de virtualização de código aberto</p><p>incorporada ao kernel do Linux. Ele fornece suporte para a criação e gestão de máquinas</p><p>virtuais e é utilizado em muitas implementações de nuvem.</p><p>Docker: é uma plataforma de contêineres que simpli�ca a implantação de aplicativos em</p><p>nuvens e ambientes locais. Oferece uma abordagem leve e e�ciente para a virtualização de</p><p>aplicativos.</p><p>Red Hat Virtualization: é uma solução de virtualização de código aberto baseada no Kernel</p><p>do Linux e no projeto oVirt. Ele oferece recursos avançados para implantação e</p><p>gerenciamento de máquinas virtuais.</p><p>Apache CloudStack: é uma plataforma de código aberto para a implementação de</p><p>infraestruturas em nuvem. Ele oferece recursos para gerenciar máquinas virtuais, redes,</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>armazenamento e usuários em um ambiente de nuvem.</p><p>Ansible: é uma ferramenta de automação que pode ser usada para implantação e gestão de</p><p>infraestruturas em nuvem. Ele permite a automação de tarefas repetitivas e complexas.</p><p>HashiCorp Terraform: é uma ferramenta de código aberto da HashiCorp que permite a</p><p>criação, atualização e versionamento de infraestruturas de forma declarativa. Suporta</p><p>vários provedores de nuvem.</p><p>AWS Elastic Beanstalk: é um serviço gerenciado da Amazon Web Services (AWS) que</p><p>facilita a implantação e escalabilidade de aplicativos na nuvem sem se preocupar com a</p><p>infraestrutura subjacente.</p><p>A escolha do software dependerá das necessidades especí�cas da sua organização, dos</p><p>requisitos de implantação e das preferências tecnológicas. Cada uma dessas ferramentas</p><p>oferece recursos distintos para atender a diferentes cenários de implementação em nuvem.</p><p>Conceito de nuvem híbrida, nuvem privada e pública</p><p>Vamos estudar as principais soluções para implantação de uma infraestrutura de recursos de TI</p><p>a �m de viabilizar o provisionamento de serviços de computação em nuvem.</p><p>Um fator extremamente relevante no uso de serviços de computação em nuvem é escolher o</p><p>modelo de implantação adequado. Esse modelo determina como será o gerenciamento da</p><p>infraestrutura de TI. Consequentemente, os modelos de implantação de�nem aspectos de</p><p>controle de acesso, segurança e disponibilidade dos recursos computacionais ofertados como</p><p>serviços no ambiente de computação em nuvem. Existem quatro modelos de implantação:</p><p>nuvem privada, nuvem comunitária, nuvem pública e nuvem híbrida (Mell; Grance, 2011).</p><p>Uma nuvem privada é um ambiente de nuvem de propriedade de uma única organização (Erl;</p><p>Puttini; Mahmood, 2013). Assim, os recursos computacionais são utilizados exclusivamente pela</p><p>organização que é proprietária da infraestrutura. O modelo de implantação nuvem privada</p><p>permite que uma empresa ou instituição utilize tecnologias de computação em nuvem para</p><p>gerenciar uma infraestrutura de TI própria. Dessa forma, os recursos computacionais de uma</p><p>organização podem ser compartilhados como serviços sob demanda entre diversas unidades e</p><p>usuários internos à organização. Nesse caso, é necessário implementar políticas que restringem</p><p>o acesso aos recursos disponíveis para os membros da organização, de acordo com os</p><p>privilégios de cada um. Para isso, são necessárias tecnologias de autenticação e controle de</p><p>acesso e também a con�guração adequada dos serviços de rede. Um exemplo de nuvem privada</p><p>é o caso de uma empresa que adquire uma ampla infraestrutura de TI e usa tecnologias de</p><p>computação em nuvem para gerenciar essa infraestrutura de forma centralizada. A empresa,</p><p>então, permite que seus diversos setores ou �liais aloquem recursos computacionais sob</p><p>demanda. Os níveis de acesso aos serviços e a quantidade de recursos permitidos para cada</p><p>setor da empresa podem ser diferentes.</p><p>Uma organização pode ter uma nuvem privada</p><p>administrada por terceiros, nesse caso, uma</p><p>empresa especializada no provisionamento de serviços de computação em nuvem (Sousa;</p><p>Moreira; Machado, 2009). O que caracteriza a nuvem privada é o uso exclusivo dos recursos por</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>uma determinada organização. Nesse caso, não importa quem é o responsável pela</p><p>administração da infraestrutura, além disso, a infraestrutura não precisa, necessariamente, ser</p><p>implantada nas instalações da própria organização. Os equipamentos podem estar instalados</p><p>em espaço geográ�co fora da organização com o acesso aos serviços realizados remotamente</p><p>pela Internet.</p><p>O modelo de nuvem privada é mais apropriado para organizações que querem se bene�ciar de</p><p>tecnologias de nuvem para ter �exibilidade e e�ciência no compartilhamento de recursos de TI,</p><p>sem abrir mão do controle administrativo de uma infraestrutura dedicada. Porém, esse modelo</p><p>de implantação pode exigir custos altos relacionados à propriedade e exclusividade da</p><p>infraestrutura. Uma alternativa para isso é o modelo de implantação denominado nuvem</p><p>comunitária, no qual um conjunto de organizações compartilham um mesmo ambiente de</p><p>computação em nuvem (Sousa; Moreira; Machado, 2009). Assim, a infraestrutura é dedicada para</p><p>um conjunto de organizações.</p><p>Essa operação conjunta da infraestrutura pode ser motivada por interesses comuns e requer um</p><p>alinhamento em termos de requisitos de segurança e políticas de acesso. Empresas com</p><p>políticas ou interesses con�itantes poderiam ter problemas para compartilhar um ambiente de</p><p>nuvem. Em geral, a administração do ambiente é responsabilidade de um consórcio ou empresa</p><p>especializada e o acesso aos recursos é remoto. Um exemplo típico de nuvem comunitária é o</p><p>caso de um grupo de universidades que podem cooperar com recursos �nanceiros e</p><p>pro�ssionais especializados para implantar um ambiente de nuvem para um projeto de pesquisa</p><p>que exige uma infraestrutura computacional de alto desempenho.</p><p>Outro modelo de implantação é a nuvem pública, em que os recursos do ambiente de</p><p>computação em nuvem são mantidos por um provedor e disponibilizados sob demanda para</p><p>qualquer empresa cliente (Sousa; Moreira; Machado, 2009). Isso representa um modelo de</p><p>negócio no qual um provedor faz o investimento na infraestrutura e assume a operação com o</p><p>intuito de faturar com a oferta de serviços de computação em nuvem ao público em geral.</p><p>O modelo de nuvem pública estabelece uma clara distinção entre o provedor e o cliente. Os</p><p>clientes podem alocar recursos computacionais sob demanda de diversos provedores sem ter</p><p>que assumir a responsabilidade e os custos associados com a gestão da infraestrutura. Além</p><p>disso, os clientes se bene�ciam de escalabilidade “ilimitada”, pois eles podem alocar ou liberar</p><p>recursos dos provedores de forma rápida conforme a necessidade de suas aplicações.</p><p>É importante salientar que não é necessário optar por um modelo de implantação especí�co. Se</p><p>for conveniente, uma organização pode, por exemplo, fazer uso de uma nuvem privada e de uma</p><p>nuvem pública ao mesmo tempo. Esse modelo caracteriza o que se denomina uma nuvem</p><p>híbrida, ou seja, um ambiente de computação em nuvem que é a combinação de modelos de</p><p>implantação diferentes (Erl; Puttini; Mahmood, 2013). Mesmo havendo a composição de duas ou</p><p>mais infraestruturas de nuvem com modelos de implantação diferentes, a nuvem híbrida é vista</p><p>como um sistema único. Por exemplo, uma empresa pode manter diversos componentes de uma</p><p>mesma aplicação em ambientes diferentes da nuvem híbrida. Componentes que envolvem</p><p>manipulação de dados críticos ou sigilosos podem �car em uma nuvem privada. Os demais</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>componentes da aplicação podem ser hospedados em provedor de nuvem pública para �ns de</p><p>escalabilidade.</p><p>Para Erl, Puttini e Mahmood (2013), nuvens híbridas representam cenários complexos, uma vez</p><p>que envolvem a divisão de responsabilidades administrativas entre os responsáveis por cada</p><p>ambiente e também devido a eventuais problemas de compatibilidade, pois cada ambiente da</p><p>nuvem híbrida pode ter con�gurações e tecnologias especí�cas. A Figura 1 ilustra um cenário no</p><p>qual a Empresa A aloca recursos do Provedor X (nuvem pública) para ampliar a capacidade de</p><p>sua nuvem privada, formando, então, uma nuvem híbrida. Parte da aplicação da Empresa A está</p><p>na nuvem privada e outra parte está na nuvem pública, compartilhada com aplicações de outras</p><p>empresas clientes do provedor. Esse cenário é interessante para o suporte a aplicações ou</p><p>serviços suscetíveis a sazonalidade, ou seja, quando a quantidade de acessos (carga de</p><p>trabalho) aumenta signi�cativamente em determinados períodos. Por exemplo, como ocorre com</p><p>aplicações de comércio eletrônico em datas comemorativas ou na Black Friday. Nesse caso,</p><p>recursos de nuvem pública podem ser temporariamente alocados para atender ao aumento</p><p>repentino na demanda, evitando-se lentidão ou indisponibilidade dos sistemas devido à grande</p><p>quantidade de acessos dos clientes (sobrecarga).</p><p>Figura 1 | Cenário de caracterização de nuvem híbrida.</p><p>Nesse contexto de heterogeneidade, no qual um cliente pode alocar recursos computacionais em</p><p>diferentes ambientes de computação em nuvem, um aspecto muito importante é a gerência de</p><p>identidades federadas (Feliciano, 2011). Nuvens federadas são ambientes de computação em</p><p>nuvem que, mesmo administradas por provedores diferentes, compartilham recursos entre si</p><p>(Moreno-Vozmediano; Montero; Llorente, 2012). Esse compartilhamento pode se dar em vários</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>níveis, mas sempre é necessário um mecanismo comum para autenticação e controle de acesso</p><p>aos recursos. Dessa forma, um cliente pode usar um mesmo identi�cador para acessar recursos</p><p>de diferentes provedores.</p><p>Siga em Frente...</p><p>Plataforma de computação em nuvem Open Source</p><p>Você aprendeu sobre os principais modelos conceituais para implantação de nuvens, mas uma</p><p>questão ainda não explicada é a seguinte: como gerenciar a infraestrutura de ambientes de</p><p>computação em nuvem? A resposta é: utilizando uma plataforma de computação em nuvem</p><p>(Carissimi, 2015).</p><p>Existem várias plataformas de computação em nuvem de código aberto que permitem criar e</p><p>gerenciar ambientes de nuvem.</p><p>Essa plataforma consiste no conjunto de ferramentas de software utilizado para gerenciar os</p><p>servidores e equipamentos de rede que compõem a infraestrutura sobre a qual serão</p><p>provisionados os serviços de computação em nuvem. Para dar suporte a esses serviços, a</p><p>plataforma tem que oferecer tecnologias de virtualização dos recursos computacionais de</p><p>processamento, armazenamento e transmissão de dados, assim como mecanismos para</p><p>alocação desses recursos virtualizados de forma remota, ou seja, por meio de acesso via</p><p>Internet. Em geral, os mecanismos de acesso remoto utilizam o protocolo SSH (Secure Shell) ou</p><p>o protocolo HTTP (Hypertext Transfer Protocol). O protocolo SSH oferece uma conexão por</p><p>terminal de linha de comando. Com o uso do HTTP, o gerenciamento e a alocação dos recursos</p><p>podem ser feitos por meio de uma aplicação Web.</p><p>As plataformas de computação em nuvem são também conhecidas como software de servidor</p><p>para nuvem ou sistema operacional de nuvem. Os provedores de nuvem pública muitas vezes</p><p>utilizam plataformas proprietárias para gerenciamento de sua infraestrutura, no entanto, existem</p><p>muitas plataformas de computação em nuvem distribuídas como softwares livres, que podem</p><p>ser utilizadas para a implantação de nuvens públicas ou privadas. Entre as principais</p><p>plataformas, pode-se destacar as seguintes: OpenStack, CloudStack, Eucalyptus e OpenNebula</p><p>(Thomé; Hentges; Griebler, 2013).</p><p>A plataforma OpenStack pode ser de�nida como “uma combinação de ferramentas open source</p><p>(conhecidas como projetos) que usam um pool de recursos virtuais para criar e gerenciar nuvens</p><p>privadas e públicas” (Redhat, 2019). O OpenStack funciona como um sistema operacional para</p><p>nuvem que permite controlar recursos de processamento, armazenamento e rede (Openstack,</p><p>2019).</p><p>A plataforma OpenStack foi criada</p><p>a partir de uma colaboração entre a NASA e a empresa</p><p>Rackspace, a partir de 2010. As principais funcionalidades da plataforma incluem gerenciamento</p><p>de máquinas virtuais, orquestração de contêineres, balanceamento de carga, virtualização de</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>funções de redes e controle de acesso aos recursos. Com uma arquitetura modular, a plataforma</p><p>OpenStack combina diversos módulos funcionais (chamados de projetos) (Redhat, 2019). Os</p><p>projetos básicos do OpenStack são:</p><p>Nova: gerenciamento de instâncias computacionais (por exemplo, criação de máquinas</p><p>virtuais).</p><p>Nêutron: gerenciamento de conectividade e virtualização de serviços de rede.</p><p>Swift: armazenamento distribuído de alta disponibilidade para objetos e dados não</p><p>estruturados como vídeos, backups, imagens, etc.</p><p>Cinder: gerenciamento de armazenamento em bloco (discos virtuais), por exemplo, para</p><p>criar dispositivo lógico de armazenamento persistente para máquinas virtuais.</p><p>Keystone: gerenciamento de identidades, autenticação e controle de acesso.</p><p>Glance: gerenciamento de imagens de máquinas virtuais.</p><p>Essas e outras ferramentas combinadas na plataforma OpenStack são disponibilizadas por meio</p><p>de um painel de bordo que oferece controle administrativo e funcionalidades para</p><p>provisionamento dos recursos, por meio de uma interface Web. Além da aplicação Web, as</p><p>funcionalidades podem ser acessadas por terminal de comando, SDK (Software Development</p><p>Kit) para linguagem python ou API (Application Programming Interface). O OpenStack provê um</p><p>conjunto consistente de API para abstrair os recursos virtuais e viabilizar mecanismos de</p><p>gerenciamento da infraestrutura do ambiente de computação em nuvem (Redhat, 2019).</p><p>Outra plataforma relevante é a CloudStack da Fundação Apache (Apache, 2019). Essa plataforma</p><p>pode ser usada para implantação de Nuvens privadas, públicas e híbridas. Ela foi projetada para</p><p>conseguir gerenciar redes de máquinas virtuais em larga escala e criar um ambiente de</p><p>computação em nuvem de alta disponibilidade e alta escalabilidade. Uma característica</p><p>interessante é que as tecnologias usadas nessa plataforma são compatíveis com serviços de</p><p>provedores comerciais de computação em nuvem, como o AWS EC2, o que permite a integração</p><p>de serviços para implantação de nuvens híbridas. A CloudStack permite o gerenciamento dos</p><p>recursos por meio de interface Web, ferramentas de linha de comando e API Web.</p><p>Outra solução para gerenciamento de infraestrutura de nuvem é a plataforma Eucalyptus</p><p>(Eucalyptus, 2019). Ela também oferece compatibilidade com os serviços de nuvem públicas,</p><p>como a AWS, de forma que é possível criar nuvens privadas ou híbridas. Essa plataforma suporta</p><p>diferentes tecnologias de virtualização e o gerenciamento dos recursos pode ser feito</p><p>remotamente via ferramentas de linha de comando ou interface Web. A arquitetura dessa</p><p>plataforma inclui os controladores que reúnem informações de monitoramento da infraestrutura</p><p>e permitem o acesso aos recursos da nuvem (Carissimi, 2015).</p><p>A plataforma OpenNebula é direcionada ao gerenciamento de nuvens privadas (Opennebula,</p><p>2019), mas também permite a criação de ambientes híbridos com nuvens públicas AWS e</p><p>Microsoft Azure. O foco dessa plataforma é prover uma solução leve, simples e �exível para o</p><p>uso de virtualização no gerenciamento da infraestrutura. Uma característica de destaque dessa</p><p>plataforma é o suporte para criação de nuvens federadas.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Ao escolher uma plataforma de computação em nuvem de código aberto, é importante</p><p>considerar os requisitos especí�cos da sua organização, a facilidade de uso, a comunidade de</p><p>suporte, a documentação disponível e a integração com outras ferramentas e tecnologias que</p><p>você pode usar.</p><p>Vamos Exercitar?</p><p>Cloud Bursting</p><p>Descrição da situação-problema</p><p>Uma rede de ensino superior com faculdades em várias cidades deseja criar uma aplicação web</p><p>na qual os estudantes podem consultar a matriz curricular dos cursos e a oferta de disciplinas</p><p>obrigatórias e eletivas, bem como realizar a matrícula em disciplinas a cada semestre. Como o</p><p>número de estudantes nessa rede é muito grande, a escalabilidade da aplicação é um fator</p><p>relevante. A instituição decidiu utilizar uma infraestrutura em nuvem para hospedar a aplicação.</p><p>Sua tarefa, como analista de TI da rede, é avaliar qual modelo de implantação de ambiente de</p><p>nuvem deve ser utilizado para o cenário apresentado.</p><p>Resolução da situação-problema</p><p>A solução mais adequada seria o modelo de nuvem híbrida. Dessa forma, a rede de faculdades</p><p>poderia manter a base de dados da aplicação em uma nuvem privada, em suas próprias</p><p>instalações. Com o controle completo sobre os recursos dedicados, não haveria o risco de</p><p>manter os dados dos alunos em um provedor público, com recursos compartilhados com outros</p><p>clientes. Além disso, essa nuvem privada poderia ter uma capacidade reduzida, para se evitarem</p><p>altos custos com implantação e operação da infraestrutura. Porém, essa nuvem privada, com</p><p>poucos recursos, poderia não ser su�ciente para manter a escalabilidade do sistema com o</p><p>aumento de carga de trabalho nos períodos de matrícula a cada semestre. Para isso, a rede de</p><p>ensino poderia alocar servidores em uma nuvem pública para hospedar apenas réplicas da</p><p>interface web do sistema, a base de dados continuaria na nuvem privada. Os servidores no</p><p>provedor de nuvem pública seriam mantidos somente durante os períodos de matrícula, a �m de</p><p>evitar eventual degradação de desempenho da aplicação. Fora dos períodos de matrícula,</p><p>quando as consultas ao sistema são reduzidas, os recursos na nuvem pública poderiam ser</p><p>liberados para redução de custos. Esse procedimento, característico de nuvem híbrida, que</p><p>consiste em usar recursos adicionais de uma nuvem pública para aumentar temporariamente a</p><p>capacidade de uma aplicação inicialmente hospedada em nuvem privada, é denominado Cloud</p><p>Bursting.</p><p>Saiba mais</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Além da nuvem híbrida, a Nuvem Privada Virtual (VPC – Virtual Private Cloud) é outro modelo</p><p>que busca aproveitar as vantagens tanto de nuvens públicas quanto privadas (Wood, 2009). Uma</p><p>VPC consiste na alocação de recursos computacionais em um provedor de nuvem pública de</p><p>forma dedicada para uma organização. Dessa forma, é como se uma nuvem privada fosse criada</p><p>em um provedor de nuvem pública. Para isso, são usados mecanismos de autenticação e</p><p>criptogra�a para isolar os recursos alocados dos demais clientes da nuvem pública. Assim, a</p><p>VPC envolve também virtualização de recursos de rede para criar uma rede privada virtual no</p><p>ambiente de nuvem pública. Esse modelo de nuvem privada virtual também é considerado uma</p><p>forma menos complexa de migração para ambiente de nuvem (Zhang, 2010).</p><p>Referências</p><p>ERL, T.; PUTTINI, R.; MAHMOOD, Z. Cloud Computing: Concepts, Technology & Architecture. [S.l.]</p><p>Prentice Hall, 2013.</p><p>FELICIANO, G. et al. Gerência de identidades federadas em nuvens: Enfoque na utilização de</p><p>soluções abertas. In: XI Simpósio Brasileiro de Segurança da Informação e de Sistemas</p><p>Computacionais (SBSeg), 2011.</p><p>MELL, P.; GRANCE, T. The NIST de�nition of cloud computing. [s.l.] National Institute of Standards</p><p>and Technology, 2011. Disponível em:</p><p>https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf Acesso em: 20</p><p>jan. 2024.</p><p>MORENO-VOZMEDIANO, R.; MONTERO, R. S.; LLORENTE, I. M. IaaS Cloud Architecture: From</p><p>Virtualized Datacenters to Federated Cloud Infrastructures. Computer, 2012.</p><p>OPENSTACK. What is OpenStack? Disponível em: https://www.openstack.org/software/ Acesso</p><p>em: 20 jan. 2024.</p><p>REDHAT. Introdução ao OpenStack. Disponível em: https://www.redhat.com/pt-</p><p>br/topics/openstack Acesso em: 20 jan. 2024.</p><p>Aula 4</p><p>Elasticidade e Escalabilidade</p><p>Elasticidade e Escalabilidade</p><p>Este conteúdo é um vídeo!</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Para assistir este conteúdo é necessário que você acesse o AVA pelo</p><p>computador ou pelo aplicativo. Você pode baixar os vídeos direto no aplicativo</p><p>para assistir mesmo sem conexão à internet.</p><p>Dica para você</p><p>Aproveite</p><p>o acesso para baixar os slides do vídeo, isso pode deixar sua</p><p>aprendizagem ainda mais completa.</p><p>Olá estudante! Nesta videoaula, vamos explorar os conceitos de elasticidade e escalabilidade,</p><p>fundamentais em ambientes de computação em nuvem. Ao entender e aplicar a elasticidade e</p><p>escalabilidade, os pro�ssionais podem criar e gerenciar infraestruturas mais e�cientes, �exíveis e</p><p>capazes de lidar com as demandas dinâmicas dos ambientes de computação em nuvem.</p><p>Para a aplicação efetiva de elasticidade e escalabilidade é vital para a e�ciência operacional a</p><p>economia de custos e a capacidade de resposta rápida às mudanças no cenário tecnológico e de</p><p>negócios. Pro�ssionais que dominam esses conceitos estão melhor preparados para enfrentar</p><p>os desa�os dinâmicos dos ambientes de computação em nuvem e para contribuir para o</p><p>sucesso organizacional.</p><p>Prepare-se para essa jornada de conhecimento! Vamos lá!!!</p><p>Ponto de Partida</p><p>Caro, estudante. Nesta aula, veremos elasticidade e escalabilidade, dois conceitos relacionados</p><p>na computação, especialmente quando se trata de infraestrutura em nuvem. Ambos se referem à</p><p>capacidade de um sistema ou serviço de se adaptar às demandas variáveis.</p><p>Vamos começar a estudar o universo de escalabilidade e elasticidade, pois ela oferece vantagens</p><p>signi�cativas e permite que as organizações ajustem dinamicamente seus recursos de</p><p>computação para lidar com picos de demanda ou períodos de baixa atividade, resultando em</p><p>uma utilização e�ciente dos recursos.</p><p>Bons estudos!</p><p>Vamos Começar!</p><p>Conceito de elasticidade e como os recursos podem ser</p><p>dimensionados automaticamente para atender à demanda</p><p>A elasticidade é a capacidade de um sistema ou aplicação ajustar dinamicamente seus recursos</p><p>de computação de acordo com as demandas variáveis da carga de trabalho. Isso envolve a</p><p>capacidade de escalar para cima (aumentar recursos) ou para baixo (diminuir recursos)</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>conforme necessário, permitindo que o sistema mantenha o desempenho e a e�ciência</p><p>operacional sob condições de demanda �utuante.</p><p>Os recursos podem ser dimensionados automaticamente:</p><p>Máquinas Virtuais (VM) e Contêineres são unidades isoladas de computação que podem</p><p>ser rapidamente provisionadas ou desativadas conforme necessário. Sistemas de</p><p>gerenciamento de contêineres, como Kubernetes, facilitam a orquestração dinâmica</p><p>dessas instâncias, ajustando automaticamente o número de VM ou contêineres em</p><p>execução para atender à carga de trabalho.</p><p>Autoescalonamento automático: os serviços em nuvem frequentemente oferecem recursos</p><p>de autoescalonamento automático. Com base em métricas como utilização de CPU,</p><p>tráfego de rede ou outras métricas personalizadas, os recursos são escalados</p><p>automaticamente para cima ou para baixo. Por exemplo, se a utilização de CPU atingir um</p><p>determinado limiar, mais instâncias podem ser provisionadas automaticamente.</p><p>Balanceamento de Carga Dinâmico: distribui automaticamente o tráfego entre várias</p><p>instâncias para otimizar o desempenho. Se a carga aumentar, novas instâncias podem ser</p><p>adicionadas ao pool e, se a carga diminuir, instâncias podem ser removidas.</p><p>Políticas de Dimensionamento Automático: permitem que os administradores de�nam</p><p>regras especí�cas para escalar recursos automaticamente. Essas políticas podem ser</p><p>baseadas em horários especí�cos, métricas de desempenho ou outras condições</p><p>prede�nidas.</p><p>Funções de Serviço sem Estado (Serverless): são Arquiteturas serverless, como AWS</p><p>Lambda ou Azure Functions, eliminam a necessidade de provisionar e gerenciar</p><p>diretamente servidores. Recursos são provisionados automaticamente para atender às</p><p>demandas conforme as funções de serviço são acionadas.</p><p>Redimensionamento Dinâmico de Armazenamento: além do redimensionamento de</p><p>recursos computacionais, a elasticidade também pode envolver o redimensionamento</p><p>dinâmico de armazenamento. Isso permite que a capacidade de armazenamento seja</p><p>ajustada automaticamente com base nas necessidades.</p><p>Monitoramento em Tempo Real com ferramentas, como Prometheus ou AWS CloudWatch,</p><p>são essenciais para fornecer informações contínuas sobre o desempenho do sistema.</p><p>Esses dados são usados para acionar ações automáticas de escalabilidade.</p><p>A automação desempenha um papel crucial na implementação bem-sucedida da elasticidade,</p><p>permitindo que os sistemas respondam rapidamente às mudanças nas condições operacionais.</p><p>Ao utilizar essas práticas, as organizações podem garantir que seus recursos de nuvem se</p><p>adaptem de maneira e�ciente às demandas variáveis, otimizando custos e desempenho.</p><p>Diferentes métodos de escalabilidade (horizontal e vertical)</p><p>A escalabilidade pode ser alcançada de duas maneiras principais: escalabilidade horizontal e</p><p>escalabilidade vertical. Cada método tem suas características distintas e é aplicado em</p><p>diferentes cenários, dependendo das necessidades especí�cas do sistema.</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Escalabilidade horizontal</p><p>A escalabilidade horizontal envolve adicionar mais instâncias idênticas (máquinas virtuais,</p><p>contêineres, servidores) ao sistema para distribuir a carga de trabalho.</p><p>Características:</p><p>Distribuição de carga: a carga é distribuída entre várias instâncias, permitindo uma melhor</p><p>distribuição do tráfego e evitando gargalos em uma única máquina.</p><p>Facilidade de adição/remoção: novas instâncias podem ser adicionadas ou removidas</p><p>conforme necessário, proporcionando �exibilidade dinâmica.</p><p>Escalabilidade horizontal na nuvem: ambientes de nuvem são particularmente adequados</p><p>para escalabilidade horizontal, permitindo adicionar ou remover recursos conforme a</p><p>demanda.</p><p>Exemplo: se um aplicativo web está experimentando um aumento repentino no tráfego, mais</p><p>instâncias de servidores web podem ser provisionadas automaticamente para lidar com a carga</p><p>adicional.</p><p>Escalabilidade vertical</p><p>A escalabilidade vertical envolve aumentar ou diminuir a capacidade de uma única instância,</p><p>adicionando mais recursos à mesma máquina.</p><p>Características:</p><p>Aumento de recursos: adição de CPU, memória, armazenamento ou outros recursos a uma</p><p>máquina existente para atender às demandas crescentes.</p><p>Complexidade e Downtime: pode envolver períodos de inatividade e é geralmente mais</p><p>complexa do que a escalabilidade horizontal.</p><p>Limites físicos: existe um limite para o quanto uma única máquina pode ser escalada</p><p>verticalmente devido a limitações físicas.</p><p>Exemplo: se um banco de dados em um servidor único está sobrecarregado, pode-se escalá-lo</p><p>verticalmente adicionando mais CPU ou RAM à mesma máquina para melhorar o desempenho.</p><p>Custo</p><p>Escalabilidade horizontal: geralmente mais econômica, pois envolve a adição de instâncias</p><p>menos dispendiosas.</p><p>Escalabilidade vertical: pode ser mais cara, pois muitas vezes requer hardware mais</p><p>potente.</p><p>Complexidade</p><p>Disciplina</p><p>COMPUTAÇÃO EM NUVEM</p><p>Escalabilidade horizontal: geralmente é mais fácil de implementar e manter, pois não requer</p><p>ajustes na con�guração de uma única instância.</p><p>Escalabilidade vertical: pode ser mais complexa e pode exigir períodos de inatividade</p><p>durante o processo de escalonamento.</p><p>Limitações</p><p>Escalabilidade horizontal: pode haver limitações no número de instâncias que podem ser</p><p>gerenciadas e�cientemente.</p><p>Escalabilidade vertical: limitada pelos recursos físicos disponíveis em uma única máquina.</p><p>Em muitos casos, uma combinação de escalabilidade horizontal e vertical é usada para atender</p><p>às demandas variáveis dos sistemas na nuvem, proporcionando �exibilidade e e�ciência</p><p>operacional.</p><p>Siga em Frente...</p><p>Como a elasticidade e a escalabilidade contribuem para a</p><p>otimização do uso de recursos e a redução de custos</p><p>Elasticidade e escalabilidade são conceitos-chave na otimização do uso de recursos e na</p><p>redução de custos na computação em nuvem. Ambos permitem que as organizações ajustem</p><p>dinamicamente seus ambientes de TI para atender à demanda �utuante, resultando em e�ciência</p><p>operacional e �nanceira. Aqui estão algumas maneiras pelas quais esses conceitos contribuem</p><p>para a otimização de recursos e redução de custos:</p><p>Uso e�ciente de recursos:</p><p>Elasticidade: permite</p>