거의 모든 업종의 기업들이 디지털 트랜스포메이션의 일환으로서, 또는 증가하는 수요에 비용효율적으로 대응하기 위해 클라우드로 이전하고 있다. 그리
컨테이너는 애플리케이션의 코드와 의존성을 모두 한데 묶어 컴퓨팅 환경에 상관없이 애플리케이션이 구동하도록 하는 단독형 소프트웨어 패키지이다. 이에 따라 컨테이너를 이용하면 애플리케이션을 (예를 들어) 개발자의 노트북에서 시험 환경으로, 시험 환경에서 배포로, 데이터센터의 물리적인 기기에서 프라이빗 또는 퍼블릭 클라우드의 가상머신으로 손쉽게 이동할 수 있게 된다.
컨테이너가 환경들 사이의 워크로드 이동을 용이하게 하지만 여전히 유지관리 작업이 요구된다. 여기에서 쿠버네티스가 빛을 발한다. 쿠버네티스는 컨테이너화 된 애플리케이션의 배치, 스케일링, 관리를 자동화하기 위해 고안된 오픈소스 컨테이너 오케스트레이션 시스템이다. 본래 구글이 개발한 쿠버네티스는 현재 CNCF(Cloud Native Computing Foundation)가 유지관리하고 있다.
컨테이너와 쿠버네티스가 멀티클라우드 또는 하이브리드 클라우드 환경에서 워크로드 이식성을 위한 강력한 조합이라는 사실을 수많은 기업들이 깨달아가고 있다. 이 두 가지 기술을 현장에서 활용하고 있는 3가지 사례를 살펴본다.

