본문 바로가기

 

오픈소스가 이끄는 클라우드 네이티브 혁신

 

- 이지현 IT 전문기자(j.lee.reporter@gmail.com) -

 

많은 기업이 매년 민첩하고 비용 효율적인 IT 환경 구축을 주요 과제로 선정한다. 그리고 과제를 해결하기 위해 선택하는 방법론이 ‘클라우드 네이티브(Cloud Native)’다. 컨테이너 기술, 마이크로서비스 아키텍처, 데브옵스 등의 원칙을 토대로 한 클라우드 네이티브는 유연성과 민첩성을 갖추어 디지털 전환을 빠르게 도와준다. 이때 많은 오픈소스 프로젝트가 클라우드 네이티브 방법론을 보다 쉽게 채택할 수 있는 도구를 제공하며 그 생태계 발전을 이끌었다. 물론 보안 이슈와 복잡성 관리 등 극복해야 할 과제가 있긴 하지만, 향후 상당 기간 클라우드 네이티브 접근법은 현대 소프트웨어 개발에서 핵심적인 역할을 지속할 것으로 전망된다.

 

클라우드 시대에서 주목받은 ‘클라우드 네이티브’

클라우드와 클라우드 네이티브는 서로 다른 개념이다. 클라우드는 인터넷을 통해 컴퓨팅 리소스(서버, 스토리지, 네트워크, 소프트웨어 등)를 제공하는 서비스 모델이다. AWS, 마이크로소프트, 구글 클라우드 같은 기업이 이런 클라우드 서비스를 제공하는 대표 기업이다. 반면 클라우드 네이티브는 클라우드 컴퓨팅 환경을 최대한 활용할 수 있도록 설계된 애플리케이션 및 서비스 개발 방식을 의미한다. 단 클라우드 네이티브 방식을 반드시 클라우드 서비스 환경에서만 도입할 수 있는 것은 아니다. 클라우드 환경에서 도입의 편의성이 다소 높겠지만, 클라우드 네이티브에서 추구하는 핵심 방법론을 퍼블릭, 프라이빗, 하이브리드 클라우드에서도 적용 가능하다.

 

자연스럽게 클라우드 네이티브라는 개념은 클라우드 인프라를 제공하는 기업들, 특히 클라우드 서비스 업체를 중심으로 널리 확산되었다. 해당 업체는 클라우드 네이티브가 지닌 특징을 공통적으로 다음과 같이 소개하고 있다. 대부분 인프라의 효율성, 확장성, 탄력성을 높인다는 특징이 있다.

 

  • [표1. 클라우드 네이티브 특징]
    특징 설명 오픈소스 도구
    마이크로서비스 아키텍처 하나의 큰 애플리케이션을 작고 독립적인 서비스 모듈로 분해하여 개발 및 운영. 이를 통해 서비스의 변경, 배포 및 확장을 보다 쉽게 진행 Spring Boot, Node.js
    컨테이너화 애플리케이션과 그 종속성을 컨테이너로 패키징하여 일관된 실행 환경을 제공 Docker, Podman
    컨테이너 오케스트레이션 컨테이너화된 애플리케이션의 배포, 확장, 관리를 자동화 Kubernetes, Nomad, Docker Swarm
    DevOps 및 CI/CD 데브옵스 문화를 채택하여 개발 및 운영 팀 간의 협업을 촉진하고 애플리케이션 개발 및 배포 속도를 가속화. 동시에 코드 변경을 자동으로 테스트하고 배포하는 CI/CD 파이프라인을 사용하여 애플리케이션 업데이트를 빠르고 안정적으로 수행 Jenkins, GitLab CI/CD
    선언적 API 애플리케이션의 원하는 상태를 선언적으로 정의하고, 시스템이 자동으로 해당 상태를 유지 Kubernetes, Helm
    서비스 메쉬 마이크로서비스 간의 통신을 관리하고 보안을 강화하며, 트래픽 관리 및 모니터링 기능을 제공 Istio, Linkerd, Envoy
    불변 인프라 인프라를 코드로 관리하여 변경 사항을 추적하고 일관성을 유지 Terraform, Pulumi
  • * 출처 : AWS, MS, 구글 소개 자료 정리1)2)3)

 

클라우드 네이티브에서 핵심적인 특징은 ‘컨테이너’다. 실제로 클라우드 네이티브가 본격적으로 주목받기 시작한 시점도 도커(Docker)와 쿠버네티스(Kubernetes)가 출시된 이후부터다. 두 기술은 컨테이너 도입을 보다 용이하게 해주는 도구를 제공함으로써 클라우드 네이티브 채택을 가속화하는 데 크게 기여했다. 이후 다양한 클라우드 네이티브 방법론을 구현해주는 오픈소스 도구들이 속속 등장했으며, 클라우드 네이티브 생태계가 성숙해지는데 기여했다.

 

