loading...

멀티클라우드의 장점과 고려사항

멀티클라우드의 장점과 고려사항

이 글은 IDG의 아티클을 전재하여 제공합니다.
[원문보기] : https://www.itworld.co.kr/techlibrary/294589

기업이 두 곳 이상의 클라우드 서비스를 활용할 때 멀티클라우드 방식을 사용한다고 한다. 예를 들어, 생산성 앱으로 마이크로소프트 365, 스토리지 용도로 구글 드라이브, 컴퓨팅 서비스를 위해 AWS를 사용하는 식이다. 물론 스토리지 같은 단일 목적으로 여러 클라우드 서비스업체를 선택하는 경우도 있다. 또한 퍼블릭 클라우드 서비스는 매우 저렴하고 도입하는 과정이 간편해 IT를 엄격하게 통제하지 않는 기업의 경우 의도치 않게 멀티클라우드 상황이 되기도 한다.

멀티클라우드의 장점

멀티클라우드의 장점이라고 하면 언뜻 이해되지 않을 수 있다. 단일 업체의 서비스를 사용해 간소하게 유지하는 편이 더 낫지 않을까? 그러나 여러 업체로부터 클라우드 서비스를 조달하면 다음과 같은 이점이 있다.

• 유연성 : 대부분의 클라우드 서비스업체는 토털 클라우드 솔루션을 표방하지만 사실은 서비스마다 장단점이 있다. 따라서 클라우드를 여러 가지 용도로 사용한다면 단일 업체와 계약하는 것은 바람직하지 않을 수 있다. 예를 들어, 분석 기능을 위해 마이크로소프트 애저 클라우드를 사용하면서 알렉사 스킬 애플리케이션을 개발하는 용도로는 AWS를 사용할 수 있다. 이론적으로는 업체 중립적으로 개발된 워크로드라고 해도 클라우드 플랫폼에 따라 성능 차이가 있을 수 있다.

• 근접성 및 네트워크 성능 : 클라우드 개념만 생각하면 서버가 물리적 현실에 속박되지 않는 '먼 어딘가'에 있는 것으로 생각하기 쉽다. 그러나 실제로는 특정 클라우드 서비스업체가 다른 업체보다 사용자나 기업으로부터 물리적으로 더 가까우면, 지연이 더 낮은 네트워크로 연결해 서비스를 제공할 수 있다. 일반적인 작업이라면 이런 차이가 크지 않겠지만, 높은 성능이 필요한 미션 크리티컬 작업이라면 물리적으로 가까운 곳에 있는 업체의 서비스를 이용하는 것이 유리하다.

• 여러 바구니에 계란을 나누어 담기 : 사용 중인 클라우드 서비스에서 긴 시간 동안 대규모 장애가 발행한다면 이를 사용하는 비즈니스가 심각한 타격을 입을 수 있다. 주요 대형 클라우드 서비스업체를 이용하면 이런 일이 거의 일어나지 않지만, 중소업체 서비스라면 발생할 수 있다. 또한, 대형업체라 해도 사용의 불편함, 성능 저하, 예기치 못한 요금 등의 문제로 어려움을 겪을 수 있다. 이때 여러 업체의 서비스를 사용하면 인프라 전체를 갈아엎지 않고도 문제가 되는 업체와의 관계를 비교적 쉽게 정리할 수 있다.

이밖에 멀티클라우드는 어느 클라우드 서비스업체가 어떤 워크로드에 가장 적합한지 판단하는 좋은 방법이다. 또한 계약이 만료되거나 새 클라우드 서비스를 추가할 때 대안을 갖고 있는 것이 협상 전략으로도 유리하다.


멀티클라우드의 어려움

멀티클라우드 방식에는 다음과 같은 여러 가지 과제와 단점도 있다.

• 복잡성 : 멀티클라우드의 가장 큰 문제다. 단일 업체의 클라우드만 이용하면 부가적인 작업이나 직접적인 재설계 없이 더 많은 클라우드 리소스를 간편하게 운용할 수 있다. 반면 다른 업체의 서비스를 추가해 사용하면 두 클라우드의 원활한 상호 작용을 위해 부가적인 노력을 기울여야 한다. 이런 노력의 난이도는 '성가신' 정도부터 '불가능한' 수준까지 다양하다. 또한 이런 간극을 메운 이후에도 남는 문제가 있다. 바로 관리 부담이다. 예를 들어, 데이터 보호와 개인정보 보호를 더 신경 써야 하고, 여러 업체에 대한 클라우드 사용량과 관련 비용도 계속해서 추적해야 한다.