익스피디아 그룹: 온라인 여행 경험 개선
온라인 여행서비스 제공기업 익스피디아 그룹은 2013년부터 아마존 웹 서비스(AWS)에서 마이크로서비스 아키텍처 및 퍼블릭 클라우드 서비스를 사용하기 시작했다. 그러나 클라우드 환경 안에서 애플리케이션을 구동할 수 있도록 하기 위해 아마존 EC2 컨테이너 서비스를 통해 컨테이너를 배포하기 시작하면서 클라우드 사용량이 급증했다.
익스피디아 그룹이 컨테이너 기술을 이용하는 주 요인은 여러 환경에서의 애플리케이션 이식성 강화와 신규 제품 및 서비스의 시장 출시 속도 증가다.
익스피디아 그룹의 사업부문인 Vrbo의 수석 엔지니어 쿨딥 초우한은 “몇 초 안에 컨테이너를 구동하게 되면서 고객들에게 새로운 기능을 제공하기 위해 필요한 시간이 크게 감소했으며 우리는 시장 출시 속도를 높일 수 있다”라고 말했다.
여러 환경들 사이에서의 이식성과 속도 덕분에 해당 기업은 마이크로서비스에 더욱 빠르게 다가가게 되었다고 초우한이 말했다. 현재 여러 AWS 클라우드 지역에 있는 ECS에서 수천 개의 애플리케이션이 배포되어 구동되고 있으며 이를 통해 익스피디아는 여행자와 파트너에게 개선된 서비스를 제공할 수 있다고 그는 덧붙였다.
초우한에 따르면 2015년, Vrbo는 온프레미스 데이터센터와 AWS 클라우드 환경에서 컨테이너 워크로드를 운영하기 위해 컴퓨터 클러스터를 관리하는 오픈소스 플랫폼인 아파치 메소스를 도입했다. 이를 통해 Vrbo의 개발자들은 같은 워크로드를 두 환경에서 운영하여 익스피디아의 온프레미스 데이터센터에서 클라우드로 빠르게 마이그레이션할 수 있게 됐다.
또한 익스피디아는 최근 인기를 얻고 있는 기술인 쿠버네티스도 활용했다. 해당 기업의 호텔스닷컴(Hotels.com)사업부는 현재 AWS 클라우드에서 쿠버네티스로 수 백 개의 애플리케이션을 구동하고 있다. 고객들에게 제공하는 호텔 예약 등의 서비스가 이에 해당된다.
그리고 2019년 아마존이 EKS를 출시한 후, 데이터 사이언스, 온라인 경험, 스트리밍 등 익스피디아 그룹의 여러 팀들이 이를 활용해 컨테이너 워크로드를 운영하기 시작했다.
초우한은 “이것이 장기적으로 익스피디아 그룹이 컨테이너 런타임 및 오케스트레이션 니즈와 관련해 추구할 계획의 방향성이다”라고 말했다.
익스피디아 그룹이 마이크로서비스 아키텍처와 컨테이너로 전향하면서 새로운 서비스를 신속하게 출시하는데 있어서 상당한 이점을 누리게 되었다. 과거에는 새로운 애플리케이션 개발에 수 개월이 소요되었지만 이제는 하루 안에 새로운 기능을 여러 번에 걸쳐 대량 생산할 수 있다.
초우한이 “애플리케이션 아키텍처 및 데브옵스 활동 현대화에 투자하면서 고객들에게 제공되는 기능의 규모가 증가했다. Vrbo브랜드의 경우 지난 3년 동안 배포 속도가 12배나 증가했다”라고 말했다
컨테이너의 이식성 덕분에 익스피디아 애플리케이션은 여러 AWS지역에서 분산된 방식으로 구동하여 높은 가용성을 제공한다. 이는 전 세계의 고객들이 이 여행 사이트를 문제없이 이용할 수 있도록 해준다.
또한 컨테이너를 통해 ‘표적화된 스케일링’이 가능해졌다고 초우한이 말했다. 그는 “단일 애플리케이션이 있던 시절에는 트래픽을 지원하기 위해 인프라 전체를 스케일링해야 했다. 컨테이너와 마이크로서비스를 통해 우리는 이제 고객 수요가 높은 사이트의 특정 부분만 더욱 지능적으로 스케일링하여 인프라 비용 절감을 실현할 수 있다”라고 말했다.
초우한은 “단 컨테이너는 여전히 일정량의 인프라 관리가 필요하다. 컨테이너를 배포하고 운영할 수 있으려면 컨테이너 런타임 및 오케스트레이션 플랫폼이 필요하다. 여느 소프트웨어 솔루션과 마찬가지로 업데이트가 배포되며 컨테이너 플랫폼을 구동하는 기존의 여러 서버에 업데이트를 제공해야 한다”라고 말했다.
그는 컨테이너와 마이크로서비스를 중심으로 하는 개발 프로세스가 소스 코드부터 런타임까지 지속적으로 변화 및 발전해왔다고 진단했다. 그는 “새로운 생태계에 적응하기 위해 조직 개편이 필요했다. 또 엔지니어들에게 컨테이너를 통해 발전하는 생태계에 대한 교육도 제공해야 했다”라고 말했다.
프리메리카: 고품질의 현대화된 코드 확보하기
파인서브(Finserv) 보험기업 프리메리카는 뉴타닉스(Nutanix)의 하드웨어에서 동작하는 IBM의 프라이빗 클라우드 인프라에서 애플리케이션을 스케일링 할 수 있도록 쿠버네티스 환경을 구축했다. 프리메리카가 여러 환경에서 애플리케이션 일관성을 확보하는데 주효한 주역은 도커의 컨테이너다.
해당 기업의 CTO 겸 애플리케이션 개발 및 제공 담당 부사장 배리 펠라스는 “이것이 전통적인 기술 스택에서 현대적인 하이브리드 클라우드로 마이그레이션하는 과정의 핵심적인 전략 구성요소다”라고 말했다.
펠라스는 “이 환경을 통해 우리는 새롭고 현대적인 방식으로 우리가 수십 년에 걸쳐 개발한 애플리케이션에서 가치를 지속적으로 이끌어 낼 수 있다. 또한 (비즈니스 애플리케이션에 새로운 기능을 더 쉽게 제공하도록 함으로써) API 및 마이크로서비스 전략에서 핵심적인 역할을 담당한다”라고 말했다.
컨테이너와 쿠버네티스 조합을 통해 프리메리카는 애플리케이션을 관리할 뿐 아니라 모니터링하고 컨테이너에 무슨 일이 발생하는 경우 신속하게 복구할 수 있다.
펠라스가 “우리는 E2E 코드형 인프라를 제공하며, 이를 통해 예측 가능한 환경을 지속적으로 구축할 수 있다. 또 인간 오류의 가능성을 없앨 수 있다. 우리의 지속적인 통합 및 제공 역량을 통해 제품팀은 항상 최신 변경사항을 확인할 수 있으며 배포 프로세스 자체의 일환으로 환경 및 애플리케이션 검증이 완료되었음을 신뢰할 수 있다”라고 말했다.
컨테이너와 쿠버네티스를 사용하는 주요 동인은 팀들에게 더 나은 품질의 애플리케이션을 더욱 신속하게 제공할 수 있는 기회를 제공하는 것이라고 펠라스가 설명했다. 또한 그것들은 사용량이 높은 시간대에 작업할 안전하고 안정적인 환경과 확장성을 제공한다.
펠라스는 “우리는 또한 디버깅 및 문제 해결을 돕기 위해 여러 환경들 사이의 예측 가능성과 일관성을 원했다”라고 말했다.
프리메리카는 최근 들어 컨테이너와 쿠버네티스를 활용하기 시작했지만 효과는 조기에 나타나고 있다. 팀들의 생산성이 증가했을 뿐 아니라 사용자를 위한 점진적이고 민첩한 방식으로 제공할 수 있는 새로운 기능의 개발도 증가했다.
펠라스는 “또한 개발 프로세스 중 문제를 조기에 확인하여 더욱 안전하고 예측 가능한 애플리케이션도 제공할 수 있게 되었다. 우리가 더 많은 애플리케이션을 플랫폼으로 마이그레이션하면서 우리의 생산팀들의 애플리케이션 품질 향상과 일관된 개발 경험으로 이어질 것이다”라고 말했다.
그는 이어 “여느 기술과 마찬가지로 컨테이너와 쿠버네티스를 도입하려는 조직들에게는 학습 곡선이 있다. 적절한 기술을 갖춘 팀들이 해당 환경 안에서 적절히 개발하도록 하는 것이 어려울 수 있다”라고 전했다.
프리메리카는 제품팀을 위한 교육과 비즈니스 리더들이 프로젝트를 파이프라인에 투입할 수 있는 우수 사례를 제공함으로써 이 문제를 해결하고 있다.
클렘슨대학교(Clemson University): 대규모 컴퓨터 자원 다루기
클렘슨대학교의 유전 생화학부의 펠투스(Feltus) 리서치 랩은 유전학자, 컴퓨터 공학자, 컴퓨터 엔지니어 및 생명 공학자로 구성된 학제간 팀이다. 소프트웨어 엔지니어링과 컴퓨터 생물학을 융합함으로써 인간 및 식물 기관계에서 유용한 분자를 발견하고자 한다.
해당 랩은 패턴을 발견하기 위해 생물 정보학, 통계학, 데이터 사이언스 접근방식을 취하고 있다. 해당 학부의 알렉스 펠투스 교수는 “우리가 분석하는 생물학적 데이터 세트는 테라에서 페타 규모다. 우리는 데이터를 (여러 상용 클라우드 제공자를 포함하여) 많은 컴퓨터 플랫폼에 맞추는 최적화된 데이터 집약적인 컴퓨터 워크플로를 개발한다”라고 말했다.
최근, 이 리서치 랩은 쿠버네티스 시스템에서 구동하는 워크플로에 개발 노력을 집중하고 있다. 펠투스 교수는 “쿠버네티스는 수 년 동안 데이터 집약적인 컴퓨팅을 위한 보편적인 표준 플랫폼이 될 것이며, 이를 통해 우리는 소프트웨어 개발 노력을 하나의 아키텍처에 집중할 수 있을 것이다”라고 말했다.
생물학적 데이터베이스가 기하급수적으로 성장하고 있는 가운데, 데이터 세트를 마이닝함으로써 일부 대규모 의료 및 식량 안보 문제에 대한 생물학적 통찰을 얻어낼 수 있다.
그는 “작은 생물학 연구실이라도 대규모 컴퓨터 자원이 계속 필요하다. 연구원들은 곧 페타 규모의 생물학적 질문을 던질 것이며, 이를 위해 현재 상용 클라우드에서나 가능한 대규모 컴퓨터에 액세스해야 할 것이다. 쿠버네티스 클러스터는 대규모 컴퓨팅을 수행하기에 좋은 플랫폼이다”라고 말했다.
펠투스 교수는 “클라우드로의 이동에 앞서 생물학 연구원에게는 워크플로를 대규모로 개발 및 시험할 수 있는 민주화된 무료 크레딧 클라우드 샌드박스가 필요하다. 이런 샌드박스가 중요한 이유는 과학 실험 중 90%가 막다른 길에서 끝나기 때문이다. 발견이 이뤄지기 전에 클라우드 크레딧 예산을 다 써 버리는 경우가 발생할 수 있다”라고 말했다.
펠투스 교수연구실은 다른 여러 연구 그룹들과 프라이빗 및 클라우드 서비스를 융합한 확장형 리소스를 시범 운영하고 있으며, 쿠버네티스와 컨테이너가 큰 역할을 할 것으로 기대되고 있다.
펠투스 교수는 “쿠버네티스와 컨테이너는 컴퓨터 생물학 워크플로 공학을 위한 주요 플랫폼이다. 이런 시스템을 통해 나의 학생들은 HPC 환경 구성의 여러 예측 불가능한 변화를 우회할 수 있다”라고 말했다.
해당 랩은 다양한 클라우드 제공자의 여러 클러스터를 단일 플랫폼으로 관리하는데 도움이 되는 CCP(Cisco Container Platform)을 배포했다. 쿠버네티스 클러스터에서 워크플로를 시험하고 나면 여러 상용 클라우드에서 컨테이너화 된 워크플로를 운영할 수 있다. 펠투스 교수는 “이를 통해 최종 사용자 교육이 간소화되고 사용자가 연구에 집중할 수 있다”라고 말했다.
dl-ciokorea@foundryco.com