인프라 환경이 클라우드로 변화됨에 따라 어플리케이션의 개발과 운영 방식도 클라우드 특성에 적합하도록 함께 변화되고 있다.
오늘은 그와 관련된 핵심 개념들에 대해 소개하려고 한다.
1. Cloud Native Application
: 클라우드가 제공하는 장점과 특성을 모두 활용하는 형태로 개발된 어플리케이션
구체적으로, 클라우드 네이티브 어플리케이션은 탄력적으로 분산된 방식으로 실행된다. 그러므로 코드가 인프라 구성요소에 고정되지 않는 상태로 부하에 따라 어플리케이션을 확장 및 축소할 수 있다.
또한, API 중심으로 개발하므로 비지니스의 재사용이 가능하고 릴리즈 기간을 짧게 줄이면서도 고급 배포기술을 구현할 수 있다는 장점이 있다.
2. 데브옵스(DevOps)
: Development + Operations의 합성어인 DevOps는 개발자와 운영팀 간의 소통, 협업 및 통합을 강조하는 개발환경이나 문화로 소프트웨어 개발조직과 운영조직 간의 상호 의존적 대응이며 조직이 소프트웨어 제품과 서비스를 빠르게 개발하고 배포하는 것을 목적으로 한다.
즉, 어플리케이션을 좀 더 신속하게 개발하기 위한 개발팀과 운영팀 사이의 밀접한 소통 및 협업 문화이다.
이런 조직 문화가 정착되기 위해서는 고객에게 가치를 제공하는 기능을 빠르게 개발, 배포하여 고객으로부터 피드백을 받고 지속적으로 개선하는 선순환 체계가 필요하다.
또한, 배포과정을 최대한 자동화하여 리드타임을 단축해야 하고 배포 단위는 작고 빠르게 제공하는 한편 모든 것을 모니터링하여 비지니스 지표로 측정한 뒤 지속적인 개선을 수행하는 과정이 필요하다.
3. MSA (Microservice Architecture)
: 마이크로 서비스(독립적인 배포와 확장이 가능한 단위)를 지원하는 아키텍처를 의미.
시스템은 적용 목적에 최적화된 단위를 도출하여 이를 설계에 반영하는 것이 중요한데 이를 위해 어플리케이션 관점에서는 구축하고자 하는 비지니스 프로세스를 이벤트 중심으로 분석하여 서비스 별로 API, Data, UI 등을 설계하고 아키텍처 관점에서는 API Gateway, 이벤트 처리, 마이크로 서비스 사이의 호출 흐름 추적, 마이크로 서비스 별 독립적인 테스트와 배포 체계와 모니터링 등의 구성요소가 필요하다.
다만, MSA 도입 목적과 비지니스 민첩성을 극대화하기 위해서는 Cloud와 DevOps 조직이 뒷받침 되어야 한다는 점을 명심해야 한다.
클라우드는 디지털 비지니스로 급변하는 시대에 IT자원을 민첩하게 확보해 시장 변화에 빠르게 대응할 수 있도록 하는 IT 백본 역할을 수행하고 있다.
앞으로도 클라우드에 대한 지속적인 관심이 필요해 보인다..
'클라우드' 카테고리의 다른 글
클라우드 컴퓨팅의 원리 (0) | 2021.08.13 |
---|---|
왜 클라우드인가? (0) | 2021.07.26 |