What is cloud native? Why should I care?
Watch story in fullscreen mode
What is cloud native?
What does it stand for? What doesn’t it stand for? It stands for, it stands for commitment. It stands for audacity. It stands for courage in the face of- … never mind, just joking.
You’ll often hear that cloud native has something to do with containers, orchestration and microservices. For me it’s about how to approach the process from idea to market by leveraging cloud technologies. It’s a mindset and an evolving mix of patterns, methodologies and technologies.
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.
-CNCF Cloud Native Definition v1.0
That’s the technical part that resonates well with me. It also gives a hint towards DevOps principles. For me, the four key elements of the cloud native approach are:
1) Cloud native architecture
Popular components of a cloud native architecture are public cloud, microservice architecture, loose coupling, infrastructure as code and stateless applications. More about it in my Cloud native architecture post.
2) Autonomous teams
Nimble teams can make their own decisions. Dependencies can slow teams down.
3) Psychological safe environment
Psychological safety is a belief that one will not be punished or humiliated for speaking up with ideas, questions, concerns or mistakes. In such an environment people can learn and improve things together.
4) DevOps principles
DevOps is all about collaboration, automation, and managing risk to provide a good user experience.
These elements are accompanied by other patterns and methodologies that support the goal to deliver measurable units of business value, incrementally. I’ll publish more on this in the future.
Why should I care? What are the benefits?
A cloud native approach can help to:
- improve scalability and resilience
- reduce operational costs
- increase feature velocity
amongst other potential benefits. In an ever changing world, cloud native can be a competitive advantage.
What are essential aspects of cloud native for you?
Let me know via Twitter or LinkedIn.