Introduction to Cloud Native Principles

A cloud-native application is engineered to run on a platform and is designed for resiliency, agility, operability, and observability. Resiliency, Agility, and Operability are the core pillars of the cloud. We then go on to learn a little bit of Microservices, Containers, VM and Kubernetes.

Now that you have an overview of a) what the data center looks like b) have an understanding of the various pieces of AWS c) understand the reason why your company needs to move to the cloud let’s go into some of the Cloud Native Principles.

The reason that you need to deeply understand these principles is that ideally when an application is running on the cloud it needs to maximize the benefits of running on the cloud. When applications are not built keeping these principles in mind there are more chances of things falling.

Cloud-Native Principles

A cloud-native application is engineered to run on a platform and is designed for resiliency, agility, operability, and observability.

  1. Resiliency embraces failures instead of trying to prevent them; it takes advantage of the dynamic nature of running on a platform.
  2. Agility allows for fast deployments and quick iterations.
  3. Operability adds control of application life cycles from inside the application instead of relying on external processes and monitors.
  4. Observability provides information to answer questions about the application state. Think to monitor.

The Cloud Native Computing Foundation (CNCF) has defined cloud-native as:

  1. Micro-services based Architecture
  2. Containerized
  3. Distributed Management and Orchestration

Let’s dive a little deeper and understand what this means.

Micro-services Architecture

Micro-service architecture is a software architecture style where complex applications are composed of several small, independent processes communicating with each other using language-agnostic APIs. These application services are small, highly decoupled, and focus on doing a small task. Microservices refer to smaller and more manageable services that serve a specific use case.

Get hands-on with 1200+ tech skills courses.