Skip to content
hostcomplex

What Does Cloud Native Mean?

Maarten Soetens 2 min read

What Cloud Native Means

Cloud native is an approach to building and running applications so they take full advantage of cloud computing. Cloud-native apps are usually split into small services, packaged in containers, and deployed and scaled automatically.

The term is about design and operations, not just location. An application running on a cloud virtual server can still use a traditional design. A cloud-native application is built to scale out, to recover from failures and to be updated often without long outages. The ideas are widely shared across the software industry, although teams apply them to different degrees.

Core Ideas: Microservices, Containers and Automation

Cloud-native designs usually combine several practices:

  • Microservices: the application is split into small services that each handle one job, such as payments or user profiles, and can be updated separately.
  • Containers: each service is packaged with its dependencies so it runs the same way across environments.
  • Declarative configuration: the desired state of the system is described in files and enforced automatically, as in infrastructure as code.
  • Continuous integration and delivery (CI/CD): code changes are tested and released automatically, which makes frequent, small updates practical.

Many cloud-native teams also follow the twelve-factor app principles, a set of widely used guidelines for building software-as-a-service applications. Examples include keeping configuration out of the code and treating logs as a stream of events.

When Cloud Native Fits and When It Does Not

Cloud-native design adds real complexity. Each service needs its own deployment, monitoring and failure handling, and the team needs skills in several tools at once. For that reason, it is a poor fit for many projects.

Consider two examples. A small business website with a handful of pages gains little from being split into services, and a simple static site or a single application server is far easier to run. A software product maintained by many teams, releasing changes daily and needing to scale parts of the system separately, is where the approach pays off.

A useful question is whether the benefits of independent scaling and frequent releases outweigh the operating cost. If they do not, a simpler design is usually the better choice. For the container side of the trade-off, see serverless vs containers.

Frequently asked questions

Is cloud native the same as running in the cloud?

No. Running an application on cloud servers is hosting in the cloud, but the application may still use a traditional design. Cloud native refers to how the application is built and operated, using services that scale, recover from failure and can be updated often.

Do I need Kubernetes to be cloud native?

No. Kubernetes is a popular platform for running containerised applications, but cloud-native designs can also use managed container services or serverless functions. Kubernetes is one option, and many teams choose it only after weighing its operational demands. Read more about managed Kubernetes services.

  • Two-Factor Authentication

    Two factor authentication hosting adds a second check to control panel, domain and CMS logins. Learn which methods are strongest and why 2FA helps.

  • What Is an A Record?

    What is an A record? Learn how this DNS record maps a hostname to an IPv4 address, why domains use several A records and the root and www pattern.

  • Billing and Automation Platforms

    What is WHMCS? Learn how this commercial billing and automation platform helps hosts sell plans, collect payments and create accounts automatically.