...

/

What Is Cloud Native?

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 have a look at the cloud-native and ochastrator part 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 unpick some of that jargon.

Scale on demand

Scaling on demand is the ability for 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, 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 datacenter 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 each has 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.

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