What is cloud native?

Published 11.05.2021

Author Fabian Peter

Tags

Cloud native is a term that has been around for a while, but it’s still not well understood. The term was first used in 2010 by Adrian Cockcroft, then VP of cloud architecture at Netflix. He defined it as:

“The application is designed from the ground up to take advantage of the elasticity and automation provided by the cloud. It uses cloud-native patterns and practices, such as microservices, containers, and declarative APIs to achieve high availability, resiliency, and agility.”

Adrian Cockcroft

In other words, cloud native applications are designed from the ground up to run in a cloud environment. They use modern technologies like containers and microservices to be highly available and scalable. They can be deployed quickly on demand with minimal overhead. And they are built with an eye toward continuous delivery so they can be updated frequently without breaking anything else in the system.

The difference between traditional applications and cloud native applications is similar to the difference between traditional web apps (which run on servers) versus mobile apps (which run on phones). Mobile apps are designed from the ground up for mobile devices; they use features like GPS location services that aren’t available on desktop computers or laptops. Similarly, cloud native applications are designed from the ground up for a cloud environment; they use features like containers that aren’t available on traditional servers or virtual machines (VMs).

In both cases, these new features make it possible to do things that were previously impossible or too difficult to do efficiently.

Why should you care?

Because if you don’t build your application using these new technologies, you will have a hard time competing with companies that do! If your competitors build their apps using containers and microservices instead of VMs or monolithic codebases, they will be able to deploy updates more quickly than you can — which means their app will always be newer than yours! And if their app is newer than yours — well…you get the idea…

How does this affect DevOps?

DevOps is all about collaboration between developers (who write code) and operations (who run production systems). Traditionally this collaboration has been limited by technology constraints: Developers write code using one set of tools (e.g., IDEs), while operations uses another set of tools (e.g., monitoring dashboards) — neither set of tools talk directly to each other!

This makes it hard for developers to understand what operations needs out of their code — which makes it harder for them to write good code in the first place! It also makes it hard for operations people to understand what developers need out of their monitoring system — which makes it harder for them to configure monitoring properly.

This lack of communication leads directly into problems like “it works on my machine” syndrome: Developers push bad code into production because they think everything works fine locally; meanwhile ops people push bad configurations into monitoring because they don’t know how developers want things configured!

Cloud native applications change all this by making communication easier: Developers use modern development tools like Docker Compose or Kubernetes YAML files that directly describe how an application should be deployed.

Meanwhile ops people use modern monitoring tools like Prometheus that directly describe how an application should be monitored! These new tools make communication easier because everyone is using the same language when talking about deployment/monitoring/etc.

There are no longer two separate languages being spoken by two separate groups of people who don’t understand each other very well! As a result we see better collaboration between developers and operations teams — which leads directly into better software quality overall!


This post was created by GPT-3 by OpenAI. We just did the formatting. Awesome, ain’t it? We wanted to experiment with it and see how it blends in the wild and we’re quite impressed. Let us know what you think about it.

Join 100+ cloud native enthusiasts

and stay in the loop on modern software development.

Sign up to receive exclusive content around cloud native software development right into your inbox.

We don’t spam! Read our privacy policy for more info.

More stories from our blog

What’s new in Kubernetes v1.21.2?

What’s new in Kubernetes v1.21.2?

It's June, and Kubernetes has released a new update with version 1.21.2. We will have a look in brief at the changes that came along with this update. We will also have a look at the bugs that Kubernetes removed ahead with the few things added. Let's roll. Changes...

Chaos Engineering: Not so Chaotic

Chaos Engineering: Not so Chaotic

It feels very complex when we talk a lot about cloud computing and developer operations. Furthermore, certain things look complicated, but they are not so if we easily understand those concepts. Today, we will discuss such a thing that sounds complex but is simple and...

On Charming Engineering Culture: My Notes

On Charming Engineering Culture: My Notes

Engineering teams are at the core of any modern organisation. They break/make an organisation, and empowering them is critical to any modern companies’ success. A motivated engineer brings more value than a ‘whatever’ engineer. Its high time managers and leaders focus...

Observability: Your Eyes in Cloud

Observability: Your Eyes in Cloud

Observability is all around the cloud. You might come across the term while exploring the vast stretches of documentations or blog posts, maybe videos or streams too. Well, from far you might have seen that this is a very broad term, and it’s expected. The topic is...

Cloud Firewalls Simplified: Beginners  Edition

Cloud Firewalls Simplified: Beginners Edition

Cloud technology is everywhere. From your photos to big corporations carrying out their day to day operations. But have you ever thought about the security needed to protect this vast pile of data? Security from external attacks by threat detection and elimination is...

Object and Block Storage: How They Differ?

Object and Block Storage: How They Differ?

The difference between block and file storage makes heads spin due to the complexity of definitions and technical jargon across the internet. Even a technical person sometimes forgets the business value and makes decision fatigue their best friend when trying to...

Helm: Why DevOps Engineers Love it?

Helm: Why DevOps Engineers Love it?

Kubernetes doesn’t have reproducibility built-in. At least, that’s what we hear most people complain as a cloud native consultation firm serving both startups and enterprises. I have been using Kubernetes for a while now, and it stands up to the mark of being a gold...

Interested in what we do? Looking for help? Wanna talk about software strategy?