Offcanvas

개발자 / 디지털 트랜스포메이션 / 애플리케이션 / 클라우드

세계 최대 자산운용사가 하이브리드 클라우드를 관리하는 방법

2017.10.25 Brandon Butler  |  Network World
업력 71년, 자산 규모 2조 달러의 세계 최대 자산운영사 피델리티 인베스트먼트(Fidelity Investments)는 인프라 스트럭처 측면에서 하이브리드 클라우드 형태를 채택했다. 즉 자사 데이터센터에서 운용하는 프라이빗 클라우드는 물론 다양한 퍼블릭 클라우드 플랫폼을 함께 사용한다. 그렇다면 이 거대 기업은 이 복잡한 클라우드를 어떻게 관리할까?



피델리티의 관리 방법을 이해하는 핵심 키워드는 바로 유연성이다. 외부 퍼블릭 클라우드든 내부 데이터센터에서 운영하는 것이든 상관없이 모든 환경에서 앱이 제한없이 실행될 수 있도록 하는 것이다. 이를 위해 피델리티의 개발자는 애플리케이션 컨테이너와 소프트웨어 정의 인프라스트럭처 기술을 사용한다. 이들은 모두 API(application programming interfaces)를 통해 제어할 수 있다.

피델리티의 수석 부사장 마리아 아주아 히멜은 최근 뉴욕에서 열린 오픈 네트워킹 유저 그룹 행사에서 “클라우드는 인프라스트럭처가 아니라 자동화에 대한 것이다. 애플리케이션 파이프라인(pipeline)과 프로세스 표준화, 수평적 확장 측면에서 접근해야 한다. 문제는 클라우드에 오해가 여전히 존재한다는 점이다. 클라우드 사용자 중 상당수가 클라우드를 마치 마법처럼 생각한다. 잘 정의되지 않은 스파게티 코드(spaghetti code)가 가득한 상태로 하이브리드 클라우드 세계에 들어가고 싶어한다”라고 말했다.

그러나 이런 상태에서 하이브리드 클라우드로 전환하면 상당한 비용 부담을 불러온다. 아주아는 “클라우드로 이행하고자 한다면 먼저 애플리케이션을 적절하게 수정해야 한다. 특히 수평적 확장이 가능하도록 개선할 필요가 있다”라고 말했다. 이는 API를 통해 할당, 관리할 수 있는 인프라스트럭처 구성 요소로 만드는 것을 의미한다. 즉 마이크로서비스 아키텍처를 적용해 애플리케이션을 만들어야 한다.

이를 위해서는 12요소 애플리케이션 개발 방법론을 도입하는 것이 한 방법이다. 유명 애플리케이션 개발 플랫폼 히로쿠(Heroku, 2012년 세일즈포스가 2억 달러에 인수했다)의 초기 개발자 중 한 명인 아담 위긴스가 만든 것으로 '12요소 프로세스(12-Factor process)'로 더 유명하다. 주요 내용을 보면 애플리케이션의 의존성을 분리하고 백엔드 서비스를 부속 리소스를 취급하며, 앱을 경계없는 서비스로 실행한다. 앱을 신속하게 시작하고 종료할 수 있도록 하고, 여러 환경에서 앱이 최대한의 이동성을 가질 수 있도록 하며, 개발과 테스트, 배포 환경을 가능한 비슷하게 유지하는 것 등도 포함돼 있다.

아주아는 "코드를 작성한 후 앱이 실행될 특정 IP 주소를 설정하는 시대는 지나갔다. 이런 앱은 확장하기가 너무 어렵다. 이제는 개발자가 컴포넌트 형태로 앱을 개발해 어떤 인프라 환경에서도 실행할 수 있도록 지원해야 한다”라고 말했다.

피델리티의 앱 개발 과정
그렇다면 피델리티는 실제로 어떤 과정을 통해 애플리케이션을 개발할까? 아주아는 이를 간단하게 설명했다. '소프트웨어 정의 인프라스트럭처의 세계에서 실행되는 애플리케이션'을 만드는 것이다. 마이크로서비스 프레임워크로 개발해 의존성을 줄이고 기반이 되는 인프라 요건을 명확하게 정의하는 것이 핵심이다.

피델리티는 이 과정을 특정 단일 기술로 표준화하지 않았다. 대신 원칙을 지킬 수 있는 다양한 툴을 활용했다. 그 결과 현재 이 기업은 자사의 앱을 도커(Docker) 컨터이너로 개발한다. 온프레미스에서 실행해야 하는 앱은 오픈스택 프라이빗 클라우드를 이용한다. 퍼블릭 클라우드는 아마존 웹 서비스와 마이크로소프트 애저를 사용한다.

관리 툴은 클라우드 네이티브 툴을 이용한다. AWS용 클라우드포메이션(CloudFormation for AWS), 오픈스택용 히트 템플릿(Heat templates for OpenStack), 테라폼(Terraforms) 등이다. 테라폼은 퍼블릭 환경과 프라이빗 환경 모두에서 사용할 수 있다. PaaS 레이어로는 클라우드 파운드리(Cloud Foundry)를 이용하는데, 이 역시 퍼블릭 클라우드와 프라이빗 클라우드로 확장할 수 있다.

아주아는 “우리가 사용하는 이들 툴은 서로 종속적이지 않다. 기본적으로 프로세스가 툴을 결정한다. 정해진 방식으로 애플리케이션을 개발하기만 한다면 이를 실행하고 관리하는 기반 기술은 어떤 것을 써도 상관없다”라고 말했다. 앱을 어디에서 실행해야 한다고 정하는 규칙 같은 것도 없다. 항상 실행하는 앱은 퍼블릭 클라우드보다는 더 효율적인 내부 인프라에서 실행하고, 단기 워크로드나 급히 리소스가 필요한 경우에는 퍼블릭 클라우드가 더 적합한 것으로 보고 있다.

그러나 어떤 경우든 개발자가 이를 걱정할 필요는 없다. 아주아는 “애플리케이션 개발시 파이프라인화하는 것이 가장 중요하다. 이런 방식으로 애플리케이션을 개발했다면 실행하는 환경에 대해서는 신경쓰지 않아도 된다”라고 말했다. ciokr@idg.co.kr 
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.