Cloud Computing Concepts Question #019e3a4f
O que é uma aplicação cloud native?
É uma aplicação monolítica que foi conteinerizada e está sendo executada na nuvem.
É uma aplicação projetada para ser escalável e aproveitar os serviços executados na nuvem.
É uma aplicação projetada para executar todas as suas funções em contêineres separados.
É qualquer aplicação que seja executada em um provedor de nuvem e utilize seus serviços.
Official Explanation / Community Explanations
Uma aplicação cloud native é projetada desde o início para aproveitar os princípios de computação em nuvem, como escalabilidade, resiliência e arquiteturas orientadas a serviços. Ela normalmente usa microsserviços, contêineres e plataformas de orquestração como Kubernetes para maximizar os benefícios da nuvem.
Como Funciona
As aplicações cloud native são construídas com foco em agilidade e escalabilidade. Elas são decompostas em pequenos serviços independentes (microsserviços) que podem ser desenvolvidos, implantados e escalados individualmente. Esses serviços são frequentemente empacotados em contêineres e orquestrados por plataformas como Kubernetes, que gerenciam balanceamento de carga, descoberta de serviços e autocura. Aplicações cloud native também adotam práticas de DevOps e entrega contínua, permitindo iteração e implantação rápidas.
Por que a Resposta Correta está Correta
A resposta correta afirma que uma aplicação cloud native é "projetada para ser escalável e aproveitar os serviços executados na nuvem." Isso captura a essência do cloud native: design intencional para ambientes de nuvem, incluindo escalabilidade horizontal, ausência de estado e uso de serviços gerenciados (por exemplo, bancos de dados, filas de mensagens) para reduzir a sobrecarga operacional.
Por que as Respostas Incorretas estão Erradas
- "Uma aplicação monolítica que foi conteinerizada e está sendo executada na nuvem" está incorreta porque simplesmente conteinerizar um monólito não o torna cloud native. Cloud native requer mudanças arquiteturais como microsserviços e acoplamento fraco.
- "Uma aplicação projetada para executar todas as suas funções em contêineres separados" é muito restrita. Embora microsserviços sejam comuns, cloud native não se limita estritamente a contêineres; também inclui serverless, service meshes e APIs declarativas. Além disso, executar funções em contêineres separados sem orquestração e design adequados não garante os benefícios do cloud native.
- "Qualquer aplicação que seja executada em um provedor de nuvem e utilize seus serviços" é muito ampla. Muitas aplicações legadas podem ser movidas para a nuvem e usar alguns serviços, mas carecem da escalabilidade, resiliência e automação inerentes que definem as aplicações cloud native.