6.클라우드 네이티브 앱 구현을 위한 접근 방법론
클라우드 네이티브한 애플리케이션을 구현하기 위해서는,
일반적으로 다음의 네 가지로 구성된 접근 방법론들이 서로 조화를 이루어야 함
1.MicroService, 마이크로 서비스
애플리케이션의 구조 및 설계에 대한 방법론,
애플리케이션 아키텍처를 어떤 방식으로 설계할 것인지?
→ 기존의 전통적인 방식인 모노리스로 만드는 것이 아닌 마이크로서비스 구조로 만드는 것
2.Container, 컨테이너
마이크로 서비스 형태로 분리된 각각의 애플리케이션들을 실행시키기 위한 방법론
마이크로 서비스로 개발된 각각의 애플리케이션들을 어떤 방식으로 실행할 것인지?
클라우드 컴퓨팅은 분산 환경이라는 특성을 가지고 있기 때문에,
상대적으로 어디에서도 간편하고 빠르게 실행될 수 있는 기술이 필요함
→ 표준화된 형태인 컨테이너 기술을 활용하여 애플리케이션을 실행
컨테이너, Container
애플리케이션 실행에 필요한 모든 요소들만 모아서 패키징한 하나의 형태
특정 OS 환경에 덜 종속적임
3.DevOps, 데브옵스
개발, 배포 과정에 대한 자동화 방법론 어떻게 하면 개발된 애플리케이션을 빠르게 배포, 테스트, 모니터링하여 사용자에게 빠르게 제공할 수 있을지?
과거에는 일반적으로 서비스 개발은 개발 팀이 수행하였고,
개발한 애플리케이션을 배포하기 위해 서버를 증설하거나 배포하는 작업은 별도의 운영 팀이 수행하였음 → 개발 팀 입장에서 빨리 개발했어도, 운영 팀에서 늦게 배포하면 서비스는 그만큼 늦게 제공됨
따라서 DevOps란 개발과 운영 과정의 간극을 줄이고자 하는 움직임이자 방법론을 의미함
클라우드 네이티브 애플리케이션 역시 이런 과정들이 서로 연결되어 유기적으로 동작할 수 있어야 함
4.CI/CD, 지속적 통합/전달
데브옵스와 비슷한 결을 따르는 소프트웨어 배포 자동화 및 사용자에게 빠르고 지속적인 서비스 전달 위한 방법론