클라우드 네이티브 업계 내 오픈소스 기술 성장을 이끈 CNCF

기술 외적으로 CNCF(Cloud Native Computing Foundation)는 오픈소스 기반 클라우드 네이티브 도구를 확산하는 데 도움을 주었다. CNCF는 클라우드 네이티브 기술의 발전과 보급을 촉진하기 위해 2015년에 설립된 리눅스 재단 산하 비영리 단체다. 이들은 클라우드 네이티브 생태계를 촉진하고, 다양한 오픈소스 프로젝트를 지원하고 기술 표준을 수립하는 역할을 맡고 있다. 쿠버네티스, 프로메테우스(Prometheus, 시스템 모니터링 및 경고 도구), 헬름(Helm, 쿠버네티스 애플리케이션을 위한 패키지 매니저), 플루언트디(Fluentd, 데이터 수집 및 로그 통합을 위한 도구) 등이 CNCF에서 관리하는 대표 프로젝트다.

 

CNCF와 리눅스재단과 매년 진행하는 설문조사를 보면, 클라우드 네이티브 관련 중요 동향을 파악하기 좋다. 1,000명 유효 응답자를 대상으로 분석한 2023년도 설문 결과에 따르면4), 쿠버네티스는 가장 많이 쓰이는 클라우드 네이티브 기술로, 2023년 응답자의 84%가 이를 사용하거나 평가하는 단계에 있었다. 이 외에도 컨테이너 오케스트레이션, 통합 가시성, 업계 표준 컨테이너 런타임, 컨테이너 네트워킹과 관련된 기술이 높은 성장률을 보였다. CNCF는 앞으로도 이런 성장은 계속될 것으로 분석했다.

 

CNCF에서 지원한 프로젝트
[그림1 CNCF에서 지원한 프로젝트 중 사용 또는 평가 단계에 있는 기술은?]

* 출처:2023 CNCF Annual Survey

 

 

멀티클라우드가 많아지는 환경은 클라우드 네이티브 기술 채택에 중요한 동인으로 작용하고 있다. CNCF에 따르면, 퍼블릭 클라우드만 사용하는 조직은 28%에 불과했으며, 조직에서 사용 중인 퍼블릭 클라우드 서비스 제공업체의 평균 수는 2.3개였다. 멀티 클라우드 솔루션(하이브리드 및 기타 클라우드 조합)은 56%의 조직에서 사용하고 있었다.

 

이러한 멀티클라우드 환경에서는 시스템 복잡성이 높아지고 관리 비용이 상승할 수 있다. 클라우드 네이티브 개념은 이를 해결할 수 방법론으로 떠오르고 있다. 확장성과 유연성을 확보하고, 시스템 관리를 보다 용이하게 할 수 있기 때문이다.

 

CNCF의 설문조사에서는 클라우드 네이티브 기술 도입 시 직면하는 어려움 또한 확인할 수 있었다. 일단 클라우드 서비스를 사용하는 조직의 40%가 보안을 가장 큰 어려움으로 꼽았다. 여기에 모니터링과 통합 가시성 확보도 주요 과제였다. 특히 컨테이너가 대규모로 배포된 시스템에서 모니터링과 통합 가시성 확보 문제가 두드러졌다.

 

CNCF는 “대규모로 컨테이너를 실행하려면 사전 예방적 시스템 관리를 지원하기 위해 메트릭, 이벤트, 로그의 실시간 데이터 수집이 필요하다”라며 “2023년 프로메테우스와 오픈 텔레메트리(Open Telemetry) 같은 프로젝트 도입이 늘고 있는 이유도 관련된 문제를 해결하기 위한 것으로 보인다”라고 분석했다.

 

민간부터 공공까지 도입되는 클라우드 네이티브

클라우드에 투자해 온 기업은 일찌감치 클라우드 도입과 함께 클라우드 네이티브 방식을 적극 채택해 왔다.5) 인프라의 효율성과 확장성을 높이기 위한 방안이었다. 가령 보험 기업 알리안츠 다이렉트(Allianz Direct)는 프라이빗 클라우드 기반 인프라를 운영하다 탄력성, 확장성 및 높은 가동 시간을 위해 2020년에 AWS 퍼블릭 클라우드로 마이그레이션했다. 2021년부터는 깃옵스(GitOps) 및 코드형 인프라(Infrastructure as Code, IaC) 같은 클라우드 네이티브 기술 및 모범 사례를 활용하기도 했다. 여기에 클라우드 네이티브 CI/CD 도구를 활용하면서 인프라 장애를 줄이고 민첩성을 높이는 시도를 하였다.

 

