The Concept and Definition of Cloud Native

Have you heard of the term "Cloud Native"? Terms like "Digital Native", "Cloud Native", and recently even "AI Native" have emerged and are being used more frequently. Of those, Cloud Native is a concept that arose as existing IT environments and infrastructures transitioned to the cloud, and it seems to be used more commonly these days. 


As I work at an IT company, I hear about this term often, and as I work on related tasks, I find myself needing to learn more about it. So I've taken some cloud computing courses and studied aspects I was curious about on my own. 


Today, I wanted to organize some of the things I've learned and share them with you.


the concept and definition of cloud native


Due to the COVID-19 pandemic, demand for digital services exploded, prompting many companies to pursue digital transformation. As part of this, there were many cases where existing IT infrastructures were migrated to the cloud. 


However, simply moving infrastructure resources from data centers to the cloud while keeping applications in their existing on-premises form started to show limitations. Since on-premises applications have all related functions integrated and packaged into a single application, it makes it difficult to utilize the advantages of cloud computing when developing, running, and managing applications.


To maximize the benefits of cloud computing, holistic change encompassing not just IT infrastructure and architecture but the very composition of applications was necessary. The overarching concept describing this wholesale change is known as "Cloud Native". 


The term Cloud Native was first used in 2015. Since its emergence, various organizations and companies have interpreted it in similar yet distinct ways.


1. CNCF's Definition


CNCF is a non-profit organization under the Linux Foundation that first used the term "cloud native" upon its establishment in 2015. It defines and manages open-source technologies that facilitate transitioning to cloud native. CNCF outlined the following definition of cloud native:


Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments like 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.


2. Various Cloud Native Definitions 


Many IT companies have their own definitions of cloud native:


Amazon

The software development approach for building, deploying and managing modern applications in the cloud computing environment.


Microsoft 

The cloud native architecture and technologies are an approach to designing, building and operating workloads built for the cloud, maximizing the advantages of the cloud computing model.


Oracle

The concept of building and running applications in a cloud delivery model to take advantage of distributed computing provided by the cloud.


Leading global cloud service providers like Amazon, Microsoft and Oracle have slightly different interpretations of cloud native, but their overall concepts are quite similar. The key commonality emphasized across all definitions is utilizing the cloud environment, which can be seen as the most significant aspect of the concept.


3. Conclusion

Since the concept of cloud native is very broad, perspectives on it can differ depending on one's vantage point. From an architectural implementation standpoint, it can be seen as a methodology for designing architectures optimized for instantiating and managing containers. From an application perspective, it is a software approach centered on developing, deploying and managing applications as independent units (microservices). From an organizational culture lens, it is one of the software development cultures that improves development productivity like DevOps, CI/CD, and agile methodologies. 


In this way, the cloud native concept combines and expands its meaning with related terms like architecture, applications, organizational culture, processes, and technologies. But in summary, cloud native broadly means an environment for building and running information systems that maximizes the advantages of the cloud computing model.


In this post, I summarized the concept and definitions around cloud native. Admittedly, some aspects may be difficult to grasp from text alone, but as most IT environments shift to the cloud, I anticipate the cloud native paradigm will see more ubiquitous adoption moving forward. There is much more that can be discussed relating to today's topic of cloud native, from concepts and definitions to the benefits of cloud computing, reasons to transition, and application examples. As time permits, I will organize what I have studied and share additional posts.

Post a Comment

Previous Post Next Post