
Cloud Native Architecture Essential Guide: From MSA to Kubernetes
- Cloud
- 31 May, 2024
Introduction: Why is everyone shouting ‘cloud native’?
In the past IT environment, server equipment was purchased directly (On-Premise) and an entire huge application (Monolithic) was installed and operated on top of it. However, in modern business environments such as Netflix, Amazon, Toss and Baedal Minjok, which deploy new features dozens of times a day and must maintain services even when traffic surges, this traditional method has reached its limits.
The answer that emerged was Cloud Native. This doesn't just mean "I moved my servers to a cloud like AWS or Azure." It refers to a paradigm in which the ‘design method’ and ‘operational culture’ of the application are completely rebuilt from the beginning to suit the cloud environment so that the advantages of the cloud (flexibility, scalability, and elasticity) can be 100% utilized. In this article, we will provide an easy-to-understand explanation of the four core pillars that make up cloud native architecture.
1. Microservices Architecture (MSA)
This is the heart of cloud native. If the existing monolithic architecture is a form in which all functions (membership registration, payment, product list, delivery, etc.) are lumped into one huge lump, MSA is a method of breaking this huge lump into small independent services (Microservices).
- Independent deployment and fault isolation: In a monolithic architecture, one small bug in the 'payment' function can bring down the entire server. However, in the MSA environment, only the 'payment' service dies, while the 'product list' and 'membership registration' services operate normally. Additionally, when only updating the payment function, only the service can be deployed independently without the need to restart the entire system, dramatically speeding up deployment.
- Flexible scaling: When the 'payment' server is overloaded due to heavy traffic during the event period, only the server responsible for the 'payment' service can be quickly increased to respond without the need to expand the entire server, maximizing resource efficiency.
2. Containers and Kubernetes
‘Container’ technology is the answer to how to efficiently contain and execute dozens or hundreds of services divided into MSA.
- Container (Docker): A technology that packages code, libraries, configuration files, etc. required to run an application into a single box (container). It has completely eliminated the long-standing excuse from developers, “It works on my computer, but it doesn’t work when I upload it to the server.” It is guaranteed to run in the same environment regardless of the environment (developer laptop, test server, AWS cloud, etc.).
- Kubernetes (K8s): It is impossible for humans to individually manage an environment with tens or thousands of containers running. Kubernetes automatically deploys these massive containers, scales up/down according to traffic, and acts as a 'container orchestrator' that revives dead containers. It is the absolute de facto standard of the cloud native ecosystem.
3. Continuous Integration/Continuous Deployment (CI/CD)
In a cloud native environment, dozens of code changes and deployments occur every day. If this process were to be done manually, there would be terrible bottlenecks and human errors.
- CI (Continuous Integration): This is a process where developers modify code and upload it to a remote repository (GitHub, etc.), and the system automatically builds the code and performs automated tests to verify the quality of the code.
- CD (Continuous Deployment/Delivery): The process of automatically deploying tested code to an actual production server (or staging server).
By automating the entire pipeline from writing code to deploying it using tools such as GitHub Actions, Jenkins, and ArgoCD, developers can focus only on writing code.
4. DevOps culture
Cloud native is not completed simply by introducing technical tools. DevOps, an organizational culture that integrates development and operations, must be supported.
In the past, there was a silo between departments, saying, “The code has been written, so the operations team can upload it to the server.” In DevOps culture, developers and operators work closely together as one team, and take joint responsibility for the entire life cycle of an application, from planning to development, deployment, and post-operation monitoring. This provides the impetus for rapid problem resolution and continuous service improvement.
Conclusion: A must-have choice for business agility
The transition to a cloud-native architecture is never easy. The initial learning curve can be very steep, and significant resources may be required to redesign the infrastructure.
However, for companies that want to keep up with the pace of market change and drive innovation by responding to customer requirements as quickly as possible, cloud native is no longer a matter of choice. From startups to large enterprises, cloud native conversion based on MSA and Kubernetes will be the most critical factor in determining future IT business competitiveness.




