Akamai adquirirá a LayerX para implementar o controle de uso de IA em qualquer navegador. Veja os detalhes

O que é arquitetura em nuvem?

Pavel Despot

escrito por

Pavel Despot

March 23, 2023

Pavel Despot

escrito por

Pavel Despot

Pavel Despot has more than 20 years of experience designing and deploying critical, large-scale solutions for global carriers and Fortune 500 companies around the world. He is currently the Senior Product Marketing for Cloud Computing Services at Akamai. In his previous role as Principal Cloud Solutions Engineer, he led application modernization and security initiatives for Akamai’s largest SaaS clients. Before joining Akamai, Pavel held various leadership roles on standards bodies, including the CTIA Wireless Internet Caucus (WIC), the CDMA Developers Group (CDG), and the Interactive Advertising Bureau (IAB). He has two patents in mobile network design, and currently resides in the Boston area.

 

A arquitetura em nuvem e a arquitetura de computação em nuvem são iguais. Ambos os termos se referem ao "modelo" que define o projeto dos componentes de infraestrutura de um ambiente de computação em nuvem.

A computação em nuvem cresceu rapidamente nas últimas duas décadas e continua a se expandir a uma taxa impressionante. O que começou com ofertas básicas de software como serviço (SaaS) e infraestrutura como serviço (IaaS) evoluiu para um vasto ecossistema de soluções nativas da nuvem para tudo, desde servidores até clusters do Kubernetes. 

Neste artigo, apresentaremos um curso intensivo sobre arquitetura de nuvem (também conhecida como arquitetura de computação em nuvem), incluindo os componentes que a compõem, os diferentes modelos de computação em nuvem, os benefícios da nuvem e como você pode tomar uma decisão informada sobre como migrar uma aplicação local para a nuvem.

O que é arquitetura em nuvem?

Então, o que é a arquitetura em nuvem? E o que é a arquitetura de computação em nuvem? A arquitetura em nuvem e a arquitetura de computação em nuvem são iguais. Ambos os termos se referem ao "modelo" que define o projeto dos componentes de infraestrutura de um ambiente de computação em nuvem.

Há várias maneiras diferentes de conceituar a arquitetura em nuvem. Por exemplo, do ponto de vista de um provedor de serviços de nuvem, a arquitetura em nuvem consiste em:

  • Uma camada de hardware que inclui servidores bare-metal, equipamentos de rede e dispositivos de armazenamento
  • Uma camada de virtualização que inclui hipervisores e componentes de rede definida por software (SDN) para virtualizar recursos físicos 
  • Uma camada de serviços que inclui os recursos em nuvem que o provedor disponibiliza aos usuários 

Na mente de usuários como desenvolvedores e engenheiros de DevOps, os componentes da arquitetura em nuvem incluem:

  • Um front-end, como um console web, uma interface de programação de aplicações (API), uma interface de linha de comando (CLI), uma aplicativo móvel ou outro cliente, que permite o acesso ao serviço em nuvem 
  • Um back-end que fornece os recursos de computação, armazenamento e software necessários para o funcionamento do serviço 
  • Uma rede que fornece conectividade entre recursos em nuvem e serviços como a resolução de DNS 

A função da arquitetura de um ambiente de nuvem é especificar como todos os componentes se encaixam e se comunicam. Na Figura 1, podemos ver a arquitetura de um sistema de gerenciamento de documentos baseado em nuvem.

A Figura 1 mostra a arquitetura de um sistema de gerenciamento de documentos baseado em nuvem. Fig. 1: Exemplo de arquitetura em nuvem para um sistema de gerenciamento de documentos

A forma exata como esses componentes são arquitetados, implementados e apresentados aos usuários (ou abstraídos deles) varia de acordo com o modelo de fornecimento em nuvem e o tipo de computação em nuvem. Por exemplo, uma aplicação web em execução em uma máquina virtual em uma nuvem privada possui uma arquitetura diferente daquela de uma aplicação distribuída baseada no Kubernetes. 

