본문바로가기

PR

신시웨이의 최신 소식과 다양한 IT/보안 정보를 제공합니다.






클라우드 네이티브(Cloud Native)에 대해 들어보셨나요? ‘영어를 네이티브(Native)하게 한다’는 표현은 영어를 원어민처럼 구사할 줄 안다는 표현입니다. 그렇다면 클라우드 네이티브는 무엇일까요? 클라우드의 이점을 최대한 활용하여 클라우드 환경에 최적화된 상태를 의미합니다. 디지털 네이티브, AI네이티브까지 다양한 용어들이 등장하고 있습니다. 오늘의 주제인 클라우드 네이티브는 기존의 IT 환경이 클라우드로 전환되면서 등장한 개념으로, 기업의 클라우드 도입과 디지털 전환이 확대되면서 함께 확산되고 있는 개념 중 하나입니다.



클라우드 네이티브(Cloud Native)란?


클라우드 네이티브란 클라우드 컴퓨팅 모델의 이점을 최대한 활용하여 정보시스템을 구축 및 실행하는 환경을 의미합니다. 즉, 단순히 기존 시스템을 클라우드 인프라로 옮기는 것이 아닌 애플리케이션을 클라우드 환경에 맞게 재설계해 개발하고 운영하는 방식입니다.

2023년 10월, 행정안전부와 디지털플랫폼 정부위원회는 ‘클라우드 네이티브중심, 공공부문 정보자원 클라우드 전환 계획’을 발표하였습니다. 공공부문의 민간 SaaS활용을 촉진하고, 민간 클라우드 이용 촉진을 위한 제도 정비, 클라우드 전환 기관 역량 강화, 클라우드 민관 협력체계 구축 등도 추진할 계획이며 이를 통해 2026년에는 신규 시스템에 대한 클라우드 네이티브 적용률을 70%, SaaS적용률을 40%로 확대하는 것이 목표입니다.

미국의 금융기업 S&P글로벌에서 실시한 설문조사에 따르면 클라우드 네이티브의 주요 장애물로 응답자 46%는 ‘보안’과 ‘컴플라이언스 우려’를 선정하였으며, ‘비용’이라 답한 응답자는 39%, ‘복잡성’이라 답한 응답자는 36%입니다. 또한 클라우드 네이티브 컴퓨팅 재단(CNCF)에서 진행한 설문조사 결과에 따르면 현업 부서의 65%는 클라우드 네이티브 환경을 사용한다고 답하였습니다. 클라우드 네이티브 환경은 이미 민간부문에서는 보편화되었으나, 공공부문에서는 이제 시작단계라고 합니다.




NIA 한국지능정보사회진흥원




클라우드 네이티브 구성요소


1. 마이크로서비스 아키텍처

마이크로서비스 아키텍처(MicroService Architecture, MSA)는 애플리케이션을 독립적인 작은 기능으로 분해하여 구축하는 기술입니다.



모놀리식 vs 마이크로서비스



기존 애플리케이션은 모놀리식(Monolithic)형태로, 하나의 거대한 덩어리처럼 애플리케이션의 모든 기능이 단일 소스로 통합되어 있습니다. 이렇게 하나의 단위로 구성된 경우, 기능 하나를 변경하기 위해 전체 애플리케이션을 재배포해야 하는 비효율성을 가집니다.

마이크로서비스 아키텍처는 이러한 문제를 해결하는 대안으로, 작은 데이터베이스와 작은 서비스가 묶여있어 독자적으로 작동합니다. 모놀리식과 다르게 서비스마다 개별 DB를 갖고 독립적으로 실행·운영할 수 있어 각각 서비스별 확장과 축소가 용이하고 변경사항에 빠르게 적용이 가능하다는 장점이 있습니다.




2. 컨테이너

기존 애플리케이션을 설계하는 방식이 모놀리식에서 마이크로서비스로 전환되었다면, 애플리케이션이 실행되고 구동되는 환경 또한 기존의 가상머신(VM)방식이 아닌 컨테이너 방식으로 바뀌고 있습니다. 컨테이너 기술은 가상화 기술 중 하나로, 마이크로서비스 방법론으로 개발한 애플리케이션을 효과적으로 배포·활용할 수 있는 기술입니다. 컨테이너는 종속성을 가지는 기존의 VM방식에 비해 종속성 없는 애플리케이션 실행을 지원하여 다른 서비스에 영향을 주지 않고 독립적으로 관리·운영이 가능합니다.





