안녕하십니까? 클라우드 네이티브 Launch센터입니다.

넷플릭스는 성공적인 클라우드 도입을 통해 전 세계 130여 개 국가에 안정적인 스트리밍 서비스를 제공하고 있습니다. 넷플릭스와 같은 성공적인 클라우드 도입을 위해 기업은 애자일 DevOps 기반의 AM 적용을 고려해 볼 수 있습니다.

이번 <DX Insight>에서는 클라우드 도입에 중요한 AM 제공가치와 AM 관련 요소, 그리고 애자일 방식에 대해 소개합니다.


클라우드 도입 성공사례 : 넷플릭스


넷플릭스는 2008년 8월부터 기존 시스템을 클라우드로 옮기기 시작했습니다. 클라우드 시스템을 통해 서비스를 제공한 이후 넷플릭스의 스트리밍 서비스 이용자는 8배 증가했습니다. 당시 부사장이었던 유리 이즈라일레브스키는 “클라우드로 가는 가장 쉬운 방법은 모든 시스템을 변경 없이 그대로 들어 클라우드에 떨구는 것”이라며 “그러나 이로 인해 데이터 센터의 모든 문제와 한계까지 옮기게 된다”고 말한 바 있습니다.
이러한 한계를 극복하기 위해, 유리 이즈라일레브스키 부사장은 클라우드 네이티브 전략을 강조하며, 넷플릭스의 기술 전체를 재구성하고, 회사의 운영 방법을 저변부터 애자일 기반으로 바꿔야 한다고 주장했습니다. 이에 넷플릭스는 하나로 단단하게 결합된 앱을 수백 개의 마이크로 서비스로 전환했고, NoSQL을 사용하여 데이터 모델을 비정규화했습니다.

온프레미스 데이터 센터의 운영을 중단하고 완전 클라우드로 전환했을 때, 넷플릭스는 서비스 지역을 130여 개 국가로 대폭 확대할 수 있었습니다. 유리 이즈라일레브스키 부사장은 “넷플릭스를 클라우드 회사로 전환하기 위해 시간과 노력을 들였지만, 회사는 계속 성장해 훨씬 더 좋은 지위에 올랐으며, 세계적 TV 네트워크가 됐다”고 강조했습니다.

기존 온프레미스 시스템을 IaaS 방식으로 그대로 옮기는 것은 마이그레이션 속도가 빠르다는 장점이 있으나 온프레미스의 한계점을 그대로 옮기기 때문에 '클라우드 네이티브'하지 않습니다. 넷플릭스는 클라우드 네이티브한 방식을 적용하여 안정적인 서비스를 전 세계적으로 제공할 수 있었습니다.

넷플릭스 사례에서 보듯 '클라우드 네이티브'하기 위해서는 클라우드의 개발 방법론을 통해 개발이 진행되어야 하며, 이것이 요즘 핫이슈가 되고 있는 애자일 DevOps 기반의 AM입니다.


애자일 DevOps기반 AM의 가치


AM이 제공하는 가치는 다음과 같습니다.

첫째, 이미지 하나로 자유로운 배포를 가능하게 합니다. 서비스를 컨테이너나 서버리스 등의 이미지로 제작하여 CI/CD 자동화를
적용하면 개발, 통합, 운영 환경 어디든 사용할 수 있으며 최신의 인프라도 유지할 수 있습니다.

둘째, 민첩성 개선입니다. 새로운 기능의 신속한 전달이 가능하며 다른 서비스에서 API를 통해 소비되는 기존 애플리케이션의
기능을 노출시켜 빠른 연계가 가능합니다.

셋째, 온프레미스 뿐만 아닌 이기종 클라우드 간의 자유로운 이동이 가능합니다. 퍼블릭 클라우드를 사용할 때도 컨테이너 배포가
가능하고, 복잡한 설정도 피할 수 있으며, 퍼블릭 클라우드 사용이 불필요한 경우 온프레미스 간의 즉각적인 이동이 가능합니다.
또한 손쉬운 트래픽 처리도 가능합니다. 트래픽이 폭증하는 경우, Docker 컨테이너를 원하는 만큼 생성해 처리량을 쉽게 늘릴 수
있습니다.