• 네트워크 대역폭 : 많은 클라우드 서비스업체가 자사 클라우드로 데이터를 가져오거나 클라우드 내에서 데이터를 이동하는 작업은 쉽고 저렴하게 제공하면서, 데이터를 자사 밖으로 내보낼 때는 높은 요금을 부과한다. 따라서 워크플로우에 따라 여러 클라우드 서비스업체 간에 대용량 파일을 송수신해야 한다면 비용이 예상보다 커질 수 있다.

• 상호운용성 : 현실의 상용 클라우드 서비스는 단순히 추상화된 범용 화이트박스 서버가 아니다. 각각 장점과 결점이 있고 복잡한 애플리케이션은 특정 클라우드 환경에 따라 어느 정도 맞춤 구성해야 한다. 즉, 한 업체에 맞춰 개발한 코드를 다른 클라우드 서비스업체로 곧바로 옮길 수는 없다.

• 기술 격차 : 여러 클라우드 서비스에 걸친 이식성을 보장하지 않는 것은 코드만이 아니다. 프로그래머와 관리자 역시 각자 선호하거나 적어도 더 익숙한 클라우드 플랫폼이 있다. 물론 새로운 기술을 배울 수 있지만 여러 플랫폼 사이를 오가는 경우 IT팀이 그만큼 교육받아야 하고, 바로 투입 가능한 신규 인력을 채용하기도 더 어렵다.

멀티클라우드의 보안 대처 방법

멀티클라우드에서 특히 주의가 필요한 것이 보안이다. 멀티클라우드 환경은 곧 크고 복잡한 공격 표면이어서, 모든 클라우드 서비스는 공격자에게 취약점을 노출할 위험이기도 하다. 인터넷을 거쳐 클라우드와 온프레미스 시스템 간에 데이터가 오가고, 기업의 직접적 통제 아래에 있지 않은 클라우드 플랫폼에 이런 데이터를 저장해 작업해야 하기 때문이다.

결과적으로 복수의 퍼블릭 클라우드 서비스를 사용한다는 것은 더 많은 네트워크 연결을 보호해야 함을 의미한다. 물론 대부분 클라우드 플랫폼에는 보안 툴이 있다. 하지만 각 업체의 툴이 서로 호환된다는 보장은 없다. 결국 모든 사용자가 항상 보안 모범 사례를 따르고, 서비스를 시작하기 전에 포괄적인 데이터 거버넌스 정책을 마련하며, 가능한 모든 툴을 사용해 멀티클라우드 인프라에 대한 완전한 시야를 확보해야 한다.

멀티클라우드 설계 시 고려사항

멀티클라우드 아키텍처를 설계할 때 가장 중요한 것은 최대한 다양한 퍼블릭 클라우드로 이식할 수 있는 공통 기술 스택과 개발 툴체인을 구축하는 것이다. 이를 위해서는 일반적으로 모든 퍼블릭 클라우드 서비스에 이식할 수 있는 오픈소스 소프트웨어 패키지를 사용하고, 개별 기업의 요구사항에 적합한 가장 보편적인 '기본' 버전의 툴을 선택하는 것이 좋다. 이런 단순함을 통해 이식성을 극대화할 수 있다.

또한 전체 인프라의 정책을 최대한 통합해야 한다. 이를 위해서는 플랫폼의 API와 상호작용할 수 있는 프론트엔드 코드를 작성해 특정 플랫폼의 특정 구현으로부터 정책을 추상화하는 것이 좋다. 단, 주의해야 할 것은 모든 퍼블릭 클라우드에 걸쳐 API를 통해 조작할 수 있는 공통 기능 집합을 사용할지에 대한 판단이다. 이런 API를 이용하면 많은 경우 사용자는 특정 시점에 자신이 사용하는 클라우드 플랫폼이 무엇인지 알 필요가 없으므로 관리가 한결 더 쉬워진다. 반면 애초에 멀티클라우드 환경을 도입하는 이유였던 각 클라우드의 고유 기능을 활용할 수 없게 되는 단점이 있다.


IDG logo

▶   해당 콘텐츠는 저작권법에 의하여 보호받는 저작물로 기고자에게 저작권이 있습니다.
▶   해당 콘텐츠는 사전 동의 없이 2차 가공 및 영리적인 이용을 금하고 있습니다.


이 글이 좋으셨다면 구독&좋아요

여러분의 “구독”과 “좋아요”는
저자에게 큰 힘이 됩니다.

subscribe

구독하기

subscribe

Josh Fruhlinger
Josh Fruhlinger IT 테크놀로지 전문가

Network World

공유하기