brunch

You can make anything
by writing

C.S.Lewis

by 플래티어 PLATEER Dec 27. 2022

멀티 클라우드 전환 시대,
효율적인 운영·관리 도구는?

코로나19로 시장 환경이 변화하면서 국내 다양한 산업계에서 전례 없는 속도로 디지털 전환(Digital Transformation, DX)을 가속화하고 있습니다. 

많은 기업들이 데브옵스(DevOps), 데브섹옵스(DevSecOps), 마이크로 서비스 아키텍처(MSA), 쿠버네티스(Kubernetes) 등 여러 신기술과 개념을 도입하고 있고, 지속적 통합/지속적 배포(CI/CD) 및 자동화에 대한 관심도 높습니다.


이 중 가장 눈에 띄는 움직임이 바로 ‘클라우드’로의 전환입니다. 대부분의 기업에서 디지털 전환은 새로운 비즈니스 및 고객 가치를 사회 전반에 보다 빠르고 대규모로 제공하는 것을 의미하기 때문에 비용 최적화보다는 ‘속도 최적화’를 지향하고 있습니다. 그런 의미에서 클라우드는 온디맨드(On-demand) 서비스를 빠르게 구축할 수 있는 기회를 제공하므로 많은 기업에서 필수적으로 고려하는 요소가 되었습니다.


또한 사내 여러 조직이 퍼블릭 클라우드를 통해 독자적인 IT 인프라를 구축하거나 조직간 인수합병 등이 이뤄지면서, IT 부서에서 독점하던 인프라 운영은 개별 현업 부서로 넘어가고 부서별로 서로 다른 클라우드를 사용하는 ‘멀티 클라우드’ 환경에 놓이게 되었습니다. 이는 플렉세라(Flexera)의 연례 보고서에서 더 자세히 알 수 있는데요.


플렉세라가 지난 3월 발행한 2022 클라우드 현황 보고서(State of the Cloud Report)에 따르면, 응답자의 89%가 멀티 클라우드를 활용하며, 이 중 80%는 전용 프라이빗 클라우드와 퍼블릭 클라우드를 동시에 활용하는 하이브리드 클라우드 전략을 구사하는 것으로 확인되었습니다. (Flexera, 2022)* 다시 말해 대부분의 기업이 두 개 이상의 클라우드를 활용하며 멀티 클라우드 활용의 가장 보편적인 형태는 하이브리드 클라우드라는 것입니다.


* 플렉세라는 전세계 753명의 기술 및 사업 담당 전문가를 통해 클라우드 활용 현황에 대해 설문조사하였고 조사 대상 기업 규모는 임직원 수 1만 명 이상의 대기업부터 100명 이하의 소기업까지 다양함.


2022년 기업들의 클라우드 전략 (출처=Flexera 2022 State of the Cloud)


이처럼 많은 기업들이 클라우드를 채택하는 이유는 바로 ‘비용’과 ‘보안’이 이전보다 합리적이고 안전한 수준에 이르렀으며, 실용성이 뛰어나기 때문입니다.


즉, 클라우드를 활용할 경우 막대한 서버 비용과 관련 인건비를 지불하지 않아도 합리적인 가격에 최고 수준의 네트워크 기술력을 확보할 수 있고 이에 따라 쓸데없는 자원 낭비 없이 본업에만 집중할 수 있도록 도와줍니다.


그리고 이전과 달리 최근 클라우드 서비스 업체는 클라우드의 제로 트러스트(Zero Trust)** 네트워크 환경을 접근 정책을 통해 제어함으로써 온프레미스(On-premise)***와 큰 차이가 없을 정도의 강화된 보안을 자랑하고 있습니다. 뿐만 아니라 변화하는 외부 환경에 유연하게 대응할 수 있다는 것도 클라우드의 장점입니다.


** 제로 트러스트 : IT 보안 접근 방식을 의미함. 네트워크 접근 주체가 외부인이거나 내부 직원이더라도 기본적으로 신뢰하지 않으며, 어느 누구도 신뢰하지 않기 때문에 신뢰를 부여하기 위해 먼저 검증을 받아야 한다고 가정함.

