클라우드 네이티브 뜻부터 구성 요소 및 적용 기업 사례
팬데믹 이후 기업들의 디지털 전환이 본격화되었고, 그와 함께 클라우드 컴퓨팅에 대한 관심도 높아졌습니다. 과학기술정보통신부가 발표한 ‘2023년도 정보화 통계 조사’에 따르면 국내 기업의 70%가량이 클라우드 컴퓨팅을 이용하고 있다고 밝혔어요. 클라우드 컴퓨팅의 개념과 제공 형태, SaaS와 PaaS, IaaS 등 서비스 형식에 대해 자세히 알고 싶다면 아래 글을 참고해 보세요.
👉 국내 기업 70%가 사용하는 클라우드 컴퓨팅 장점과 종류 알아보기
한편, 클라우드 서비스 사용이 확대되면서 최근에는 ‘클라우드 네이티브’라는 개념이 주목받고 있는데요. 클라우드 네이티브 뜻과 등장 배경을 알아보고, 구성 요소와 클라우드 네이티브를 적용한 기업 사례를 소개해 드릴게요.
1. 클라우드 네이티브 정의 및 등장 배경
출처: freepik
1) 클라우드 네이티브 뜻
클라우드 네이티브(Cloud Native)란, 조직이 퍼블릭, 프라이빗, 하이브리드 등 어떤 클라우드 환경에서도 손쉽게 애플리케이션을 만들고 운영하는 것을 말해요. 클라우드 네이티브 앱은 클라우드가 가진 확장성, 탄력성, 복원성, 유연성 등의 장점 활용하도록 설계 및 구축된 것이 특징입니다.
2) 클라우드 네이티브 등장 배경
최근 기업의 디지털화가 가속화되면서 클라우드 환경으로 옮기는 작업을 해야 했는데요. 일반적으로 기존의 OS와 데이터 등을 그대로 들어 옮기는 Lift & Shift 방식을 사용했습니다.
하지만 이 방식은 서버와 스토리지 등 인프라 자원만 데이터 센터에서 클라우드로 전환하고, 사용자에게 제공하는 애플리케이션은 기존의 온프레미스 시스템 그대로 클라우드로 옮겨 운영해 한계가 있었어요. 온프레미스 시스템으로 만들어진 애플리케이션은 클라우드 환경에서 클라우드 컴퓨팅 장점을 충분히 활용할 수 없기 때문이에요.
클라우드 네이티브는 이런 상황을 방지하기 위해 처음부터 클라우드 환경을 고려한 애플리케이션을 만드는 기술과 방법 등을 말해요.
2. 클라우드 네이티브 구성 요소 4
출처: net solutions
클라우드 네이티브를 실현하려면 크게 4가지 구성 요소가 필요해요.
1) 마이크로서비스 아키텍처(MSA: MicroService Architecture)
마이크로 아키텍처란 애플리케이션을 독립적인 작은 기능으로 분해해 구축하는 기술을 말해요.
기존에는 여러 기능이 서로 연결된 모놀리식(Monolithic) 아키텍처로 애플리케이션을 설계했는데요. 이 방식은 모든 기능이 연계되어 있어 일부 모듈에 변경 사항이 생겼을 때 전체 개발과 운영 과정에 영향을 주어 비효율적이었어요.
마이크로 아키텍처는 이런 단점을 해결하기 위한 방식으로, 각 기능이 독자적으로 작동하기 때문에 새로운 기능을 추가하더라도 독립적으로 개발하고 배포, 확장할 수 있어요. MSA는 환경 변화와 요구에 빠르게 대응할 수 있는 것이 장점입니다.
2) 컨테이너(Container)
컨테이너는 애플리케이션 실행에 필요한 코드, 모듈, 다양한 라이브러리 등을 패키지로 묶어서 이미지처럼 배포하는 것을 의미해요. MSA로 개발한 애플리케이션을 효과적으로 배포하고 실행할 수 있죠.
기존에는 가상 머신(VM: Virtual Machine) 환경에서 애플리케이션을 실행했어요. VM은 가상 서버를 만들고, 각 서버에 필요한 운영체제(OS)를 설치해야 했는데요. 독립적으로 운영할 수 있지만, OS를 설치해야 하는 것이 단점이었어요.
컨테이너 방식은 내부에 OS가 없어 용량이 작고, 특정 인프라에 상관없이 언제 어디서든 즉시 배포하고 실행할 수 있는 것이 장점이에요.
3) 데브옵스(DevOps)
DevOps는 Development(개발)와 Operation(운영)을 합친 말로, 개발과 운영의 속도와 품질을 향상하기 위해 개발자와 엔지니어의 협업을 강조하는 조직 문화를 뜻해요.
과거에는 애플리케이션 기획에서 개발, 테스트, 배포, 운영 등의 단계에 각 팀의 역할이 구분되어 있어 많은 공수와 시간이 소요되었습니다. 하지만 최근 서비스 출시 속도가 빨라지고 업데이트 주기가 짧아지면서 개발과 운영을 통합적으로 운영해 속도를 높이는 것이 경쟁력이 되었어요.
DevOps는 개발부터 운영까지의 과정을 자동화하고, 생산성을 올리는 데 도움이 됩니다.
4) 지속적 통합 및 지속적 배포(CI/CD: Continuous Integration and Continuous Delivery)
CI/CD는 앞서 소개한 DevOps 중 개발 단계의 빌드와 테스트부터 운영 단계의 배포까지 자동화하는 것을 의미합니다. 지속적 통합(CI)은 애플리케이션 코드의 변경 사항이 정기적으로 빌드와 테스트를 거쳐 공유 리포지토리(Repository)에 병합되는 것을 말하며, 지속적 배포(CD)는 해당 변경 사항이 버그 테스트를 거쳐 리포지토리에 자동으로 업로드되는 것을 말합니다.
이렇게 CI/CD를 통해 개발자는 개발자와 엔지니어는 배포 시간을 줄이고 서비스 품질을 향상할 수 있어요.
5. 클라우드 네이티브 사례 3
1) 넷플릭스(Netflix)
출처: 넷플릭스
글로벌 OTT 서비스 기업인 넷플릭스는 전 세계적으로 가입자가 증가하면서 기존 모놀리식 방식으로 개발하고 운영하는 것이 비효율적이라고 판단했습니다. 특히 하나의 데이터베이스만 가지고 있었기 때문에 서비스 중단 리스크가 높았고, 24시간 서비스를 제공하기 때문에 서버 점검 대기 시간을 확보하기 어려웠어요.
넷플릭스는 2009년부터 2015년까지 7년간 기존 IT 인프라를 클라우드 네이티브 방식으로 재설계했습니다. 각 기능과 서비스를 단계적으로 AWS로 전환하였고, 2016년에는 기존 데이터 센터 운영을 중단하면서 클라우드 네이티브를 성공적으로 도입했어요.
그 결과 전 세계에 안정적으로 고화질의 영상 서비스를 제공하고, 폭발적인 회원 수 증가와 스트리밍 시간에도 불구하고 안정적으로 시스템을 운영하고 있습니다.
2) 배달의 민족
출처: 배달의 민족
2015년 기준 1일 주문 건수가 5만 건 이하였던 배달의 민족은 2020년경 약 200만 건으로 크게 증가했습니다. 특히 팬데믹 기간에 배달 음식 수요가 폭발적으로 늘어나면서 배달의 민족 회원 수와 트래픽 증가에도 영향을 주었습니다. 하지만 폭발적인 사용량에도 불구하고 배달의 민족은 접속 장애와 같은 문제를 겪지 않았는데요.
이것은 배달의 민족이 2015년부터 2019년까지 결제와 주문 중계, 메뉴, 리뷰 등 각 서비스 단위를 MSA로 전환하였고, 데이터센터에 있던 인프라를 AWS로 이전하였기 때문입니다.
일찌감치 클라우드 네이티브 방식을 도입한 배달의 민족은 갑자기 늘어난 트래픽에도 불구하고 고객에게 빠르고 안정적인 서비스를 제공할 수 있었어요.
3) 공공기관
출처: 행정안전부
얼마 전, 행정안전부는 약 500억 원을 투입해 국토 정보 플랫폼과 고용산재보험 서비스 등 10개 기관의 13개 정보시스템을 클라우드 네이티브로 전환한다고 밝혔어요. 이번에 전환 대상으로 선정된 곳은 국민 수요가 많고 24시간 안정적인 가동이 필요한 공공시스템인데요.
행안부는 이번 전환을 통해 평균 시스템 중단 시간 95% 감축, 서비스 요청 처리 시간 26% 단축, 이용자 폭증 시 용량 4.5배 자동 확장 등의 효과를 기대한다고 밝혔어요.
클라우드 네이티브는 개발 속도를 개선하고 비용 및 운영 효율성을 개선할 수 있다는 것이 장점입니다. 무엇보다 시장의 변화에 민첩하게 대응할 수 있는데요. 앞서 소개한 넷플릭스와 배달의 민족을 포함해 전 세계의 여러 기업은 물론 공공기관에서도 클라우드 네이티브 전환을 통해 서비스 품질을 개선하기 위해 노력하고 있어요.
다빈치는 베인앤드컴퍼니, 우아한형제들(배달의민족), 삼성 출신 엘리트로 구성된 개발 조직으로, 클라우드 시스템 개발, RPA/자동화, AI 도입, 모바일 앱 개발 등 IT 전 분야의 제작과 컨설팅을 제공합니다.
클라우드 네이티브를 도입하고 싶지만, 내부 개발팀의 부재로 자문 또는 진단이 필요하신가요? 다빈치는 IT 개발에 대한 전 분야에 대한 자문 및 진단 서비스를 제공합니다.