Questão de Cloud Computing Concepts #019e3a4f
What is a cloud native application?
It is a monolithic application that has been containerized and is running now on the cloud.
It is an application designed to be scalable and take advantage of services running on the cloud.
It is an application designed to run all its functions in separate containers.
It is any application that runs in a cloud provider and uses its services.
Explicação Oficial / Explicações da Comunidade
A cloud native application is designed from the ground up to leverage cloud computing principles, such as scalability, resilience, and service-oriented architectures. It typically uses microservices, containers, and orchestration platforms like Kubernetes to maximize the benefits of the cloud.
How it Works
Cloud native applications are built with a focus on agility and scalability. They are decomposed into small, independent services (microservices) that can be developed, deployed, and scaled individually. These services are often packaged in containers and orchestrated by platforms like Kubernetes, which handle load balancing, service discovery, and self-healing. Cloud native apps also embrace DevOps practices and continuous delivery, enabling rapid iteration and deployment.
Why the Correct Answer is Right
The correct answer states that a cloud native application is "designed to be scalable and take advantage of services running on the cloud." This captures the essence of cloud native: intentional design for cloud environments, including horizontal scaling, statelessness, and use of managed services (e.g., databases, message queues) to offload operational overhead.
Why the Incorrect Answers are Wrong
- "A monolithic application that has been containerized and is running now on the cloud" is incorrect because simply containerizing a monolith does not make it cloud native. Cloud native requires architectural changes like microservices and loose coupling.
- "An application designed to run all its functions in separate containers" is too narrow. While microservices are common, cloud native is not strictly about containers; it also includes serverless, service meshes, and declarative APIs. Moreover, running functions in separate containers without proper orchestration and design does not guarantee cloud native benefits.
- "Any application that runs in a cloud provider and uses its services" is too broad. Many legacy applications can be lifted-and-shifted to the cloud and use some services, but they lack the inherent scalability, resilience, and automation that define cloud native applications.