*** 온프레미스 : 소프트웨어를 서버에 직접 설치해 쓰는 방식


그러나 기업이 클라우드 환경으로 서비스를 구축하고 운영하는 과정에서 여러 가지 고려해야 할 부분들이 있는데요. 개발 환경 구성 시간이 단축되고 서비스가 다양해지면서 이를 운영하는 인프라 환경이 복잡하게 변했으며, 특히나 멀티 클라우드 도입 시 각 클라우드 서비스에 대한 깊은 지식과 운영 인력이 필요합니다. 그러나 담당자의 퇴사 등으로 인력 공백이 생기면 이에 유연하게 대응하기 어렵게 되죠.


또한 클라우드 시스템은 제로 트러스트 네트워크 기반으로 이루어져 내부 네트워크를 믿을 수 없다고 가정하며, 서비스간 통신은 단순히 내부 네트워크를 내부에서 보낸 요청으로만 생각하기 때문에 신뢰하지 않습니다. 이에 클라우드를 구성하는 서비스는 모든 요청에 대해 암호화(Encryption), 인증(Authentication) 및 권한 부여(Authorization)를 진행해야 하죠.


이에 기업들은 기술, 관리, 인력 측면에서의 애로사항을 최소화하면서 디지털 전환의 장점은 극대화할 수 있는 클라우드 전략을 수립해야 할 필요가 있습니다.


그렇다면 디지털 전환 과정에서 멀티 클라우드의 운영 및 관리를 어떻게 효율적으로 할 수 있을까요?


먼저 어떠한 클라우드 서비스 업체에도 종속되지 않고 자동으로 인프라 관리·배포 작업을 할 수 있는 기술 확보가 필요한데요. 이러한 기술이 바로 ‘코드형 인프라(Infrastructure as Code, IaC)’입니다. 


IaC는 수동 작업 대신 코드를 통해 인프라를 운영하는 것인데, 서비스와 관계없이 사용할 수 있는 개발 언어를 이용해 서버 사양을 정의한 설정 파일을 만들어 멀티 클라우드 환경에서 원하는 인프라를 쉽게 구성하고 편집 및 배포할 수 있도록 도와줍니다.


뿐만 아니라, IaC는 데브옵스 환경과 만났을 때 그 가치가 더욱 발현됩니다. 데브옵스는 IT 서비스를 기획·개발·테스트·배포·운영하는 전 과정을 효율화하는 데 목적을 둔 소프트웨어 개발 방법론인데요. IaC를 도입하면 모든 단순, 반복 작업을 코드로 표준화하고 정의할 수 있기 때문에 담당자가 코드를 실행, 안정적인 배포와 서비스 구성이 가능하여 데브옵스를 고도화할 수 있습니다.


디지털 플랫폼 솔루션 전문기업 ‘플래티어’는 멀티 클라우드 운영 및 관리의 어려움을 해결하고 클라우드 전체를 효율화하기 위한 방안으로 ‘하시코프(HashiCorp)’ 솔루션 4가지를 제안하고자 합니다.



하시코프 로고 (출처=HashiCorp)



먼저 IaC를 쉽고 효과적으로 구축할 수 있는 도구인 ‘테라폼(Terraform)’은 인프라를 코드화하여 프로비저닝하고 관리하려는 모든 사람을 위한 배포 기술입니다. 인프라는 주로 클라우드 기반 인프라를 말하지만, API (응용 프로그래밍 인터페이스)를 통해 제어할 수 있는 모든 것이 기술적으로 인프라에 해당하며, 인프라를 코드화하면 수동으로 수행되던 프로세스를 자동화할 수 있게 됩니다.


테라폼의 기본 원칙은 사람이 읽을 수 있는 구성 코드를 작성하여 인프라를 정의할 수 있다는 것으로, 테라폼의 구성 코드를 사용하면 퍼블릭, 프라이빗 및 하이브리드 클라우드 공급업체에 반복적으로 일관된 환경을 배포할 수 있게 됩니다.


또한 테라폼을 사용하면 특정 클라우드 공급업체에 얽매이지 않기 때문에 클라우드 공급업체를 변경할 때마다 완전히 새로운 기술을 배울 필요가 없어 클라우드에 구애받지 않으며, 외부 API와 통신하도록 설계된 테라폼용 플러그인을 통해 IaC를 구현할 수 있습니다.


