이번 글에서는 클라우드 네이티브(Cloud Naitve)를 적용한 기업들의 사례에 대해서 말씀드리려고 합니다.
넷플릭스(Netflix), 아마존(Amazon), 우버(Uber), 11번가, 우아한 형제들 등 다양한 서비스 기업들이 클라우드 네이티브 형태로 IT시스템 구조를 변경했고, 또 많은 기업들이 전환을 시도하고 있습니다.
결국 빠르게 변화하는 비즈니스 환경, 사용자의 요구사항에 대응하기 위해서는 신속성과 유연성이 점점 중요해지고 있으며, 기존 모놀리식 구조의 IT시스템 환경의 제약사항을 극복하기 위해 클라우드 네이티브로 전환되고 있다고 생각할 수 있습니다.
앞서 글에서는 클라우드 네이티브(Cloud Native)의 개념과 정의, 구성요소와 특징에 대해 간략히 말씀드렸는데 같이 참고하시면 좋을 것 같습니다.
1. 넷플릭스(Netflix)
넷플릭스의 가입자가 전 세계적으로 증가하면서 기존의 IT구조로는 원활한 서비스 제공의 한계가 나타나기 시작했습니다.
- 개발속도 저하 : 기존 애플리케이션은 모놀리식 구조로 되어있어,
기능 변경, 신규 기능 추가 시 연관된 모든 코드의 수정이 필요 - 데이터센터 비대화 : 트래픽 증가를 감당하기 위한 HW자원의 지속적인 증설로 인하여
데이터센터의 규모가 점점 커지고 있었음 - 서비스 중단 : 하나의 DB에서 모든 서비스가 제공되었기 때문에, 서비스 중단의 리스크가 높았고
데이터센터 화재 시 3일간 서비스가 마비되었음 - 서버 점검 문제 : 다양한 지역에 24시간 서비스를 제공하기 때문에, 서버 점검을 위한 대기시간 확보가 어려움
기존 IT구조로 인한 한계를 극복하고자 넷플릭스는 2009년부터 2015년까지 7년 동안 데이터센터에서 운영되던 기존 IT 인프라를 클라우드 네이티브 방식으로 재설계했습니다.
사용자에게 제공되는 영상 스트리밍 서비스와 데이터/로그, 로그인 및 콘텐츠 검색 기능, 결제 및 payment, 데이터 분석 등 다양한 기능과 서비스들을 단계적으로 AWS로 전환하여 2016년 기존의 데이터 센터의 문을 닫고 "클라우드 네이티브 기업이 되었다."라고 선언했습니다.
그 결과 현재의 넷플릭스는, AWS(Amazon Web Services)의 클라우드 플랫폼을 기반으로 사용자들에게 고화질 동영상을 안정적으로 제공하고, 고가용성, 확장성, 유연성 등의 이점을 누리고 있으며 조직문화, 오픈 소스 중심의 기술적인 변화를 같이 이루어낸 성공적인 사례로 자리매김했습니다.
2. 아마존(Amazon)
기존의 아마존은 모놀리식 아키텍처 기반에 구축된 시스템을 활용하고 있었고, 기업의 성장과 함께 시스템과 데이터베이스가 거대해지게 되었습니다. 또한 아마존은 상품 카탈로그를 더욱더 확대하려 했는데 이 과정에서 기존 IT시스템의 제약으로 인한 어려움을 겪게 되었습니다.
경직되고 확장이 제한적인 IT시스템 구조, 밀접하고 복잡하게 연결된 애플리케이션 아키텍처로 인한 시스템 장애의 위험성, 장시간 소요되는 빌드/배포, 제한적인 개발도구 등 발생하는 다양한 문제를 해결하고자 DB를 분리하고 서비스 지향 아키텍처(SOA:Service Oriented Architecture)를 도입했습니다. 그럼에도 불구하고, 여전히 빌드/배포에 많은 시간이 소요되었고 서비스 간 의존도가 높아 병목현상이 발생하는 등의 문제가 지속되어 근본적인 개선이 필요한 상태였습니다.
아마존은 SOA의 한계를 극복하고 근본적인 혁신을 추구하기 위하여 MSA(Microservices Architecture)를 도입했고, 각 서비스 단위로 자율적인 DevOps팀을 구성하여 서비스에 대한 담당자의 책임과 권한을 부여하고 빠른 혁신을 추구하고자 했습니다. 이 DevOps팀은 서비스 기획부터 개발, 운영, 보안, DB에 이르는 다양한 담당자들이 포함되어 빠르고 효율적인 업무수행이 가능해졌습니다.
그 결과, 오늘날 아마존은 수천 개의 자율적인 DevOps팀을 중심으로 MSA로 설계된 수천 개의 서비스들을 운영하고 있으며 CI/CD 파이프라인 자동화를 통한 지속적인 통합 및 배포, 다양한 개발환경 구성 등을 통해 신속한 빌드/배포체계를 구축하여 운영하고 있습니다. * 2020년 기준 연간 1억 9천만 회(매초 6회) 배포
3. 우버(Uber)
2009년 설립된 글로벌 승차공유 서비스인 우버는 '공유경제'라는 키워드와 함께 모바일 시대의 대표적인 혁신기업으로 세계 각지에서 빠르게 성장했습니다. 기하급수적인 성장으로 인해 불과 7년 만에 전 세계 700개 이상의 도시에서 일상적인 서비스로 자리 잡게 되었고, 그 결과 우버의 모바일 앱은 승객과 기사를 10억 번 이상 연결하는 등의 사용량의 증가로 이어졌습니다.
스타트업으로 시작했던 우버는 확장성을 고려하지 못하고 모놀리식 구조의 IT시스템을 구축하여 운영하였고, 초기에는 이러한 구조가 비즈니스를 수행하는데 전혀 문제가 되지 않았습니다. 하지만 위에 말씀드린 대로 다양한 국가에 서비스를 제공하기 시작하면서 IT시스템의 확장과 지속적인 운영에 어려움을 겪게 됩니다.
하나의 기능을 배포하기 위해서는 전체를 다시 패키징 해야 하고, 하나의 프레임워크에서 글로벌 서비스 제공을 위한 개발/운영의 협업이 어려웠고, 기하급수적으로 증가하는 인프라 성능을 유연하게 관리하기 힘들었습니다.
따라서 우버는, 기존의 모놀리식 구조의 IT시스템을 클라우드 네이티브 구조로 변경하면서 단위 기능들도 마이크로서비스로 분해했습니다.
4. 11번가, 우아한 형제들(배달의 민족), 마켓컬리
1) 11번가
2016년까지 11번가의 쇼핑몰 시스템은 거대한 모놀리식 구조로 되어있었기 때문에 배포 지연과 장애 리스크, 노후화된 기술 스택 및 느린 개발환경의 문제점을 가지고 있었고, 큰 폭으로 증가하는 트래픽을 감당하기 위해서는 개선이 필요함을 느꼈습니다.
개선을 위하여 2017년부터 2년간 MSA 전환을 추진했습니다. 기존에 운영되던 애플리케이션들을 업무 도메인을 기준으로 서비스를 작게 나누고, 이에 따라 API 서버를 분리했고, Rest API를 활용해 호출하는 방식으로 변화했습니다.
이러한 MSA 전환을 통해 11번가는 개발 및 배포 속도의 향상, 주문 및 결제 서비스 속도 향상, 서비스 장애 감소 등의 효과를 얻을 수 있었습니다.
2) 배달의민족
배달의 민족은 2015년 1일 주문건수가 5만 건 이하 수준이었지만, 16년에는 10만 건, 17년에는 20만 건, 2020년에는 약 200만 건으로 폭증했습니다. 따라서 주문 처리와 주문 증가에 따른 장애 위험에 대응하기 위해서 2016년부터 단계적으로 마이크로서비스 아키텍처로의 전환을 진행해 왔습니다.
2016년부터 2019년까지 4개년 동안 결제, 주문중계, 메뉴, 리뷰 등 각 서비스 단위로 마이크로서비스로의 독립을 진행했으며 IDC(Internet Data Center)에 위치한 인프라를 AWS로 이전하는 작업을 병행했습니다. 그 결과 폭증한 주문량에 대응할 수 있도록 대용량 트래픽을 처리할 수 있게 되었으며, 개별 서비스의 장애가 발생하더라도 단위 서비스의 격리를 통해 지속적인 고객서비스를 제공할 수 있는 체계를 확보할 수 있게 되었습니다.
3) 마켓컬리
마켓컬리는 사업 확대 및 서비스 확장을 고민하던 시점에서 클라우드 네이티브 도입을 결정했습니다.
기존 서비스의 마이크로서비스화(MSA), 컨테이너를 통한 서비스 구성 관리 및 배포 관리, CI/CD를 통한 자동화 및 서비스 운영 안정성 확보, DevOps체계에 의한 개발/운영 효율화를 추구하였고, 이를 통해 고객 요구사항에 신속하게 대응하고 개발 및 배포시간 단축, 장애 감소, 인프라 관리 업무의 축소 등의 효과를 달성할 수 있었습니다.
이번 글에서는 클라우드 네이티브를 적용한 사례들에 대해서 말씀드렸습니다. 최근에는 클라우드 기반으로 IT시스템을 개편하는 Digital Transformation이 활발하게 이루어지고 있어 많은 기업들이 클라우드 네이티브를 적용하고 있습니다.
빠르게 변화하는 시장이나 고객에 대응하기 위해서는 결국 빠른 속도와 안정성, 그리고 지속적인 서비스를 제공할 수 있는 클라우드 네이티브가 필수적일 수밖에 없다고 생각되며, 앞으로 또 어떤 새로운 개념들이 나올지가 기대됩니다.
[참고자료 및 사이트]
1. 클라우드 네이티브 정보시스템 구축을 위한 발주자 안내서 (2021, 표준 프레임워크 포털)
* https://www.egovframe.go.kr/home/sub.do?menuNo=95
2. CNCF 홈페이지 내 Case studies (https://www.cncf.io/case-studies/)
3. 11번가 Spring Cloud 기반 MSA로의 전환(https://youtu.be/J VP0WFEQsY)
4. 배달의민족 마이크로서비스 여행기(https://www.youtube.com/watch?v=BnS6343GTkY&t=19s)