OO que é comum a todas as implementações em nuvem é que a nuvem é uma plataforma que abstrai um certo nível de complexidade para o usuário. Por exemplo, ofertas de IaaS como instâncias do Amazon Web Services (AWS) EC2 abstraem a complexidade do hardware. Com aplicações SaaS como o Google Docs, há ainda mais abstração, e tudo, incluindo sistemas operacionais, middleware e manutenção de aplicações, fica oculto para os usuários.

Os principais componentes físicos da infraestrutura em nuvem

Sob as camadas de abstração, a computação em nuvem tem as mesmas três camadas primárias que a infraestrutura de TI local. 

  • Calcular os recursos de CPU, RAM e GPU
  • Recursos de rede, como interfaces de rede 
  • Recursos de armazenamento, como SSDs e HDDs

Com modelos como IaaS, o faturamento geralmente é baseado no consumo de recursos nessas categorias. 

Observação: Não confunda arquitetura de nuvem com arquitetura de rede. A arquitetura em nuvem inclui a arquitetura de rede, quando for o caso. Por exemplo, os serviços SD-WAN, SDN e DNS podem ser incluídos na arquitetura em nuvem para um ambiente empresarial.

Modelos básicos de implantação de nuvem: nuvem pública versus nuvem privada

Os dois modelos básicos de serviços em nuvem que você pode utilizar são a nuvem pública e a nuvem privada (Tabela 1). As plataformas de nuvem pública estão disponíveis para o público em geral, e a infraestrutura é gerenciada por um provedor de serviços de nuvem. As plataformas de nuvem privada são dedicadas a uma única organização. 

A compensação entre nuvem pública e nuvem privada é simplicidade (nuvem pública) versus controle (nuvem privada). Os usuários de nuvem pública simplesmente consomem serviços, e o provedor de serviços cuida da manutenção e do provisionamento de infraestrutura. No entanto, isso também significa que os usuários de nuvem pública são inerentemente limitados aos recursos oferecidos pelo provedor de serviços. Além disso, os dados de nuvem pública residem em data centers de provedores de serviços, que têm implicações de conformidade e soberania de dados. 

Por outro lado, os usuários de nuvem privada têm controle total sobre sua infraestrutura e seus recursos. A desvantagem é que o usuário, ou um terceiro agindo em seu nome, deve lidar com as complexidades da manutenção, configuração e correção da infraestrutura. 

A Tabela 1 lista os prós e os contras da nuvem pública em relação às plataformas de nuvem privada Tabela 1: Os prós e os contras da nuvem pública e da nuvem privada

A nuvem privada é mais segura do que a nuvem pública?

Em geral, as nuvens privadas oferecem duas vantagens de segurança em relação às nuvens públicas.

  1. As nuvens privadas são dedicadas a uma única organização. 
  2. Elas geralmente não são diretamente acessíveis por meio da Internet pública.

É por isso que, muitas vezes, você verá alegações de que as nuvens privadas são mais seguras do que as nuvens públicas. Em teoria, e quando as empresas que mantêm a nuvem privada aplicam as práticas recomendadas de segurança na configuração e na manutenção, essa é uma afirmação razoável. Sendo todo o resto igual, o isolamento de uma nuvem privada é um benefício de segurança. 

No entanto, muitas organizações não dispõem do conhecimento especializado e dos recursos internos de segurança necessários para fortalecer, aplicar patches, fazer varreduras e gerenciar a infraestrutura com o mesmo rigor dos provedores de nuvem em hiperescala. Uma nuvem privada sem patches ou configurada incorretamente pode ser mais insegura do que uma nuvem pública, e as empresas devem levar isso em consideração ao avaliar os riscos

Modelos avançados de implantação em nuvem: nuvem híbrida e nuvem privada 

Além da nuvem pública e privada, há vários outros modelos de implantação de nuvem. Por exemplo, o Instituto Nacional de Padrões e Tecnologia define a nuvem comunitária como uma infraestrutura de nuvem “provisionada para uso exclusivo por uma comunidade específica de consumidores pertencentes a organizações que compartilham interesses comuns”.  No entanto, os dois modelos mais comuns de implantação de arquitetura avançada em nuvem são:

  • Nuvem híbrida: A combinação de vários modelos de implantação em nuvem dentro de uma organização. Por exemplo, uma equipe que replica um banco de dados em uma nuvem pública e privada está usando um modelo de nuvem híbrida. 

  • Multinuvem: O uso de vários provedores de nuvem pública diferentes dentro de uma organização. Por exemplo, uma empresa que executa clusters no Serviço de Kubernetes do Azure (AKS) e no Amazon Elastic Kubernetes Service (EKS) está usando um modelo multinuvem.