가상머신(VM)방식 vs 컨테이너 방식



3. DevOps

DevOps는 Development(개발)와 Operation(운영)을 합친 말로, 개발자와 엔지니어의 협업을 강조하는 개발 문화를 의미합니다. 개발과 운영 간의 프로세스를 통합하여 개발에서 배포에 이르는 프로세스의 속도를 높이는 데 초점이 맞춰져 있습니다.

이제는 애플리케이션 개발 및 배포 속도가 비즈니스 경쟁력이 되면서 시스템의 안정성을 유지하면서도 고객에게 빠르게 제공하는 것이 중요해졌습니다. 따라서 애플리케이션 개발 및 배포를 단일 워크플로우로 통합하는 DevOps의 필요성이 증대되었습니다.



4. CI/CD

지속적인 통합을 뜻하는 CI는 개발자가 새로운 코드를 작성할 때마다 자동으로 테스트를 실행하여 코드 변경 사항을 확인하는 과정을 의미합니다. 코드 변경이 기존 코드와 어떻게 상호작용하는지 빠르게 확인하고, 문제를 조기에 발견하여 수정할 수 있습니다.

지속적인 배포를 의미하는 CD는 코드 변경이 테스트를 통과하면, 이를 자동으로 운영 환경으로 전달하여 실제 사용자에게 제공할 수 있는 상태로 만드는 과정을 의미합니다. 이를 통해 새로운 기능이나 개선 사항을 빠르게 사용자들에게 제공할 수 있게 됩니다.





클라우드 네이티브 사례 - 넷플릭스




클라우드 네이티브 전환에는 상당한 시간과 비용, 기술력이 필요합니다. 성공적인 클라우드 네이티브전환 사례 중 하나인 글로벌 온라인 동영상 서비스(OTT)기업 넷플릭스는 클라우드 네이티브 전환까지 10년 가까이 소요됐습니다. 2009년 이전 넷플릭스가 애플리케이션을 개발·관리하는 방식은 모놀리식 구조로, 서비스 규모가 커지면서 느린 개발·개선속도의 문제가 있었습니다. 또한 트래픽이 몰리면서 데이터 센터 비대화, 서버 점검 등의 문제가 발생하였습니다.

넷플릭스는 이와 같은 기존 IT구조로 인한 한계를 극복하고자 2009년부터 2015년까지 7년동안 데이터센터에서 운영되던 기존 IT 인프라를 클라우드 네이티브 방식으로 재설계하였습니다. 그 결과 현재의 넷플릭스는 AWS의 클라우드 플랫폼을 기반으로 사용자들에게 영상을 안정적으로 제공하고 있으며, 2008년 대비 스트리밍 서비스 이용 회원 수가 8배 증가하고, 월간 스트리밍 시간이 1천배 증가했음에도 무리 없이 시스템을 운영하고 있습니다.




디지털플랫폼 정부위원회는 2026년 이후 정부의 현행 시스템의 50% 이상, 신규시스템 70%이상에 클라우드네이티브 적용 정책을 발표했습니다. 2030년까지 대다수의 시스템을 클라우드로 전환하고, 2024년까지 클라우드 네이티브 전환을 위한 기준과 가이드를 마련하여 각 공공기관에 방향을 제시할 방침입니다. 또한 2024년부터 신규 시스템의 13%를 시작으로, 2025년 50%, 2026년 이후엔 70%이상을 클라우드 네이티브로 전환한다는 목표를 세웠습니다.

글로벌 연구 조사 기업 가트너(Gartner)는 2027년까지 기업의 90%가 클라우드 네이티브를 적용할 것으로 보고 있으며, 클라우드 네이티브의 중요성이 강조되고, 기업의 경쟁력을 높이기 위한 필수 요소로 부각되고 있습니다. 공공 클라우드 네이티브를 통해 신속한 행정, 서비스 확장성 등 정책변화에 빠르게 대응할 수 있을 것으로 기대됩니다.






출처 및 참고자료
https://library.gabia.com/contents/infrahosting/12091/