What Is Cloud Native?

Get introduced to cloud native and the role of an orchestrator.

In the last lesson, we learned about microservices. Let’s now examine the cloud native and orchestrator parts of the Kubernetes definition.

What is a cloud native application?

A cloud native app must:

  • Scale on demand

  • Self-heal

  • Support rolling updates

Let’s understand these jargons.

Scale on demand

Scaling on demand is the ability of an application and associated infrastructure to grow and shrink automatically to meet requirements. For example, an online retail app might need to scale up infrastructure and application resources during holiday periods. If configured correctly, Kubernetes can automatically scale applications and infrastructure according to demand. Not only does this help businesses react more quickly to unexpected changes, but it also reduces infrastructure costs when scaling down.

Self-heal applications

Kubernetes can also self-heal applications. We tell Kubernetes what an app should look like, such as how many instances of each microservice. Kubernetes records this as the desired state and watches the app to make sure it always matches that particular state. When things change, such as a microservice failing, Kubernetes notices this and spins up a replacement. We call this self-healing or resiliency.

Rolling updates

Rolling updates is the ability to update parts of an application without taking it offline and impacting consumers. It’s a game-changer in today’s always-on world, and we’ll see it in action later.

One final point. Cloud native has almost nothing to do with the public cloud. For example, deploying a monolithic application to the cloud does not make it cloud native. Whereas a microservices application that self-heals, automatically scales, and does rolling updates deployed to your on-premises data center is cloud native. We call applications cloud native because they possess the attributes we associate with public clouds—resilient, elastic, always on.

In summary, cloud native apps are resilient, automatically scale, and can be updated without downtime.

Orchestration

Orchestration can be a difficult concept to understand. The following sports analogy should help.

A football (soccer) team is a group of individual players. Each has a different set of skills and attributes and a different role to play when the game starts.

The following figure shows an unorganized football team without a game plan.

Create a free account to view this lesson.

Continue your learning journey with a 14-day free trial.

By signing up, you agree to Educative's Terms of Service and Privacy Policy