Cloud-Native Applicaion

Manish Mahadadalkar
2 min readOct 7, 2021

A native application is a software which is developed to use on a particular platform.

A cloud-native application is a application which is developed for a cloud compting architecture. These applications use a micoservice architecture. These applications are hosted on the cloud platform. These are developed to take advantage of the characteristics of the cloud computing software delivery model.

The characteristics of the cloud platform which makes Cloud-Native apllications possible are as follows:

  1. We can increase the number of individual virtual machines as cloud scaling method is horizontal.
  2. Resources can be released as easily as they are added.
  3. Cloud provides pay-for-use model so we have to pay for the resources which are allocated to us currently.
  4. Cloud scaling is automatable.
  5. Cloud has rare downtime.
  6. Because of the various services provided by cloud platforms, cloud application development is simplified.

Properties of Cloud-Native Applications:

  1. Can scale horizontally, by adding and releasing resources as per need.
  2. Uses cloud services for reliable and scalable infrastructure.
  3. Optimzes cost to run efficiently.
  4. Handles node failures without downtime.
  5. Upgrades without downtime.
  6. Handles scaling evens without downtime.
  7. Scales automatically using proactive and reactive actions.

Cloud-Native vs. Cloud-Based Applications

There is often confusion between the terms cloud-native and cloud-based applications. While they both run on public, private and hybrid cloud infrastructures, they differ in design as follows:

Cloud-based applications: Cloud-based applications do not take full advantage of the characteristics of the cloud.

Cloud-native applications: These are designed particularly for the cloud. Cloud-native applications are developed to take advantage of the inherent characteristics of the cloud.

Advantages of Cloud-Native Applications:

  1. Cost-effective
  2. Independently scalable
  3. Portabiliy
  4. Reliability
  5. Easy to manage
  6. Visibility

Tools to develop Cloud-Native Applications:

  1. Docker
  2. Kubernetes
  3. Terraform
  4. GitLab CI/CD
  5. Node.js

--

--