DEV Community

Mike
Mike

Posted on

What is your definition of cloud-native?

Hi,

As part of some research for a book I'm writing, I'm curious to learn how people define cloud-native.

Your personal definition of it, no wrong answers.

Top comments (5)

Collapse
 
loujaybee profile image
Lou (πŸš€ Open Up The Cloud ☁️) • Edited

For me it's: The degree to which a company is willing to adopt cloud technologies.

... I see it much like the political spectrum of right and left. Sometimes useful, sometimes a bit confusing. And generally used for sweeping statements. Which means any (and every) company can be plotted on the following scale...

Cloud Native β€”> Cloud Agnostic

Which is where I think there's confusion..

For instance one of the CNCF's biggest projects is Kubernetes. But Kubernetes is used by many companies to achieve cloud agnosticism, rather than cloud native. Very confusing to me.

I also often see definitions around "containers" and "serverless" but I fail to see how that's a sufficient definition. These are just arbitrary technologies. These technologies may change in future, but the concept of deliberately and willingly handing over large portions of your operations to a third party will not change, and that, for me, is the definition of Cloud Native.

Collapse
 
mikenikles profile image
Mike

Hi Lou, thank you for sharing your thoughts on that. I agree with you, technology-specific definitions for such a broad term feel short-lived. In my opinion, that applies to the CNCF definition shared by Jeremy as it calls out containers, service meshes, et al. I believe these are stepping stones towards something more abstract. While the technologies change, the definition of cloud-native ideally does not.

My current working version of what I understand cloud-native to be is:

"Cloud-native is a way of developing, deploying, running and monitoring modern applications that rely, as much as possible, on managed services provided by cloud providers, so that developers can maximize their time to focus on delivering value to customers rather than dealing with infrastructure."

Collapse
 
loujaybee profile image
Lou (πŸš€ Open Up The Cloud ☁️)

A very nice definition :)

Collapse
 
jeremylikness profile image
Jeremy Likness ⚑️

I think this one from the Cloud Native Computing Foundation (CNCF) works:

Cloud-native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.

These techniques enable loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow engineers to make high-impact changes frequently and predictably with minimal toil.

  • Jeremy
Collapse
 
mikenikles profile image
Mike • Edited

Thanks for sharing Jeremy.

I'm looking to collect different views for a book I'm writing titled Cloud Native Web Development. My working theory is that everyone has a slightly different view of what it means, which is perfectly fine and would support a point I made in the book.