아디다스는 인프라 구축 속도를 높이기 위해 쿠버네티스를 도입했다. 쿠버네티스 도입 이전에 인프라 업데이트가 4-6주에 한 번 이뤄졌지만, 현재는 하루 3-4회 수준으로 감소했다고 한다. 동시에 아디다스가 운영하는 웹사이트 속도도 빨라져 로드 시간이 이전보다 절반 수준으로 빨라졌다고 한다.6)

 

국내에 있는 기업 중에서도 클라우드 네이티브 방식에 투자한 사례를 종종 찾아볼 수 있다. 토스뱅크는 전통적인 모놀리틱 구조는 시스템 성능과 운영 관점에서 불안정성을 야기한다는 점을 인식해 각 시스템을 컨테이너화했다.7) 배달의민족을 운영하는 우아한 형제들도 앱에서 A 기능 하나에 발생한 장애가 전체 앱에 영향을 미치는 점을 최소화하기 위해 클라우드 기반 마이크로서비스아키텍처를 도입했다.8) 이를 통해 A 기능이 장애가 생겨도 B 기능이나 C 기능은 정상 운영될 수 있는 구조를 구현했다.

 

국내에선 공공 분야에서 클라우드 네이티브에 직접 투자하기도 했다. 국내 정부는 2021년부터 본격적으로 정부 시스템의 클라우드로 전환을 추진해 왔으나, 단순히 기존 시스템을 클라우드 인프라 위로 옮기는 방식으로 추진되어 클라우드의 효과성 체감에 한계가 있었다. 이러던 와중 2023년, 클라우드 보안 인증 제도가 확대됨에 따라 내부 행정 시스템도 등급에 부합하는 민간 클라우드로 전환 여건이 마련되었고, 이에 공공부문의 클라우드 네이티브 전환을 추진하게 되었다.

 

디지털플랫폼정부위원회가 2023년 10월 발표한 자료에 따르면,9) 해당 정책하에 신규 시스템 구축 및 기존 시스템 고도화 시 불가피한 사유가 없는 한 클라우드 네이티브 우선 적용을 기본원칙으로 연차적 확대를 추진한다. 또한 2026년이면 신규 구축되는 정부 시스템의 70% 이상은 클라우드 네이티브가 적용될 예정이다.10)

 

※ 참고문헌

 

.
.
2024
공개SW 가이드/보고서 - 번호, 제목, 작성자, 조회수, 작성
번호 제목 작성자 조회수 작성
공지 [2024년] 오픈소스SW 라이선스 가이드 개정판 발간 file support 12363 2024-01-03
공지 [2024년] 기업 오픈소스SW 거버넌스 가이드 개정판 발간 file support 9867 2024-01-03
공지 [2024년] 공공 오픈소스SW 거버넌스 가이드 개정판 발간 file support 9821 2024-01-03
공지 공개 소프트웨어 연구개발(R&D) 실무 가이드라인 배포 file support 22347 2022-07-28
공지 공개소프트웨어 연구개발 수행 가이드라인 file OSS 20727 2018-04-26
498 [6월 월간브리핑]오픈소스SW 공급망 성숙도 및 관리 동향 support 2767 2024-06-25
497 [기고]SBOM을 효율적으로 관리하기 위한 방안 support 3366 2024-06-25
496 [기획기사]오픈소스 소프트웨어 공급망 보안 정책의 중심 ‘SBOM’ support 3950 2024-06-25
495 [5월 월간브리핑]오픈소스SW, 클라우드 네이티브 생태계 성장 동력 support 1343 2024-05-27
494 [기고] 모두가 이야기하지만 일부만 아는 클라우드 네이티브하다는 것에 관하여 support 3115 2024-05-27
493 [기획기사]오픈소스가 이끄는 클라우드 네이티브 혁신 support 1910 2024-05-27
492 오픈소스SW 라이선스 컴플라이언스의 중요성과 당면 과제 support 1533 2024-05-27
491 [4월 월간브리핑]오픈소스SW 기업의 라이선스 모델 전환 이슈 : 주요 논쟁과 전망 support 1099 2024-04-24
490 [기획] 오픈소스SW의 경제적·사회적 가치 분석 : 기업 내 사용 현황 및 도전 요인 support 1027 2024-04-24
489 오픈소스SW 라이선스 준수 체크리스트 – GPL, AGPL support 1822 2024-04-24
맨 위로
맨 위로