XaaS: os tipos de computação em nuvem 

Além dos diferentes modelos de implantação, há uma ampla variedade de diferentes modelos de serviços de computação em nuvem. Coletivamente, esses modelos são conhecidos como "tudo como serviço" ou XaaS. Com o modelo XaaS, um provedor oferece aos usuários serviços de computação em nuvem geralmente com preços baseados em assinatura. 

Os três modelos de serviço XaaS mais comuns são SaaS, PaaS (plataforma como serviço) e IaaS (Figura 2). 

A Figura 2 é uma imagem de três "tudo como serviço" comuns, também conhecidos como modelos de serviço XaaS: SaaS, PaaS e IaaS Fig. 2: Os três modelos de serviço XaaS mais comuns: SaaS, PaaS e IaaS

A distinção entre esses três modelos de serviços de computação em nuvem é a responsabilidade do provedor de serviços e do usuário. A Tabela 2 detalha quem controla os diferentes aspectos da infraestrutura em nuvem com os diferentes modelos.

A Tabela 2 lista quem controla diferentes aspectos de uma infraestrutura em nuvem para cada modelo diferente. Tabela 2: As responsabilidades do provedor e do usuário nos três serviços de computação em nuvem

As plataformas IaaS oferecem aos usuários o máximo de controle e são as mais complexas de gerenciar e manter. Os usuários são responsáveis por tudo, desde a seleção de um sistema operacional até a aplicação de correções. Na outra extremidade do espectro, plataformas SaaS como Google Docs e Slack abstraem tudo, exceto a camada de aplicação. 

As plataformas PaaS fornecem um ponto médio e oferecem ao usuário o controle da camada de aplicação e de dados. Por exemplo, com uma plataforma PaaS, você pode ter acesso direto a um banco de dados MySQL, mas não será responsável por corrigir a versão MySQL ou o sistema operacional subjacente. 

Além de IaaS, PaaS e SaaS

IaaS, PaaS e SaaS são apenas o começo quando se trata de modelos de serviço em nuvem. Na última década, houve uma explosão de novas ofertas de serviços de nuvem que abrangem uma ampla variedade de casos de uso. 

Aqui está um detalhamento de outros modelos de serviço em nuvem que você deve conhecer.

  • As plataformas de Autenticação como serviço (AaaS), como a Okta e a Duo, oferecem serviços como autenticação multifator (MFA) e login único (SSO).
  • As plataformas de Desktop como serviço (DaaS), como o Amazon Workspaces e o Azure Virtual Desktop, oferecem desktops virtuais gerenciados na nuvem 
  • As ofertas de Contêineres como serviço (CaaS), como o Google Cloud Run e o Microsoft Azure Container Instances (ACI), simplificam o processo de implantação e gerenciamento de aplicações em contêineres em uma plataforma de nuvem
  • Plataformas de Kubernetes Gerenciado, como o AKS e o EKS, oferecem serviços de Kubernetes hospedados para a orquestração automatizada de clusters do Kubernetes na nuvem 
  • A computação sem servidor permite uma abordagem “sob demanda” em relação aos recursos de computação, possibilitando que os usuários executem funções sem precisar gerenciar nenhuma infraestrutura subjacente.

Os benefícios da computação em nuvem

A computação em nuvem é benéfica para consumidores e empresas. Os principais benefícios da computação em nuvem em relação à computação tradicional no local são:

  • Infraestrutura gerenciada: A instalação, configuração e manutenção de servidores, switches, racks, energia e equipamentos de resfriamento são caros e demorados. Os serviços de nuvem oferecem os benefícios comerciais de uma solução, sem a complexidade do gerenciamento de infraestrutura. 
  • Recursos elásticos: Aumentar ou diminuir o uso da nuvem é trivial em uma nuvem pública. Essa elasticidade permite que as empresas evitem gargalos para que possam expandir rapidamente sem o risco de excesso de investimento em hardware.
  • Capacidade de observação abrangente: Muitas vezes, as plataformas em nuvem vêm com ferramentas de observação e painéis incluídos.
  • Práticas recomendadas integradas: Os prestadores de serviços são incentivados a encontrar o equilíbrio ideal entre desempenho, segurança e funcionalidade. E eles podem oferecer aos seus clientes os benefícios das economias de escala. Como resultado, os usuários podem se beneficiar das práticas recomendadas de infraestrutura usando a plataforma de nuvem certa. 

Migração para uma arquitetura em nuvem

Lançar novos projetos na nuvem é uma coisa, mas migrar workloads existentes para a nuvem é outra. Não existe uma abordagem única que funcione para todos os casos de uso, mas há um conjunto geral de princípios e práticas recomendadas que você pode usar para acertar. 

  • Certifique-se de que a migração para a nuvem faça sentido: Nem toda workload precisa estar na nuvem. Crie um caso de negócios que pondere os custos da migração para a nuvem em relação aos custos de desativar totalmente a workload ou deixá-la no local. 
  • Escolha seu provedor de nuvem com sabedoria: Os recursos e o custo são importantes, mas não são as únicas partes da equação. Ao tomar sua decisão, leve em consideração os requisitos não funcionais, o suporte, os acordos de nível de serviço e a reputação do fornecedor. 
  • Selecione um modelo de serviço e implantação que funcione para você: A nuvem pública e a privada, assim como IaaS, PaaS e SaaS, vêm com diferentes conjuntos de compensações de controle, funcionalidade e dependência de fornecedor. Avalie os prós e os contras antes de se prender a um modelo. Por exemplo, embora possa parecer lógico migrar seu servidor Exchange local para uma máquina virtual comparável em uma plataforma IaaS, o e-mail do Office 365 (SaaS) pode ser uma solução melhor. 
  • Mantenha seus orçamentos sob controle: Os custos da nuvem podem aumentar rapidamente. A maioria dos principais provedores de serviços em nuvem oferece calculadoras de custos de nuvem que você pode usar para obter estimativas razoáveis e evitar surpresas. Além disso, certifique-se de configurar alertas de orçamento sempre que possível e fique atento às suas despesas. Implemente uma abordagem sistemática para controlar os custos e garantir que você permaneça dentro do seu orçamento. 
  • Tenha sempre um plano de contingência: Backups, planos de reversão e testes de pré-produção podem ajudar a reduzir o risco de perda de dados e tempo de inatividade à medida que você migra para a nuvem. Certifique-se de adotar uma abordagem de "medir duas vezes, cortar uma vez" para migrações de workloads críticas. 
  • Considere a aplicação do “figo estrangulador” em monólitos complexos: Fazer lift-and-shift rapidamente não funciona para tudo. Se sua equipe precisar mover aplicações monolíticos complexos para a nuvem, considere aplicar o padrão de figueira estranguladora para migrar gradualmente para microsserviços nativos da nuvem ao longo do tempo.

Conclusão

A arquitetura em nuvem é um tópico complexo, e há muito mais para aprender. Com o que abordamos aqui, no entanto, você deve ter uma compreensão sólida dos conceitos básicos de o que é, por que e como funciona a computação em nuvem.



Pavel Despot

escrito por

Pavel Despot

March 23, 2023

Pavel Despot

escrito por

Pavel Despot

Pavel Despot has more than 20 years of experience designing and deploying critical, large-scale solutions for global carriers and Fortune 500 companies around the world. He is currently the Senior Product Marketing for Cloud Computing Services at Akamai. In his previous role as Principal Cloud Solutions Engineer, he led application modernization and security initiatives for Akamai’s largest SaaS clients. Before joining Akamai, Pavel held various leadership roles on standards bodies, including the CTIA Wireless Internet Caucus (WIC), the CDMA Developers Group (CDG), and the Interactive Advertising Bureau (IAB). He has two patents in mobile network design, and currently resides in the Boston area.