쿠버네티스 같은 클라우드 네이티브 플랫폼에서 가장 인기 있는 애플리케이션 아키텍처는 마이크로서비스 방식이다. 마이크로서비스 방식이다. 마이크로서비스 방식의 소프트웨어 개발 기술은 운영 복잡성을 해결한다. 그리고 바운디드 컨텍스트와 애그리깃 개념에 근거하는데, 바운디드 컨텍스트 개념은 대형 모델들을 각 컴포넌트로 분리해 다루고, 애그리깃 개념은 바운디드 컨텍스트를 트랜잭션 경계를 갖는 모듈로 그룹화하는데 도움을 준다.
컨테이너와 쿠버네티스 같은 컨테이너 오케스트레이너는 분산 애플리케이션 문제를 해결하기 위한 많은 새로운 기본 요소와 추상화를 제공한다. 아래 그림은 이상적인 클라우드 네이티브 애플리케이션을 만드는데 필요한 여러 기술의 조합을 보여준다.

- 가장 낮은 코드 레벨에서는 정의돈 모든 변수, 생성한 모든 메서드, 인스턴스화하기로 결정한 모든 클래스가 장기간의 애플리케이션 유지 관리에 중요한 역할을 한다. 무엇보다도, 클린 코드를 작성하기 위해 노력하고, 적절한 양의 자동화 테스트를 만들며, 지속적으로 코드를 리팩토링하고, 소프트웨어 장인의 함량을 갖춘 개발자들을 양성하는 것이 중요하다.
- 도메인주도 설계란 아키텍처를 가능한 한 현실세계에 가깝게 맞추려는 의도로 비즈니스 관점에서 소프트웨어를 설계하는 방법이다. 도메인 주도 설계 방식이 객체 지향 프로그래밍 언어에는 가장 효과적이지만, 그 밖에도 현실 세계 문제에 대한 소프트웨어를 모델링하고 설계하는 좋은 방법들이 많이 있다. 올바른 비즈니스 및 트랜잭션 경계, 사용하기 쉬운 인터페이스, 풍부한 API 등을 갖춘 모델은 향후 성공적인 컨테이너화 및 자동화를 위한 기본이 된다.
- 마이크로서비스 아키텍처 방식은 매우 빠르게 발전해 표준이 되었고, 원칙을 적용함으로써 우리는 오늘날 최신 소프트웨어에 공통 요구사항인 스케일과 회복성 , 변화 속도에 최적화된 구현을 할 수 있다.
- 컨테이너는 분산 애플리케이션을 패키징하고 실행하는 표준 방법으로 빠르게 적용되었다. 훌륭한 클라우드 네이티브 요소인 모듈식의 재사용 가능한 컨테이너를 만드는 것이 또 하나의 기본 전제 조건이다. 클라우드 네이티브는 비교적 새로운 용어로, 컨테이너화된 대규모 마이크로서비스를 자동화하기 위한 원치고가 패턴, 도구를 설명하는 데 쓰인다.