멀티클라우드란 한 기업이 둘 이상의 클라우드 서비스 업체에서 클라우드 서비스를 이용하는 방식을 의미한다. 이름에서도 알 수 있듯이 ‘다수의 클라우드’를 활용하는 것이지만, 멀티클라우드를 선택하는 이유는 클라우드 플랫폼만큼이나 다양하다.
‘클라우드’라는 개념 자체가 워낙 넓고 포괄적이기 때문에, 멀티클라우드 환경은 예를 들어 생산성 애플리케이션을 위한 마이크로소프트 365 SaaS, 스토리지를 위한 구글 드라이브, 컴퓨팅 서비스를 위한 아마존 AWS를 함께 사용하는 형태일 수도 있다.
또한 같은 기능이나 목적을 위해 복수의 클라우드 서비스 업체를 활용하는 경우도 있다. 퍼블릭 클라우드 서비스는 저렴하고 쉽게 시작할 수 있기 때문에, 규모가 큰 기업이나 IT에 대한 중앙집중형 통제가 느슨한 기업은 의도하지 않아도 멀티클라우드 환경에 놓일 수 있다.
멀티클라우드와 하이브리드 클라우드의 차이
멀티클라우드의 장단점을 논의하기에 앞서, 비슷해 보이지만 의미가 다른 용어를 구분하는 것이 중요하다. 하이브리드 클라우드는 퍼블릭 클라우드와 온프레미스에 호스팅된 프라이빗 클라우드 구성 요소를 함께 사용하는 방식을 말한다.
기업의 인프라가 여러 퍼블릭 클라우드 업체의 서비스를 포함하고 있다면, 하이브리드 멀티클라우드라고 부를 수 있다. 이는 일반적인 하이브리드 클라우드 사용례 중 하나다. 그러나 복수의 퍼블릭 클라우드 서비스 업체가 포함되지 않는다면, 퍼블릭과 프라이빗 클라우드가 결합되어 있더라도 멀티클라우드로 보지 않는다.
멀티클라우드의 이점
멀티클라우드 개념은 직관에 반하는 듯 보일 수 있다. 하나의 클라우드 업체만 사용하는 것이 더 단순하지 않을까 생각할 수 있다. 하지만 복수의 업체에서 클라우드 서비스를 조달하는 데는 여러 장점이 있다.
- - 유연성. 대다수 클라우드 서비스 업체는 자사를 토탈 솔루션 클라우드라고 홍보하지만, 실제로는 각 업체마다 강점과 약점이 존재한다. 그리고 다양한 클라우드 사용례가 있는 기업은 한 업체 전적으로 의존하지 않으려 할 수 있다.
예를 들어, 한 기업이 분석 기능을 위해 마이크로소프트의 애저 클라우드를 사용하면서 알렉사 스킬 애플리케이션 개발을 위해 아마존 AWS를 활용할 수 있다. 심지어 업체 중립성을 고려해 개발한 워크로드라도 특정 클라우드 플랫폼에서 더 나은 성능을 발휘할 수 있다.
- - 지리적 근접성과 네트워크 성능. 클라우드는 물리적 현실의 제약을 넘어선 ‘어딘가에 있는’ 서버로 인식되기 쉽지만, 실제로는 일부 클라우드 서비스 업체가 사용자나 고객에 더 가까운 물리적 위치에 서버를 두거나, 더 짧은 지연시간을 제공하는 네트워크 연결을 보유하고 있을 수 있다. 이런 경우 미션 크리티컬한 고성능 워크로드에는 해당 업체를 활용하고, 그렇지 않은 워크로드에는 다른 업체를 선택할 수 있다. 또한 다양한 지역에 클라우드를 배치하면 각국의 데이터 보호법에 따라 데이터를 저장하고 보호하는 데 규제와 성능 양면에서 이점이 있다.
- - 위험 분산. 사용 중인 클라우드 서비스 업체가 장기간의 대규모 장애를 겪는다면 비즈니스에 중대한 타격이 발생할 수 있다. 하이퍼스케일러 업체라면 가능성은 낮지만, 전문화된 서비스 업체라면 장기적인 장애의 가능성이 있다. 심지어 대형 클라우드를 사용할 때도 편이성, 성능 문제, 예기치 못한 비용, 관계 재검토를 촉발하는 기타 문제가 발생할 수 있다. 복수의 서비스 업체를 활용하면 인프라 전체를 재구성하지 않고도 관계를 정리할 수 있다.
어떤 클라우드 업체가 어떤 워크로드에 최적인지 파악하는 수단이 될 수도 있다. 또한 계약 만료나 신규 클라우드 서비스 도입을 고려할 때 협상 카드로도 활용할 수 있다.
멀티클라우드의 해결 과제
멀티클라우드 접근법에는 여러 과제와 단점이 존재한다.
- - 복잡성. 멀티클라우드의 가장 큰 문제는 복잡성이다. 단일 서비스 업체의 클라우드를 이용하면 별도의 작업이나 아키텍처 변경 없이 손쉽게 클라우드 자원을 확장할 수 있다는 장점이 있다.
하지만 다른 클라우드 업체의 서비스를 추가해 클라우드 자원을 늘리려면, 서로 다른 클라우드가 원활히 연동되도록 하기 위해 추가 작업이 필요하다. 이 과정의 어려움은 ‘번거로움’에서 ‘불가능’까지 다양하다. 연동이 완료된 이후에도 관리 부담이 발생한다. 예를 들어 데이터 보호와 프라이버시를 관리하기 더 어려워지고, 여러 서비스 업체의 클라우드 사용량과 비용을 별도로 추적해야 한다.
- - 네트워크 대역폭. 많은 클라우드 서비스 업체가 클라우드 내부로의 데이터 이동은 저렴하고 쉽게 만들지만, 데이터를 외부로 내보낼 때는 높은 비용을 부과한다. 클라우드 간에 대용량 파일을 주고받아야 하는 워크플로우라면 예상보다 많은 비용이 발생할 수 있다.
- - 상호운용성. 상용 클라우드 서비스는 단순한 범용 서버가 아니라 각각의 강점과 특징이 있다. 이 때문에 복잡한 애플리케이션은 어느 정도 해당 클라우드 환경에 맞게 조정해야 한다. 즉, 코드를 아무 때나 쉽게 다른 클라우드 서비스 업체로 옮길 수는 없다.
- - 비용 가시성과 관리의 어려움. 비용 절감은 멀티클라우드를 포함한 모든 클라우드 전략의 주요 동기 중 하나다. 하지만 각 서비스 업체가 자체 요금제와 청구 방식을 사용하기 때문에 TCO가 불투명해지고, 비용 비교나 최적화 전략 수립이 어려워진다.
- - 기술 격차. 코드뿐 아니라 인력 측면에서도 문제가 발생할 수 있다. 개발자와 관리자는 각자 선호하거나 익숙한 클라우드 플랫폼이 다르다. 물론 누구나 새로운 기술을 배울 수 있지만, 여러 플랫폼을 병행하면 팀이 학습해야 할 내용이 늘어나고, 양쪽 모두에 즉시 투입될 수 있는 인력을 채용하기도 어려워진다.
특별 과제 : 멀티클라우드 보안
마지막으로 보안은 특별히 주의해야 할 멀티클라우드의 과제다. 멀티클라우드 환경은 광범위하고 복잡한 공격 표면을 제공한다. 클라우드 도입 자체만으로도 인터넷을 통해 클라우드와 온프레미스 시스템 간에 데이터를 주고받고, 완전히 통제할 수 없는 플랫폼에 데이터를 저장하고 작업하기 때문에 취약점이 노출될 위험이 있다.
퍼블릭 클라우드 서비스 업체를 추가하면, 보호해야 할 네트워크 연결 지점도 늘어난다. 대부분의 클라우드 플랫폼은 보안 도구를 제공하지만, 각 서비스 업체의 도구가 서로 호환되지 않을 수 있다. 결국 모든 사용자가 항상 보안 베스트 프랙티스를 준수하고 클라우드 도입 전에 종합적인 데이터 거버넌스 정책을 수립하며, 방대한 멀티클라우드 인프라를 완벽하게 가시화할 수 있는 모든 도구를 활용해야 한다.
멀티클라우드의 주요 사용례
이 모든 장단점은 실제 기업이 멀티클라우드를 선택하는 이유를 보여준다.
- - 성능 향상 및 지연시간 단축. 멀티클라우드 아키텍처를 활용하면 워크로드를 최종 사용자나 장치에 더 가까운 곳에 배치할 수 있어 지연시간을 줄이고 애플리케이션 성능을 최적화할 수 있다.
- - 엣지 컴퓨팅 지원. 엣지 컴퓨팅 환경에서는 지연시간 단축이 특히 중요하다. 멀티클라우드는 실시간 데이터 처리를 지원해 사물인터넷과 자동화에 의존하는 물류, 제조, 유통 산업에서 핵심적이다.
- - 분산 및 원격 근무 지원. 지리적으로 다양한 클라우드 인프라를 활용하면 전 세계에 흩어진 인력을 보다 효과적으로 지원할 수 있다.
- - 규제 준수 및 위험 완화. 멀티클라우드 구성은 다양한 규제 요구를 충족하고 데이터 손실을 방지하며, 여러 서비스 업체와 가용 영역에 워크로드를 분산시켜 비즈니스 연속성을 확보할 수 있다.
멀티클라우드 설계 시 고려사항
멀티클라우드 아키텍처를 설계할 때 핵심은 복수의 퍼블릭 클라우드에서 모두 사용할 수 있는 공통 기술 스택과 개발 도구 체계를 구축하는 것이다. 오픈소스 소프트웨어 패키지를 사용하는 것이 좋은 전략이다. 오픈소스는 일반적으로 어떤 퍼블릭 클라우드에도 이식할 수 있다. 또한, 필요한 도구의 표준 버전을 사용하는 것이 바람직하다. 단순성과 이식성이 핵심이다.
가능한 한 인프라 전반의 정책을 통일하는 것도 중요하다. 이를 위해 프론트엔드 코드를 작성해 각 플랫폼의 API와 상호작용하도록 하면, 특정 플랫폼 구현에 종속되지 않고 정책을 추상화할 수 있다.
이 과정에서 API를 통해 조작할 수 있는 모든 퍼블릭 클라우드에서 공통으로 사용할 기능 세트를 마련할 것인지 결정해야 한다. 이렇게 하면 관리가 수월해지며, 대부분의 경우 사용자는 어떤 클라우드 플랫폼을 이용하는지 인식할 필요가 없다. 하지만, 멀티클라우드를 선택한 이유가 되었던 각 클라우드의 고유 기능은 활용하지 못하게 될 수도 있다.
멀티클라우드 관리
멀티클라우드 아키텍처의 다양한 구성 요소를 성공적으로 통합하는 것은 상당한 도전 과제이다. 이를 원활히 운영하도록 지원하는 상용 멀티클라우드 오케스트레이션 플랫폼도 존재하며, 선택 과정 또한 사전 계획에 포함해야 한다. 모피어스 데이터, 플렉세라 클라우드 매니지먼트 플랫폼, BMC 멀티클라우드 매니지먼트 등이 대표적이며, 이외에도 다양한 솔루션이 있다.
효과적인 멀티클라우드 관리의 핵심은 여러 클라우드 환경을 마치 하나의 클라우드처럼 운영할 수 있도록 중앙집중형 가시성과 통제권을 확보하는 것이다. 모든 클라우드에 걸쳐 거버넌스를 통합하고 일관된 보안 정책을 적용해야 한다.
물론, 말처럼 쉽지는 않다. 각 클라우드 서비스 업체는 자체 도구, API, SLA를 제공하며, 이들 요소는 서로 잘 호환되지 않는다. 쿠버네티스나 AIOps 같은 기술로 강화된 중앙집중형 멀티클라우드 관리 플랫폼이 이런 차이를 추상화하는 데 도움을 준다. 이런 플랫폼은 IT팀이 단일 인터페이스에서 워크로드를 모니터링하고 보안 정책을 시행하며, 비용을 최적화하고 자동으로 시정 조치를 취할 수 있도록 지원한다.
데이터 이동, 지연시간, 상호운용성 문제는 멀티클라우드 관리의 주요 과제이며, 네트워크 관리 복잡성이 특히 큰 고민거리다. 공유 데이터베이스를 활용하면 데이터 전송을 최소화해 비용과 복잡성을 줄일 수 있지만, 그 자체로 관리 과제를 동반할 수 있다.
섀도우 IT와 멀티클라우드
멀티클라우드를 어떤 식으로 도입하든, 중요한 것은 계획이다. 하지만 현실은 그렇지 못한데, 많은 기업이 아무런 계획, 심지어는 인식도 없이 이미 멀티클라우드 환경이 되어 있곤 한다. 여기에는 개별 부서나 사업부가 IT 부서와 협의 없이 자체적으로 기술 서비스를 도입하는 섀도우 IT도 한몫한다.
클라우드 계정을 개설하는 것은 매우 쉽고 특별히 비싸지도 않으며, 많은 부서가 IT 부서의 절차가 생산성 저해 요인으로 여겨지면 그렇게 해 버린다. 예를 들어, IT 부서가 전사적으로 구글 클라우드를 도입해 스토리지와 파일 공유에 활용하고 있을 때, 법무 부서는 이미 수년간 드롭박스를 사용해 익숙해져 있고 이를 계속 사용하고 싶어하는 경우가 있다.
이런 문제를 피하려면 당근과 채찍이 필요하다. 각 부서가 클라우드 계정을 새로 만들 때 허용 가능한 범위를 정의하는 회사 차원의 클라우드 정책을 수립하고, 동시에 여러 부서의 요구를 경청해 이들이 선호하는 도구를 전체 클라우드 전략이나 멀티클라우드 전략에 통합할 방안을 모색해야 한다.
장기적으로는 모든 구성원이 협력하는 것이 멀티클라우드 성공의 열쇠다.
dl-itworldkorea@foundryco.com
Josh Fruhlinger editor@itworld.co.kr
저작권자 Foundry & ITWorld, 무단 전재 및 재배포 금지
