DEV Community


Discussion on: What is your definition of cloud-native?

loujaybee profile image
Lou — Cloud Engineer • 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.

mikenikles profile image
Mike Nikles Author

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."

loujaybee profile image
Lou — Cloud Engineer

A very nice definition :)