-
[삼성SDS] 멀티클라우드의 장점과 고려사항study/technical study 2024. 1. 10. 23:00
https://www.samsungsds.com/kr/insights/multicloud_pros.html
위 글을 기반으로 작성했습니다.
(원문 : https://www.itworld.co.kr/techlibrary/294589)
기업이 두 곳 이상의 클라우드 서비스를 활용할 때 멀티클라우드 방식을 사용한다고 한다.
ex) 생산성 앱으로 마이크로소프트 365, 스토리지 용도로 구글 드라이브, 컴퓨팅 서비스를 위해 AWS를 사용하는 방식
스토리지 같은 단일 목적으로 여러 클라우드 서비스업체를 선택하는 경우도 있다.
퍼블릭 클라우드 서비스는 매우 저렴하고 도입하는 과정이 간편해 IT를 엄격하게 통제하지 않는 기업의 경우 의도치 않게 멀티클라우드 상황이 되기도 한다.
멀티클라우드의 장점
- 유연성 : 대부분의 클라우드 서비스업체는 토털 클라우드 솔루션을 표방하지만 사실은 서비스마다 장단점 존재. 따라서 클라우드를 여러 가지 용도로 사용한다면 단일 업체와 계약하는 것은 바람직하지 않을 수 있음. ex)분석 기능을 위해 마이크로소프트 애저 클라우드를 사용하면서 알렉사 스킬 애플리케이션을 개발하는 용도로는 AWS를 사용할 수 있음. 이론적으로는 업체 중립적으로 개발된 워크로드라 해도 클라우드 플랫폼에 따라 성능 차이 있을 수 있음.
- 근접성 및 네트워크 성능 : 클라우드 개념만 생각하면 서버가 물리적 현실에 속박되지 않는 '먼 어딘가'에 있는 것으로 생각하기 쉽지만, 실제론 특정 클라우드 서비스업체가 다른 업체보다 사용자나 기업으로부터 물리적으로 더 가까우면, 지연이 더 낮은 네트워크로 연결해 서비스를 제공할 수 있음. 일반적인 작업이라면 차이가 크진 않겠지만, 높은 성능이 필요한 미션 크리티컬 작업이라면 물리적으로 가까운 곳에 있는 업체의 서비스를 이용하는 것이 유리함.
- 여러 바구니에 계란을 나누어 담기 : 사용 중인 클라우드 서비스에서 긴 시간 동안 대규모 장애가 발생하면 이를 사용하는 비즈니스가 심각한 타격을 입을 수 있음. 주요 대형 클라우드 서비스업체를 이용하면 거의 이런 일 일어나지 않지만, 중소업체 서비스라면 발생 가능성 있음. 대형업체라 해도 사용의 불편함, 성능 저하, 예기치 못한 요금 등의 문제로 어려움 겪을 가능성 있음. 이때 여러 업체의 서비스를 사용하면 인프라 전체를 갈아엎지 않고도 문제가 되는 업체와의 관계를 비교적 쉽게 정리 가능.
이밖에 멀티클라우드는 어느 클라우드 서비스업체가 어떤 워크로드에 가장 적합한지 판단하는 좋은 방법이다. 또한 계약이 만료되거나 새 클라우드 서비스를 추가할 때 대안을 갖고 있는 것이 협상 전략으로도 유리하다.
멀티클라우드의 어려움
- 복잡성 : 멀티클라우드의 가장 큰 문제. 단일 업체의 클라우드만 이용하면 부가적인 작업이나 직접적인 재설계 없이 더 많은 클라우드 리소스를 간편하게 운용 가능. 반면 다른 업체의 서비스를 추가해 사용하면 두 클라우드의 원활한 상호작용을 위해 부가적인 노력 필요. 이러한 노력의 난이도는 성가신 정도부터 불가능한 수준까지 다양. 이런 간극을 메운 이후에도 남는 문제는 관리 부담 문제. ex)데이터 보호와 개인정보 보호를 더 신경 써야 하고, 여러 업체에 대한 클라우드 사용량과 관련 비용도 계속해서 추적해야함.
- 네트워크 대역폭 : 많은 클라우드 서비스업체가 자사 클라우드로 데이터를 가져오거나 클라우드 내에서 데이터를 이동하는 작업은 쉽고 저렴하게 제공하면서, 데이터를 자사 밖으로 내보낼 떄는 높은 요금은 부과. 따라서 워크플로우에 따라 여러 클라우드 서비스업체 간에 대용량 파일을 송수신해야 한다면 예상보다 큰 비용 발생 가능.
- 상호운용성 : 현실의 상용 클라우드 서비스는 단순히 추상화된 범용 화이트박스 서버X. 각각 장점과 결점이 있고 복잡한 애플리케이션은 특정 클라우드 환경에 따라 어느 정도 맞춤 구성해야 함. 즉, 한 업체에 맞춰 개발한 코드를 다른 클라우드 서비스업체로 곧바로 옮길 수 X.
- 기술 격차 : 여러 클라우드 서비스에 걸친 이식성을 보장하지 않는 것은 코드만이 아님. 프로그래머와 관리자 역시 각자 선호하거나 적어도 더 익숙한 클라우드 플랫폼이 있음. 물론 새로운 기술을 배울 수 있지만 여러 플랫폼 사이를 오가는 경우 IT팀이 그만큼 교육받아야 하고, 바로 투입 가능한 신규 인력을 채용하기도 더 어려움.
멀티클라우드의 보안 대처 방법
멀티클라우드에서 특히 주의가 필요한 것은 보안이다. 멀티클라우드 환경이 크고 복잡한 공격 표면과 같아서 모든 클라우드 서비스는 공격자에게 취약점을 노출할 위험이 있다. 인터넷을 거쳐 클라우드와 온프레미스 시스템 간에 데이터가 오가고, 기업의 직접적 통제 아래에 있지 않은 클라우드 플랫폼에 이런 데이터를 저장해 작업해야 하기 때문이다.
결과적으로 복수의 퍼블릭 클라우드 서비스를 사용하는 것은 더 많은 네트워크 연결을 보호해야 함을 의미.
대부분 클라우드 플랫폼에는 보안 툴이 있지만, 각 업체의 툴이 서로 호환된다는 보장X.
→ 결국 모든 사용자가 항상 보안 모범 사례를 따르고, 서비스를 시작하기 전에 포괄적인 데이터 거버넌스 정책을 마련하며, 가능한 모든 툴을 사용해 멀티클라우드 인프라에 대한 완전한 시야를 확보해야 함.
멀티클라우드 설계 시 고려사항
멀티클라우드 아키텍처를 설계할 때 가장 중요한 것
- 최대한 다양한 퍼블릭 클라우드로 이식할 수 있는 공통 기술 스택과 개발 툴체인을 구축하는 것.
이를 위해 일반적으로 모든 퍼블릭 클라우드 서비스에 이식할 수 있는 오픈소스 소프트웨어 패키지를 사용하고, 개별 기업의 요구사항에 적합한 가장 보편적인 '기본' 버전의 툴을 선택하는 것이 좋다.
→ 이와 같은 단순함을 통해 이식성 극대화
또한 전체 인프라의 정책을 최대한 통합해야 한다.
이를 위해서는 플랫폼의 API와 상호작용할 수 있는 프론트엔드 코드를 작성해 특정 플랫폼의 특정 구현으로부터 정책을 추상화하는 것이 좋다. 단, 주의해야 할 것은 모든 퍼블릭 클라우드에 걸쳐 API를 통해 조작할 수 있는 공통 기능 집합을 사용할지에 대한 판단이다. 이런 API를 이용하면 많은 경우 사용자는 특정 시점에 자신이 사용하는 클라우드 플랫폼이 무엇인지 알 필요가 없으므로 관리가 한결 더 쉬워진다. 반면 애초에 멀티클라우드 환경을 도입하는 이유였던 각 클라우드의 고유 기능을 활용할 수 없게 되는 단점이 있다.
마치며
이번 기술스터디 주제는 내가 클라우드에 대한 지식이 많이 부족한 것 같아서 멀티클라우드에 대한 내용으로 선정해 보았는데, 알아야 할 내용이 많은 것 같아 다음번 기술스터디도 클라우드를 주제로 해야겠다. 멀티클라우드에서 특히나 주의가 필요한 것이 보안이라고 하는데 기회가 되면 클라우드 보안도 공부하고 싶다.
'study > technical study' 카테고리의 다른 글
[CIO Korea] 강은성의 보안 아키텍트 | 정보보안 사고 대응과 정보보안 위기 대응 (0) 2024.01.30 [Theori] 최신 클라우드 서비스 제공업체(CSP) 취약점 동향과 보안 대응(2022 ~ 2023년) (1) 2024.01.21 [IT WORLD] "어떤 고리가 끊어졌나…" 사례로 보는 소프트웨어 공급망 공격 유형 6가지 (1) 2024.01.09 [CIO Korea] 칼럼 | 디셉션 기술 확산에 기여하는 4가지 IT 트렌드 (0) 2023.11.24 [삼성SDS] 생성형 AI 모델과 대화하는 프롬프트 엔지니어링(Prompt Engineering) (1) 2023.11.18 - 유연성 : 대부분의 클라우드 서비스업체는 토털 클라우드 솔루션을 표방하지만 사실은 서비스마다 장단점 존재. 따라서 클라우드를 여러 가지 용도로 사용한다면 단일 업체와 계약하는 것은 바람직하지 않을 수 있음. ex)분석 기능을 위해 마이크로소프트 애저 클라우드를 사용하면서 알렉사 스킬 애플리케이션을 개발하는 용도로는 AWS를 사용할 수 있음. 이론적으로는 업체 중립적으로 개발된 워크로드라 해도 클라우드 플랫폼에 따라 성능 차이 있을 수 있음.