클라우드 네이티브 컴퓨팅의 목적은 확장 가능한 Application을 구축, 운영하는 것.
최소한의 인력으로 자주, 계획한 만큼 임팩트가 있는 변경을 추가하는 것이다.
비즈니스 목표는 불특정 다수의 비즈니스 트랜잭션에 대응할 수 있는 대규모 시스템을 신속하게 구축해서 시장이 필요로 하는 것을 유연하게 제공하는 것이다.
이를 위해 Public Cloud, Private Cloud, Hybbrid Cloud를 활용하여 느슨하게 결합된 시스템을 만들어야 한다.
여기에 사용되는 주요 기술은 컨테이너, 서비스 메시, 마이크로서비스, 변경 불가한 인프라, 선언형 API 등이 있다.
클라우드 네이티브 컴퓨팅 관련 기술들은 클라우드 네이티브 랜드스케이프를 통해 알 수 있다.
클라우드 네이티브 관련 기술을 정리하여 전체를 볼 수 있게 해주는 조감도라고 보면 된다.
https://landscape.cncf.io/?group=projects-and-products&view-mode=grid
CNCF Landscape
landscape.cncf.io
IaaS의 도입으로 인프라 구축은 빨라졌지만, 애플리케이션의 개발 속도를 높이지 않는다면 클라우드 사용의 의미가 퇴색된다. 따라서 CI/CD, Devops등 개발/운영 방법과 마이크로서비스 같은 애플리케이션 개발/운영 아키텍처 스타일이(설계/개발/운영 기법) 주목받게 되었다. 서비스란 독립적으로 개발 및 실행되는 소프트웨어 컴포넌트이며 이를 여러개 조합해서 하나의 애플리케이션이 만들어지는 구조가 마이크로서비스아키텍처이다.
서비스 단위로 개발되고 배포되므로 애플리케이션 변경이 무척 빠르게 이루어 질 수 있다.
마이크로서비스는 SOA의 발전된 형태라고도 본다. SOA(Service Oriented Architecture)는 말 그대로 서비스 지향 아키텍처인데 기업의 정보시스템을 공유와 재사용이 가능한 서비스 단위 컴포넌트 중심으로 구축하고 이들을 네트워크로 연결하는 방식이다. SOA 목적 또한 비즈니스 변화에 유연한 IT시스템을 구현하는 데 있다.
다만, SOA는 나누어진 서비스들은 ESB(Enterprise Service Bus)라는 미들웨어를 통해 연결하므로 집중이 발생하는데 MSA에서는 더 작게 나누어진 서비스들이 RestAPI와 메시지버스를 통해 연결돼 보다 서비스 중심으로 구성이 되며 결합도를 낮출 수 있다.
클라우드 네이티브 인터랙티브 랜드스케이프는 다양한 기술들이 나열되어 있으므로 어디서부터 시작해야 할 지 갈피를 못 잡을 수 있다. 클라우드 네이티브 트레일 맵을 통해 기술도입 순서를 판단하기 위한 도움을 받을 수 있다.
https://github.com/cncf/trailmap
GitHub - cncf/trailmap: 🗺TrailMap files from the cncf/landscape repo
🗺TrailMap files from the cncf/landscape repo. Contribute to cncf/trailmap development by creating an account on GitHub.
github.com

'IT정보&정보처리기사' 카테고리의 다른 글
| 마이크로서비스(Microservice) 개요 (4) | 2024.03.05 |
|---|---|
| 컨테이너(Cotainer) (0) | 2024.03.04 |
| CNCF (0) | 2024.02.26 |
| 애자일 프로세스 모델 - 스크럼 (0) | 2024.01.20 |
| 교착상태 (0) | 2024.01.17 |