애자일 DevOps 기반 AM의 가치



AM 관련 요소


AM과 관련된 요소로는 컨테이너, 마이크로서비스, 지속적인 배포가 있습니다.

  • 컨테이너는 많은 양의 배포 문제에 대한 솔루션을 제공하고, 이로 인해 신뢰성이 향상됩니다.

  • 마이크로서비스는 더 나은 결정을 하고 더 빠르게 개발합니다.

  • 지속적인 배포는 애플리케이션이 운영으로 배포할 준비가 되어 있는지에 대한 자동적인 피드백을 제공합니다. 따라서 소프트웨어 품질을 향상시킬 수 있으며, 시장 출시 시간을 단축할 수 있습니다.

3가지 요소는 함께 결합할 때 더 많은 것들을 달성할 수 있습니다. 즉, 경쟁이 심해지는 비즈니스 요구 사항에 자주, 그리고 더 빨리 배포할 수 있고, 무장애 비가동 시간을 달성하며, 서비스 제공에 대한 일관성을 유지할 수 있습니다. 배포 실패 시에도 만회할 수 있는 자기 회복 시스템을 생성할 수 있습니다.

AM 관련 요소와 성공적인 AM 적용 방안


성공적인 AM 적용 방안


앞서 언급한 3가지 요소를 결합하여 프로젝트를 진행하기 위해서는 애자일 방식으로 수행하는 것이 무엇보다도 중요합니다.
클라우드 네이티브 Launch센터는 AM 적용을 위한 애자일 프로젝트를 다음과 같이 수행합니다.

첫째, 큰 문제들을 작은 문제로 세분화합니다.
둘째, 매주 고객에게 문서와 계획서 이상의 가치를 전달합니다.
셋째, 가능한 일찍, 자주 진행합니다.
넷째, 고객의 피드백을 길잡이로 삼습니다.
다섯째, 필요하다면 빠르게 계획을 변경합니다.
마지막으로, 품질과 일정을 책임진다는 주인의식으로 프로젝트를 수행합니다.

클라우드 네이티브 Launch센터는 애자일 프로젝트 성공의 판단 척도를 '제대로 작동하는 소프트웨어를 정기적으로 고객에게 전달하는 것'을 기준으로 하고 있습니다.

AM을 잘 적용할 수 있는 클라우드 네이티브 Launch센터의 프로그램으로 고객사와의 BYBC(Build Your Build Center)가 있습니다.
고객사에서 선정한 Product를 클라우드 네이티브 Launch센터와 약 13주간 애자일 방식으로 진행하는 프로젝트입니다. 


'Learning by Doing' 콘셉트로 진행되기 때문에, 수행 조직의 역량을 강화할 수 있습니다. 문화와 기술에 대한 특강은 물론 'Shoulder to Shoulder' 프로그램으로, 고객사 참가자와 Launch Center 전문가가 1:1로 페어링 되어 프로젝트를 수행하기 때문에, 자연스럽게 일하는 문화, 방법, 기술을 체득하게 됩니다. 고객사 참가자들이 확보한 경험과 기술력은 고객사에 새로운 문화로 전파될 수 있다는 강점이 있습니다.  
1:1 혹은 1:N 매칭


앞서 설명한 애자일 DevOps 기반의 AM에서 가장 중요한 것은 소프트웨어 코드를 바라보는 관점의 전환이 필요하다는 것입니다.
성공적인 AM 도입을 위해서는, 소프트웨어 개발 기간(일정/납기)이 더 중요할지, 혹은, 소프트웨어가 제품으로써
잘 작동하게 구현(릴리즈/기능)하는 것이 중요할지에 대해 먼저 질문을 던지고 고민해야 합니다.

도구와 개발 방법뿐 아니라 마인드셋과 조직 문화도 함께 변화해야 합니다. 작은 규모의 팀 단위로 우선 적용해 본 후 기술/문화적인 충격을 완화한 후 지속적으로 새로운 방식과 기술을 끊임없이 받아들이고 연구하는 자세가 중요합니다.