이뿐 아니라 테라폼의 기본 인터페이스는 선언적(Declarative) 프로그래밍 언어를 사용합니다. 선언적이란 How가 아니라 What에 집중하는 방식인데요. 즉, 인프라가 어떤 것(What)인지만을 설명하고, 이 외의 작업들(How)은 플러그인 내부에서 처리하여 IaC 코드의 가독성이나 재사용성이 좋고 오류가 적은 코드를 만들 수 있습니다.


절차적 접근과 선언형 접근의 차이점 (출처=플래티어)


또 다른 테라폼의 장점으로는 ‘멱등성(Idempotency·연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질)’을 지원한다는 것인데요. 배포된 인프라 상태를 관리하고 이를 기반으로 인프라를 배포하기 때문에 어떤 부분에 변경이 일어나는지 배포 전 확인이 가능하며, 이전 부분과 차이가 나는 부분만 배포되기 때문에 굉장히 효율적으로 인프라를 배포하게 됩니다. 만약 멀티 클라우드 환경에서 대규모로 서버를 운영하는 기업이라면 변경 관리 작업 시간을 획기적으로 줄일 수 있겠죠.


하시코프 테라폼 (출처=HashiCorp)


이 밖에 하시코프는 보안 데이터 관리 및 자동화 툴인 ‘볼트(Vault)’와 서비스 네트워크 관리 도구인 ‘컨설(Consul)’, 애플리케이션 스케줄링을 담당하는 ‘노마드(Nomad)’도 함께 제공함으로써 멀티 클라우드 운영·관리에 특화된 강력한 솔루션으로 자리잡았습니다.


앞서 클라우드의 특징이 제로 트러스트 네트워크 기반이며 서비스는 모든 요청에 대해 암호화, 인증, 권한 확인 및 부여를 해야 한다고 하였습니다. 문제는 클라우드는 인프라 레벨을 코드로 구현한 것이기 때문에 서비스 레벨에서의 암호화, 인증, 권한 확인은 사용자가 해야 한다는 것입니다.


이러한 측면에서 ‘볼트(Vault)’는 멀티 클라우드에서 ‘시크릿 정보’를 암호화, 인증, 권한을 부여하여 통합 관리하는데 유용합니다. 시크릿 정보란 기업의 인프라 관리 작업에 필요한 수많은 보안 데이터, 예를 들어 SSH 키, 클라우드 접속 정보, 데이터베이스 암호 등을 일컫는데요. 보안을 위해 시크릿 정보는 주기적으로 변경해야 하는데, 변동된 시크릿 정보를 시스템에 제대로 업데이트하지 않으면 시스템 간 연결이 끊어지는 사고가 발생하기도 합니다.


현재 일부 클라우드 서비스 업체에서는 볼트와 유사한 툴을 제공하고 있으나, 자사 서비스에서만 사용 가능하여 멀티 클라우드 환경에서 특정 서비스에 종속되지 않고 자동으로 시크릿 정보를 통합 관리할 수 있는 툴은 볼트가 거의 유일합니다.


하시코프 볼트의 연결 가능한 구성 요소 (출처=HashiCorp)


다음으로 ‘컨설(Consul)’은 서비스 간의 통신을 관리하는 도구입니다. 컨설은 클라우드 컴퓨팅과 서비스 지향 아키텍처(마이크로 서비스의 전신)가 주류를 이루면서 단일 서비스를 분산 서비스로 전환하고, 장애를 처리하기 위해 시작되었습니다.


컨설은 이를 지원하기 위해 DNS(Domain Name System) 기반 서비스 검색과 장애 감지 시스템을 결합하여 서비스를 컨설에 등록하고, 다른 서비스가 컨설 DNS를 통해 다른 서비스로 라우팅할 수 있도록 지원하였습니다. 이때 서비스를 구성하는 노드나 서비스가 다운되면 컨설이 이를 자동 감지하여 DNS에서 제거함으로써 장애 처리를 돕는 구조로 시작되었습니다.


