logo
|
Blog
  • 홈페이지
  • 제품소개
  • 문의하기
기술이야기

클라우드 네이티브란?

클라우드 네이티브 전환이 가속화되면서, 마이크로서비스, 컨테이너, 데브옵스, CI/CD가 핵심 요소로 자리 잡고 있습니다. 정부의 디지털플랫폼정부(DPG) 정책도 이러한 흐름을 반영하여, 신규 시스템 70% 이상을 클라우드 네이티브로 구축하는 목표를 설정했습니다. 에이프리카는 세렝게티 CMP/PaaS 솔루션을 통해 이 전환을 지원하고 있으며, 클라우드 네이티브 환경에서의 효율적인 애플리케이션 운영을 위한 최적의 솔루션을 제공합니다
AIFRICA's avatar
AIFRICA
Nov 16, 2023
클라우드 네이티브란?
Contents
클라우드 네이티브란?클라우드 네이티브 필수 요소

​

23년 10월, 디지털 플랫폼 정부 위원회가 중요한 정책을 한 가지 발표했습니다.

정부의 신규 시스템 70% 이상에 '클라우드 네이티브(Cloud Native)' 적용​

​정책을 발표하게 된 배경을 살펴볼까요?

최근 재난·질병·사회적 이슈 등으로 공공과 민간 시스템은 급변하는 수요에 안정적으로 대응할 수 있어야 했습니다.

하지만 기존 시스템의 설계 방식, 기능 등은 이런 상황에 대응하기 어려웠고 이를 해결하기 위해 공공과 민간은 클라우드 네이티브를 적용하기 시작했습니다.

​

기술 도입 초기 단계로 인식이 부족한 상황에서 정부는 공공부문 적용 방안 검토 및 발주자·개발자용 안내서(가이드)를 제작하였고, 클라우드 네이티브 개념 정립, 적용 대상 업무 선정 방안, 선진사례 분석, 공공부문 적용 시 구축 단계별 고려 사항 등을 검토할 수 있도록 하고 있습니다.

클라우드 네이티브란?

클라우드 네이티브는 퍼블릭, 프라이빗, 하이브리드 등 어느 클라우드 환경에서든 손쉽게 애플리케이션을 만들고 운영할 수 있는 환경을 말합니다.

이전의 기관∙기업들은 상황에 따라 클라우드를 선택해 사용했지만 최근에는 비용 절감과 효율성을 위해 여러 퍼블릭 클라우드를 같이 사용하거나, 퍼블릭/프라이빗 클라우드를 함께 사용하는 하이브리드 클라우드에 대한 관심이 높아지고 있습니다.

​따라서 제공하는 서비스가 많아질수록, 기관∙기업은 인프라에 종속 받지 않고 신속하게 애플리케이션을 개발하고 배포할 수 있는 클라우드 네이티브 도입이 필요한 상황입니다.

  • 퍼블릭 클라우드 : AWS, GCP, Azure, NCP, KT cloud, NHN 등

  • 프라이빗 클라우드 : vmware, openstack, NUTANIX 등

  • 하이브리드 클라우드 : 퍼블릭 클라우드 + 프라이빗 클라우드

클라우드 네이티브 필수 요소

그렇다면, 클라우드네이티브에서 말하는 신속한 애플리케이션 개발을 위해서는 어떤 요소가 필요할까요?

필수적으로 4가지 요소가 필요합니다.

​1. 마이크로 서비스(Micro Service)

기존 애플리케이션은, 기능들이 서로 연결되어 있는 모놀리식 아키텍처로 설계되어 있는 경우가 많았습니다.

​모놀리식은 하나의 단일 애플리케이션 내에 기능들이 서로 모듈로 연결되어 있고

데이터는 단일한 대규모 데이터베이스에 저장되어 있는 구조를 말합니다.

그렇기에 각 기능들이 연계되어 있어 일부 모듈의 변경사항도 전체 애플리케이션 개발/운영 프로세스에 영향을 준다는 단점이 있었죠.

마이크로서비스 아키텍처는 이러한 모놀리식의 단점을 해결하고자 등장했습니다.

모놀리식과 다르게 서비스마다 개별 DB를 갖고 독립적으로 실행하고 운영할 수 있어 각각의 서비스 별 확장과 축소가 용이하고 변경사항에 빠르게 적용이 가능하다는 장점이 있습니다.

따라서 클라우드와 같은 유연한 인프라 환경에서 마이크로서비스 아키텍처로 애플리케이션 개발하면

신속한 업데이트, 독립적인 확장성, 높은 가용성 등의 효과를 얻을 수 있습니다.

​

2. 컨테이너(Contaniner)

기존 애플리케이션을 설계하는 방식이 모놀리식에서 마이크로서비스로 전환되었다면,

애플리케이션이 실행되고 구동되는 환경 또한 물리 서버와 VM 방식이 아닌 컨테이너로 바뀌고 있습니다.

​

컨테이너는 애플리케이션 실행에 필요한 코드, 모듈, 다양한 라이브러리 등의 요소들로 이루어져 있는, 하나의 소프트웨어 패키지라고 생각하시면 되는데요.

​

컨테이너가 VM과 같은 건가요? 라고 물어보시는 분들이 있으실텐데 VM과 컨테이너가 가상 컴퓨팅 환경인 것은 동일합니다.

하지만 VM을 만들기 위해서는, 먼저 ‘하이퍼바이저’에게 요청해 가상 서버를 만들고 리소스를 할당받아 각 서버에 필요한 운영체제(OS)를 설치하는 과정이 필요합니다.

이렇게 만들어진 각 VM은 같은 서버 위에 있을지라도 각각의 OS를 갖고 있기 때문에 별도의 시스템처럼 동작합니다.

그래서 서로 다른 운영체제 위에 애플리케이션을 올릴 수 있다는 장점은 있지만 용량이 크고 무겁습니다.

​

반면에 컨테이너는 동일한 OS 위에 애플리케이션을 올릴 수 있어 VM보다 가볍고 용량이 작습니다. 특정 인프라에 구애 받지 않고 어디에서든 즉시 배포와 실행이 가능한 장점으로 컨테이너는 클라우드네이티브에서의 필수 요소로 자리 잡았습니다.

*하이퍼바이저 : 하드웨어 위에서 가상 머신을 생성하고, 필요한 만큼 자원을 할당해 주고, 가상 머신들의 요청을 처리해 주는 소프트웨어

3. 데브옵스

데브옵스는 개발(Development) 과 운영(operation)의 합성어로, 개발과 운영이 통합된 체계를 말하는데요,

마이크로서비스 아키텍처로 애플리케이션을 개발하고 컨테이너로 이를 배포하는, 개발부터 운영 단계의 전 과정을 통합하여

개발 부서와 운영 부서의 충돌을 피하고 서비스에 필요한 기능을 변경하거나 추가하는 것을 더 빠르고 지속적으로 배포할 수 있습니다.

4. CI/CD

CI/CD는 위에서 언급한 데브옵스 단계 중, 개발 단계의 빌드부터 운영단계의 배포까지를 자동화하는 기술입니다.

CI/CD 파이프라인은 애플리케이션 코드가 개발 환경에서 테스트 환경을 거쳐, 최종적으로 운영 환경에 배포되고,

서비스의 형태로 사용자에게 전달되는 일련의 과정을 말하고, 이 과정의 자동화를 통해 개발 및 배포 시간을 단축하고 서비스의 품질을 개선할 수 있습니다.

​

Share article
Contents
클라우드 네이티브란?클라우드 네이티브 필수 요소

AI and Cloud by Your Side. AIFRICA

RSS·Powered by Inblog