Cloud Native Architecture

아래 그림은 CNCF 재단의 Cloud Native Architecture Landscape이다. 정말 몇년 안된 사이에 엄청나게 늘어나고 있다.

아래 사이트를 통해서 인터렉티브하게  하나하나 클릭 해서 어떤 내용의 소프트웨어인지 제품인지를 확인 할수 있다. 



Cloud Native Architecture 혹은 Cloud Native Application 은 가상화 기술의 발전으로 Cloud 환경의 발전이 가속화됨에 따라 애플리케이션의 구성도 역시 Cloud 환경에 맞게 설계되어야 할 필요성을 가지게 된다. 단순하게 Cloud 환경에서 컴퓨팅 자원에 애플리케이션을 구성하는 것 뿐만 아니라 애플리케이션의 생명주기 전반에 걸치게 된다. 하나의 애플리케이션은 클라우드 내부의 분산 환경에서 탄력적으로, 수평 확장 가능한 디자인 패턴을 기반으로 설계된 애플리케이션을 말한다.

아래 그림은 CNCF(Cloud Native Computing Foundation)에서 발표한 Cloud Native Architecture의 참조 모델이다. 5개의 계층으로 이루어져 각각의 계층 간에는 의존성을 가지면 안되며, 다른 것으로 교체되어도 영향을 상위 계층에 영향을 미치면 안된다. 


Infrastructure

Infrastructure as a Service는 흔히 AWS, GCP와 같은 클라우드 공급자를 통해 사용자가 서버, 스토리지 및 네트워크 자원과 같은 컴퓨팅 리소스를 이용할 수 있는 환경을 말한다. 조직은 서비스 제공업체의 인프라 내에서 자체 플랫폼과 애플리케이션을 사용한다.


Provisioning


Runtime


Orchestration & Management


Application Definition