이후 시간이 지남에 따라 서비스 지향 아키텍처가 점점 더 커졌고 이것이 도커와 쿠버네티스와 같은 컨테이너 오케스트레이션 도구를 사용하는 방식의 마이크로 서비스 아키텍처로 변경되었고, 이런 기반 환경은 컨테이너 오케스트레이션 상태에서의 서비스의 보안, 관측, 신뢰성, 트래픽 제어와 같은 더 많은 네트워킹 기능이 필요로 하게 되었습니다.


이런 기능을 기존 서비스에 이식하는 경우 중복 작업과 에러를 생성할 확률이 높고, 비즈니스 로직에 잡다한 코드가 뒤섞일 수 있기 때문에 단일 컨트롤 플레인에서 워크로드의 네트워크 통신을 제어할 수 있는 인프라 계층인 ‘서비스 메시(Service Mesh)’를 고려하게 되었습니다.


서비스 메시는 네트워크 통신을 수행하는 모든 항목에 유입되고 나가는 트래픽을 제어하는 인프라 요소로, 예를 들어 서비스 메시는 규칙에 따라 수신 트래픽을 허용하지 않거나 발신 트래픽을 암호화할 수 있고 서비스에 들어오고 나가는 모든 트래픽을 완벽하게 제어해야 합니다.


이런 측면에서 컨설은 서비스 간 통신 전반에 걸쳐 보안을 향상시키고 관측 가능성, 안정성, 및 트래픽 제어 기능을 갖춘 완전한 기능의 서비스 메시 도구로 각광받고 있습니다.


컨설은 이스티오(Istio), 링커드(Linkerd) 같은 제품과 유사한 서비스 메시 기능을 제공하지만, 해당 제품들과 달리 컨테이너 오케스트레이션 도구 외부에 설치할 수 있습니다. 또 DNS 서비스 검색 솔루션을 통해 외부 솔루션을 서비스로 관리할 수 있으며 웹 UI를 통해 서비스 메시와 서비스의 상태를 손쉽게 확인 가능하고, Key/Value 저장소를 제공하는 등 엔터프라이즈 환경에서 통합 서비스 관리를 할 수 있도록 합니다.


이와 같은 기능을 통해 컨설은 제로 트러스트 네트워크 기반에서 서비스간 모든 통신에 대해 암호화하며 서비스들을 관측하고, 통신할 수 있는 서비스와 허용되는 요청 유형에 대한 규칙을 부여할 수도 있으며 디도스와 같은 공격에 일부 대응할 수 있도록 지원합니다.


마지막으로 ‘노마드(Nomad)’는 컨테이너 오케스트레이션 도구의 기능을 제공하고, 다른 도구에 비해 기존 레거시 애플리케이션을 컨테이너처럼 취급하며 컨테이너화 되지 않은 애플리케이션을 배포, 관리, 확장할 수 있습니다. 노마드는 현재 시중에서 많이 사용되는 컨테이너 오케스트레이션 도구인 ‘쿠버네티스’ 대비 설치가 단순하고 유연한 워크로드를 지원하며, 간단한 운영과 뛰어난 확장성으로 5,000개의 노드와 300,000개의 컨테이너 실행 환경에서도 문제없이 동작합니다.


이처럼 하시코프 솔루션은 테라폼을 통해 인프라를 코드로 관리하고, 보호가 필요한 정보는 볼트로 보안을 강화하며, 컨설을 통해 서비스간 네트워크 연결 및 노마드로 모든 애플리케이션을 배포·관리할 수 있는 최적의 멀티 클라우드 운영·관리 도구입니다.


하시코프의 다양한 솔루션 (출처=플래티어)



하시코프에 대한 더 많은 정보가 궁금하다면? (클릭)





[참고문헌]


◎ 김대웅, <2022 플래티어 인사이트 리포트 Vol.1_디지털 전환 시대, 보안 패러다임의 변화와 대응>, 플래티어, 2022.2.22


◎ <Flexera 2022 State of the Cloud Report>, Flexera, 2022.3.10


◎ 이은주, <”코드형 인프라와 데브옵스의 결합” 멀티 클라우드 운영·관리의 새로운 도약>, IDG, 2022.2.28


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari