Cloud
Computação em nuvem
Baseia-se na virtualização total dos recursos para oferecer serviços sob demanda.
Pode ser pública, privada, comunitária ou híbrida. Oferece escalabilidade automática e cobrança por uso.
Muitos conceitos cobrados desses assunto pela Cebraspe são baseados no seguinte documento:
https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf
Características principais
- Autoatendimento sob demanda – Usuários criam e gerenciam recursos sem precisar de suporte manual.
- Acesso amplo à rede – Serviços acessíveis de qualquer lugar via internet.
- Pooling de recursos – Infraestrutura compartilhada entre vários clientes (multi-tenant).
- Elasticidade rápida –Os recursos devem ser alocados e liberados de forma elástica e rápida, podendo ou não ser automática. O cliente deve ter a percepção de que o recurso é ilimitado.
- Serviço mensurado – Tanto o cliente quanto o provedor de serviços devem ter acesso a utilização dos recursos, com geração de relatórios e medições online. Pagamento conforme o uso (pay-per-use).
Nuvem Privada
Nesse modelo, a infraestrutura que provê os serviços em nuvem é mantida pela própria organização para uso exclusivo desta e de terceiros vinculados a ela. Ela pode ser uma infraestrutura local ou remota (quando remota, existem referências que a categorizam como "Privada Hospedada"). É importante dizer que ela também pode ser mantida por terceiros, mas com um uso restrito aos grupos apresentados. A nuvem privada tende a ser mais cara, pois o hardware pode ser especifico, então os custos para manter o datacenter tendem a ser mais altos.
Definição do NIST(800-145):
“A infraestrutura de nuvem é provisionada para uso exclusivo por uma única organização compreendendo vários consumidores (por exemplo, unidades de negócios). Pode ser propriedade, gerida e operada pela organização, um terceiro, ou alguma combinação deles, e pode existir dentro ou fora das instalações.”
Nuvem Pública
Exemplo: AWS, Google Cloud
Definição da NIST(800-145):
“A infraestrutura de nuvem é provisionada para uso aberto pelo público em geral. Pode ser de propriedade, gerenciada e operada por uma organização empresarial, acadêmica ou governamental, ou alguma combinação deles. Ele existe nas instalações do provedor de nuvem.”
A nuvem do tipo pública, se comparada à nuvem do tipo privada, apresenta custos de implementação mais baixos e gerenciamento mais simples, além de conter economia de escala
Nuvem Comunitária
O objetivo desse modelo é o compartilhamento de serviços comuns e semelhantes entre empresas e instituições. Desse modo, pode-se reduzir custos de implantação quando comparado com um modelo de Nuvem Privada a ser implantado por apenas uma empresa. Geralmente é administrado e gerenciado pela própria comunidade ou por uma empresa designada por aquela.
Definição da NIST(800-145):
"A infraestrutura em nuvem é provisionada para uso exclusivo por uma comunidade de consumidores de organizações que compartilham preocupações (por exemplo, missão, requisitos de segurança, política e considerações de conformidade). Pode ser de propriedade, gerenciada e operada por uma ou mais organizações da comunidade, uma entidade externa ou terceira, ou alguma combinação deles, e pode existir dentro ou fora das instalações."
Nuvem Híbrida
A computação em nuvem do tipo híbrida é a composição de uma dupla entre nuvens públicas, privadas ou comunitárias. Permite que uma nuvem privada possa ter recursos ampliados a partir de uma reserva de recursos em uma nuvem pública. Determinadas aplicações são direcionadas às nuvens públicas, já outras mais críticas permanecem na nuvem privada. Pode ser implantado de forma local ou remota.
Definição da NIST(800-145):
"A infraestrutura de nuvem é uma composição de duas ou mais tipos de nuvens distintas (privadas, comunitárias ou públicas) que permanecem como entidades únicas, mas estão vinculadas por tecnologia padronizada ou proprietária que permite que dados e aplicativos sejam portados (por exemplo, grande volume de dados em nuvem para balanceamento de carga entre nuvens)"
Cluster
Conjunto de computadores interligados que trabalham como um único sistema.
Usa um gerenciador central para coordenar tarefas.
Cluster de Alta Disponibilidade (HA - High Availability)
- Objetivo: Garantir disponibilidade contínua do serviço.
- Exemplo: Ativo/Passivo (failover)
- Funcionamento: Um servidor é primário, enquanto outro fica em standby para assumir caso haja falha. Isso minimiza o tempo de inatividade e permite uma rápida recuperação dos serviços.
- Usado em: Bancos de dados, serviços críticos (como e-mails, DNS, servidores web).
Cluster de Balanceamento de Carga (Load Balancing)
- Objetivo: Distribuir as requisições entre vários servidores para otimizar o desempenho.
- Exemplo: Ativo/Ativo.
- Funcionamento: Múltiplos servidores trabalham juntos, compartilhando a carga de trabalho. Se um falhar, o tráfego é redistribuído.
- Usado em: Web servers, aplicações distribuídas, serviços de alto tráfego.
Cluster de Alto Desempenho (HPC - High Performance Computing)
- Objetivo: Executar cálculos pesados e processamento paralelo.
- Funcionamento: Vários nós processam partes de uma tarefa simultaneamente.
- Usado em: Simulações científicas, modelagem 3D, big data, machine learning.
Cluster de Armazenamento (Storage Cluster)
- Objetivo: Aumentar a capacidade e a redundância de armazenamento.
- Funcionamento: Múltiplos servidores compartilham e replicam dados para evitar perda de informação.
- Usado em: Sistemas de arquivos distribuídos (GlusterFS, Ceph), SAN (Storage Area Network).
Grid
Conjunto de computadores distribuídos geograficamente, conectados para resolver problemas complexos.
Cada nó pode ser administrado independentemente. A gerência é descentralizada.
Ideal para processamento de tarefas paralelas massivas (ex: pesquisa científica, simulações).
Arquiteturas
IaaS
É caracterizada pelo provimento de toda a infraestrutura física e lógica de forma virtualizada na nuvem, com capacidades de hardware definidas. Infraestrutura bruta (servidores, redes, armazenamento). Ele proporciona alta escalabilidade e flexibilidade porque permite ajustar recursos conforme a demanda, além de proporcionar mecanismos de segurança robustos que podem ser configurados conforme a necessidade da empresa.
Exemplo: AWS EC2, Google Compute Engine, Microsoft Azure VM.
O IaaS é considerado a base da computação em nuvem, sendo o mais flexível, mas exigindo mais configuração e gerenciamento por parte do usuário.
PaaS
É caracterizada pela possibilidade de implementação e realização de testes de aplicações na nuvem.
Ambiente pronto para desenvolvimento, sem necessidade de gerenciar a infraestrutura.
Exemplo: Google App Engine, AWS Elastic Beanstalk.
SaaS
É caracterizada pelo uso compartilhado de um software na nuvem.
Aplicações prontas para uso via internet.
Exemplo: Google Drive, Gmail, Microsoft 365.
CaaS
Communication as a Service
É caracterizado por prover infraestrutura para comunicação em nuvem com um conjunto de serviços que facilitam a comunicação empresarial.
Exemplo: Skype e Facetime.
DBaaS
Database as a Service
Fornece diversos tipos de banco de dados (Simples, Relacional, Orientado a Objetos, entre outros) aos usuários como um serviço.
Exemplo: SimpleBD e Amazon Relational Database Service.
FaaS
Funcion as a Service
Modelo serverless, onde o código é executado apenas quando necessário e depois desativado.
O desenvolvedor cria pequenas funções que são acionadas por eventos (exemplo: requisição HTTP, upload de arquivo, acionamento de uma fila de mensagens).
Exemplo: Uma loja virtual usa AWS Lambda para calcular o frete apenas quando um cliente insere um CEP no checkout.
XaaS
Everything as a Service (Tudo como serviço)
É um termo genérico que engloba qualquer serviço entregue pela nuvem sob demanda. Ele inclui modelos como SaaS, PaaS, IaaS, FaaS, DBaaS, DaaS, entre outros.
Workloads
Em termos simples, o workload refere-se à carga de trabalho ou à quantidade de processamento que um conjunto de aplicações exige de um sistema. No contexto da virtualização, ele é crucial para determinar os recursos necessários (como CPU, memória e armazenamento) para garantir que as máquinas virtuais operem eficientemente.
Exemplo:
Um site WordPress rodando na nuvem. Esse será o workload que queremos migrar ou rodar em um ambiente cloud.
- Máquina Virtual ou Container – Onde o site WordPress roda (Ex: AWS EC2, Kubernetes, Azure VM).
- Banco de Dados – Armazena posts, usuários e configurações (Ex: MySQL no Amazon RDS, Cloud SQL).
- Armazenamento – Guarda arquivos e backups (Ex: AWS S3, Google Cloud Storage, Azure Blob).
- Rede, Balanceador, DNS e CDN – Garante velocidade, segurança e disponibilidade (Ex: Cloudflare, AWS ELB).
O workload do site inclui todos esses componentes juntos, funcionando na nuvem para garantir que o site esteja sempre online, rápido e seguro.
Tipos:
- Static Workload - Os recursos de TI possuem comportamento igual ao longo do tempo e limites bem definidos. (Não há ganho significativo ao migrar para nuvem)
- Periodic Workload - Comportamento varivável, porém, períodico. Picos e vales bem definidos. Exemplo - Acesso a folha de pagamento do TJPA ( + Acessos na véspera da emissão da folha )
- Once-in-a-lifetime Workload - Tem-se um tráfego que acontece de forma esporádica ou ainda única. Exemplo - Listão do Vestibular.
- Unpredictable Workload - A alocação fixa de recursos para tráfegos imprevisíveis.
- Continuously Changing Workload - Variam dinamicamente ao longo do tempo, exigindo ajustes constantes na infraestrutura.
Resumo
Tipo de Workload | Descrição | Exemplo |
---|---|---|
Periodic Workload | Ocorre em intervalos regulares e previsíveis. | Processamento de folha de pagamento mensal, backup diário. |
Once-in-a-lifetime Workload | Executado apenas uma vez ou raramente. | Migração de um sistema para a nuvem, simulação científica única. |
Unpredictable Workload | Variações inesperadas e sem padrão definido. | Um site que viraliza de repente, ataques DDoS. |
Continuously Changing Workload | Mudanças constantes, mas seguindo tendências previsíveis. | Plataforma de streaming ajustando recursos conforme o horário do dia. |
--
Estratégias de Migração
Rehosting - Lift-and-Shift
As cargas de trabalho são movidas de um ambiente de origem para um ambiente de destino com pequenas ou nenhuma modificação ou refatoração. Em vários casos, com as restrições técnicas pode haver uma obrigação a migração lift-and-shift. Caso não seja possível refatorar o Workload. Como benefício, é importante destacar que são mais fáceis e mais rápidas de se executar pois as equipes do cliente podem continuar usando o mesmo conjunto de ferramentas e habilidades que usava anteriormente.
Essas cargas de trabalho não aproveitam ao máximo os recursos da plataforma de nuvem, como escalabilidade horizontal, preços detalhados e serviços altamente gerenciados
Refactoring - Improve-and-Move
A carga de trabalho é modernizada durante a migração com o objetivo de otimizá-las para os recursos nativos da nuvem, não apenas para que elas funcionem no novo ambiente. Diante disso, esses workloads permitem que seu aplicativo aproveite os recursos de uma plataforma de nuvem, como escalabilidade e alta disponibilidade. Em termos comparativos de esforço, estes levam mais tempo do que as migrações lift-and-shift, porque precisam ser refatoradas para que o aplicativo migre.
Se a arquitetura ou a infraestrutura atual de um aplicativo não for compatível com o ambiente de destino, será necessário um certo nível de refatoração para superar essas limitações.
Foca em modificar ou otimizar o código e a arquitetura para melhorar o desempenho e a eficiência.
Rip-and-Replace
Desativa-se um aplicativo atual e faz um projeto completamente novo para reescrevê-lo na forma de um aplicativo nativo da nuvem. Essa abordagem permite que o aplicativo aproveite ao máximo os recursos da nuvem, com estrutura totalmente nativa, como escalabilidade horizontal, serviços altamente gerenciados e alta disponibilidade.
Podem levar mais tempo do que migrações lift-and-shift e improve-and-move. Além disso, esse tipo de migração não é adequada para aplicativos prontos para serem usados porque requer a reelaboração do aplicativo.
Replatform - Lift and optimize
Começa com mover a aplicação como está (sem mudanças no código) e depois foca em otimizar a infraestrutura e os recursos da nuvem, sem uma reestruturação interna do sistema.
Repurchase - Recompra
É uma estratégia de migração na qual uma empresa substitui seu sistema existente por uma nova solução baseada em nuvem, geralmente Software as a Service (SaaS). Em vez de migrar ou refatorar uma aplicação própria, a organização opta por adotar uma nova plataforma comercial que já está disponível na nuvem.
Exemplo: Se uma organização usa um servidor de e-mail próprio e decide substituí-lo por uma solução de e-mail na nuvem como Google Workspace (Gmail).
Re-architect - Continue to modernize
É uma estratégia de migração que envolve modificar significativamente a arquitetura de um sistema para tirar proveito das capacidades da nuvem e melhorar sua performance, escalabilidade e flexibilidade. Essa abordagem vai além da simples migração ou refatoração e envolve uma transformação profunda da arquitetura do sistema para aproveitar ao máximo os recursos nativos da nuvem.
Exemplo: Durante a migração para a nuvem, a empresa decide re-arquitetar o sistema para utilizar microserviços e containers (como Kubernetes), permitindo uma escalabilidade mais eficaz e a utilização de outras vantagens da nuvem, como processamento serverless.
Ano: 2022 Banca: CESPE / CEBRASPE Órgão: TRT - 8ª Região (PA e AP) Prova: CESPE / CEBRASPE - 2022 - TRT - 8ª Região (PA e AP) - Analista Judiciário - Tecnologia da Informação
Um analista de determinado TRT foi instado a realizar um planejamento de migração da carga de trabalho do ambiente local do tribunal para um ambiente de nuvem pública, como AWS, Azure ou Google Cloud. Um dos requisitos dessa migração era que as cargas de trabalho a serem migradas fossem modificadas o mínimo possível, apenas o bastante para operarem no ambiente de destino.
Com base nas informações precedentes e considerando-se que a carga de trabalho mencionada na situação hipotética apresentada pode operar no ambiente de destino (nuvem) no estado em que se encontra e(ou) com pouca necessidade de mudança, não sendo possível refatorá-la, é correto afirmar que a estratégia mais adequada para a migração dessa carga de trabalho é denominada
a) lift-and-shift.
b) improve-and-move.
c) rip-and-replace.
d) replace.
e) build e buy.
Mostrar resposta
- 🟢 Alternativa: A.
Ano: 2022 Banca: CESPE / CEBRASPE Órgão: TRT - 8ª Região (PA e AP) Prova: CESPE / CEBRASPE - 2022 - TRT - 8ª Região (PA e AP) - Técnico Judiciário - Tecnologia da Informação
Um tribunal regional do trabalho planeja realizar a migração de suas cargas de trabalho modificando-as de modo a otimizá-las para os recursos nativos da Google Cloud a medida que estão sendo migradas. Como requisito, a carga de trabalho é modernizada durante a migração de modo a aprimorar o desempenho da carga. Com base na situação apresentada, assinale a opção que indica o modelo de implantação presente no texto.
a) improve-and-move.
b) lift-and-shift.
c) repurchase-replatform.
d) rip-and-replace.
e) rehost-replatform.
Mostrar resposta
- 🟢 Alternativa: A.
Estratégia de Escalabilidade
A escalabilidade é a capacidade de um sistema de lidar com o aumento ou diminuição de carga de forma eficiente. Ela pode ser vertical (aumentar os recursos de um único servidor) ou horizontal (adicionar mais instâncias de servidores).
Vertical e Horizontal
- Escalabilidade Vertical (ou "scale-up"): Aumentar os recursos - upgrade - de uma máquina existente (ex: aumentar a CPU ou memória de uma VM).
- Escalabilidade Horizontal (ou "scale-out"): Adicionar mais instâncias de máquinas ou servidores para distribuir a carga (ex: adicionar mais VMs ou containers).
Autoescalamento (Auto Scaling)
- Entenda como o autoescalamento funciona, permitindo que a infraestrutura da nuvem se ajuste automaticamente com base na demanda (ex: aumentando ou diminuindo instâncias EC2 na AWS com base no tráfego).
Escalabilidade é mais sobre planejamento de longo prazo para aumentar ou reduzir recursos com base em expectativas de carga.
Elasticidade é sobre ajustes rápidos e dinâmicos conforme a demanda muda em tempo real, frequentemente sem intervenção humana.