멀티 클라우드 환경이 빠르게 도입되고 있습니다. HashiCorp에서 발행한 보고서에 따르면 62%의 기업이 멀티 클라우드 컴퓨팅 전략을 채택했으며, Flexera의 보고서 1에서는 응답자의 80%이상이 한개 이상의 클라우드를 사용한다고 답했습니다. 보고서별로 수치는 다르지만, 대부분의 기업이 클라우드의 활용에 있어 하나 이상의 클라우드를 사용하고 있는 것으로 조사되었습니다. 2
점점 더 많은 기업이 2개 이상의 클라우드, 즉 멀티 클라우드 환경에서 애플리케이션을 운영하고 있습니다. 문제는 멀티 클라우드 환경의 도입은 비용, 안정성, 재해복구 등 많은 추가적인 고려사항이 발생한다는 점입니다.
멀티 클라우드 환경은 기업의 비즈니스 목표에 맞춰 퍼블릭, 프라이빗 클라우드 등 다양한 형태로 구성됩니다. 점점 더 많은 기업이 하나 이상의 퍼블릭 클라우드 벤더를 사용하고 있거나, 심지어 온프레미스 인프라와 통합된 하이브리드 환경을 사용하고 있습니다. 기업들은 하이브리드 멀티 클라우드 환경을 통해 비용, 성능, 보안 등을 달성하고자 합니다.
애자일, 데브옵스가 적용된 멀티 클라우드 아키텍처로의 전환은 필연적으로 쿠버네티스의 사용 증가를 야기합니다. 쿠버네티스는 하이브리드, 멀티 클라우드 컨테이너 관리에 매우 적합하며, 어떤 환경에서나 컨테이너를 오케스트레이션 할 수 있는 공통 아키텍처와 프레임워크를 제공하는 장점이 있습니다. 또한 클라우드 사용 여부와 관계없는 쉬운 배포, 유연성, 효율성, 확장성 역시 쿠버네티스의 장점으로 꼽히며 멀티 클라우드의 혜택을 가장 잘 활용할 수 있는 도구로 인식되고 있습니다.
멀티 클라우드의 혜택
멀티 클라우드를 채택하는 이유는 다양합니다. HashiCorp의 보고서에 따르면 보안, 확장성, 가용성 및 비용이 멀티 클라우드 채택의 가장 많은 이유였습니다. 응답자 90% 이상이 사내에 확고한 클라우드 전략을 보유하는 것이 비즈니스의 목표를 달성하는데 도움이 되었다고 답하였습니다.
멀티 클라우드는 사용자에게 확장성과 유연성 뿐만 아니라 보안, 비용, 기술 및 성능 등 필요한 요소에 맞게 클라우드를 선택할 수 있는 자유를 제공합니다. 조직은 필요에 따라 애자일하게 앱, 서비스, 인프라를 하나의 클라우드에서 다른 클라우드로 전환할 수 있습니다. 또, 멀티 클라우드 전략은 워크로드를 각 클라우드 환경에 맞춰 최적화하고 결과적으로 효율성 제고와 비용 절감의 일거 양득 효과를 볼 수 있습니다.
기술 성숙도가 올라갈수록 더 많은 기업이 멀티 클라우드와 하이브리드 클라우드 환경의 혜택을 누리고 있습니다. 멀티 클라우드 인프라를 통해 사용율, 예산, 리스크를 분산하여 비즈니스 결과를 극대화할 수 있습니다.
멀티 클라우드의 장점:
- 더 높은 가용성으로 재해 복구를 개선합니다. 앱이 한개 이상의 클라우드 환경에서 운영되면 ‘Single point of failure’의 위험이 현저하게 감소합니다. 앱이 동시에 다운될 확률이 매우 적어지며 트래픽이 서로 다른 클라우드 사이에서 분산될 수 있습니다. 이는 재해복구에 대응하는 좋은 방법이 될 수 있습니다.
- 멀티 레이어 보안이 적용되어 보안이 전반적으로 개선됩니다. 기업은 멀티 클라우드 전략을 통해 클라우드의 데이터에 대한 보안을 강화할 수 있습니다. 보안을 위해 데이터 암호화, 견고한 테넌시 및 액세스 분리, 최소 특권 원칙 및 제로트러스트 보안 모델 등 다양한 계층의 보안을 적용할 수 있습니다.
- 다양한 컴플라이언스 및 데이터 상주에 대한 요구사항을 충족할 수 있습니다. 하나 이상의 클라우드를 사용함으로써, 서로 다른 지역의 워크로드가 GDPR 혹은 기타 데이터 및 스토리지 컴플라이언스 요구사항을 충족할 수 있도록 관리할 수 있으며 각 클라우드 업체가 가진 CSP 강점과 약점에 맞춰 데이터 보호를 강화할 수 있습니다.
- 비용 최적화에 대한 유연성이 강화됩니다. 케이스 별로 가장 적절한 클라우드 서비스를 선택하여 비용을 절감할 수 있습니다. 기업은 애플리케이션과 서비스를 최적화에 맞춰 이관할 수 있습니다.
- 조직내의 다양한 운영 및 비즈니스 요구사항에 맞춰 클라우드를 선택할 수 있습니다. 예를 들어, A조직은 구글 클라우드 플랫폼을 사용하고 B조직은 아마존 웹서비스 혹은 마이크로소프트 애저를 사용하는 것이 더 효율적일 수 있습니다.
멀티 클라우드와 하이브리드 쿠버네티스의 비용 모니터링
멀티 클라우드 환경에서 비용을 모니터링하고 관리하는 것은 생각보다 복잡합니다. 쿠버네티스가 더해지면 복잡성은 더욱 증가하게 됩니다. 담당자는 비용이 어디서 발생하는 것인지 확인하기 쉽지 않고, 세분화된 비용을 팀, 제품, 비용-센터 혹은 프로젝트와 연관짓기는 더욱 어렵습니다. 멀티 클라우드 쿠버네티스의 비용 관리는 여러모로 단일 클라우드에 배포된 쿠버네티스를 관리하는 것보다 어렵습니다.
쿠버네티스를 여러개의 분산된 시스템과 환경에서 클라우드 비용을 추적하기 위해서는 특별한 도구를 통해 각각의 CSP의 차이를 파악할 수 있어야 합니다. 각 CSP의 비용은 상이할 수 있고, 담당 엔지니어링팀이 효과적으로 배포 및 자원을 관리하기 위해 필요한 기술과 자원에 차이가 있을 수 있습니다. 대부분의 경우에 애플리케이션은 다수의 컴퓨팅 서비스 상에서, 여러개의 퍼블릭 또는 프라이빗 환경에서 운영되기 때문에 수작업이나 엑셀 시트에서 이 모든 애플리케이션의 클라우드 비용을 산정하는 것은 불가능합니다.
워크로드를 멀티 클라우드에서 운영할 경우 매우 빠르게 비용이 증가할 수 있습니다. 워크로드가 확장될수록 비용에 대한 가시성을 확보하는 것이 점점 어려워집니다. 또한 워크로드의 자원은 시간이 지날수록 효율이 떨어지고, 결국 관리되지 않게 됩니다. 클라우드 비용은 매우 다양한 변수로 인해 순식간에 급상승합니다. 적절한 멀티 클라우드 쿠버네티스 비용 최적화 솔루션을 사용하지 않을 경우 이 비용을 절감하는데 많은 시간과 노력을 소요해야 합니다.
클라우드 비용을 자동으로 관리하고 모니터링하는 솔루션의 도입을 통해 멀티 클라우드 전략을 관리하는데 필요한 가시성을 확보할 수 있습니다. 쿠버네티스 비용 최적화는 멀티 클라우드 환경의 안정성과 신뢰성과 직결되는 문제로 절대 간과할 수 없습니다.
Kubecost를 통한 비용 관리
Kubecost는 쿠버네티스를 사용하는 팀과 엔지니어에게 실시간 비용 가시성과 인사이트를 제공합니다. Kubecost는 모든 네이티브 쿠버네티스와 네임스페이스, 배포, 서비스 등에 대한 상세한 비용을 단일화된 시각으로 보여줍니다. 클러스터 내의 비용인 CPU, 메모리 비용에서부터 클러스터 외부 비용인 클라우드 인프라 서비스에 대한 완전한 비용까지 확인이 가능합니다. Kubecost는 주요 퍼블릭 클라우드를 모두 지원하며, 온프레미스 환경도 지원합니다. 또한 실시간 알림 기능과 최적화 인사이트를 제공합니다.
원문출처: Managing Kubernetes Costs in a Multi-Cloud Environment
참고링크: