'오픈인프라서밋'으로 확인한 카카오클라우드의 고가용성·이중화 전략

남시현 sh@itdonga.com

[IT동아 남시현 기자] 지난 십수 년 간 IT 인프라는 물리적으로 직접 서버를 구축하는 온프레미스(On-premise)에서 클라우드 환경으로 급격히 이동했다. 초기에는 안전하고 잘 관리되는 클라우드 서비스가 ‘중단되지 않는 무결한 시스템’으로 인식되기도 했지만 최근 몇 년새 발생한 여러 사건들은 클라우드가 완전히 무결한 체계가 아님을 보여준다.

지난해 국가정보자원관리원에서 발생한 사고는 공공 행정 시스템 709개 중 대다수를 마비시킨 사건은 대한민국 국민 모두가 체감한 바 있다. 특히 모든 공공 데이터를 이중화 전략 없이 단일 서버에 저장한 탓에 국가 전체 IT 인프라가 마비되는 일을 겪었다.

지난해 10월 아마존웹서비스(AWS)의 동부 리전(US-East-1)에서 발생한 대규모 장애 역시 비슷한 맥락이다. AWS의 데이터베이스를 자동 관리하는 다이나모 DB에서 인터넷 연결 주소인 DNS를 연결하는 과정에서 오류가 발생해 맥도날드나 스타벅스같은 소매는 물론 증권거래소, 은행 등 금융 서비스까지 장애를 겪었다. 이로부터 열흘 후 마이크로소프트 애저 클라우드도 직원이 설정값을 잘못 입력해 소매 및 항공 서비스가 마비되기도 했다.


지난 10월 17일, 프랑스 파리에서 열린 오픈인프라서밋에서 카카오엔터프라이즈 소속 직원들이 세션을 진행한 바 있다 / 출처=카카오엔터프라이즈
지난 10월 17일, 프랑스 파리에서 열린 오픈인프라서밋에서 카카오엔터프라이즈 소속 직원들이 세션을 진행한 바 있다 / 출처=카카오엔터프라이즈

이런 사건들을 통해 클라우드는 더 이상 무결한 서비스가 아니며, 중단 방지를 위한 관리 방안과 운영 전략이 수반되어야 한다는 인식이 확산하고 있다. 업계에서는 시스템이 중단 없이 오랜 기간 안정적으로 운영되는 고가용성(High Availability), 그리고 중요한 데이터와 시스템을 여러 곳으로 분산해 데이터를 안정적으로 활용하는 이중화(Redundancy)에 초점을 맞추고 전략을 구상 중이다.

카카오엔터프라이즈의 고가용성·이중화 전략은?

일련의 사건들을 겪으면서 전 세계 클라우드 기업 소속 인프라 엔지니어, 개발자들은 서버의 안정성과 신뢰도를 끌어올리기 위한 기술적 해법을 모색하고 있다. 지난해 10월 파리에서 열린 오픈인프라서밋은 그 해답을 찾기 위한 구심점이 되는 자리였다. 오픈인프라서밋은 오픈인프라 재단이 주최하는 세계적인 오픈소스 콘퍼런스로 지난 10월 17일에서 19일 사이 개최됐다. 주요 논점은 회복 탄력성, AI 인프라였으며 카카오엔터프라이즈는 IT 인프라를 주제로 발표를 진행했다.


김유하 카카오엔터프라이즈 어드밴스드플랫폼 개발팀 매니저(좌)와 허지현 매니저(우) / 출처=카카오엔터프라이즈
김유하 카카오엔터프라이즈 어드밴스드플랫폼 개발팀 매니저(좌)와 허지현 매니저(우) / 출처=카카오엔터프라이즈

허지현 카카오엔터프라이즈 어드밴스드플랫폼 개발팀 매니저, 김유하 매니저의 발표명은 ‘퍼블릭 클라우드 환경 제공을 위한 오픈스택 기반 관리형 쿠버네티스 서비스 아키텍처 설계(Architecting a Managed Kubernetes Service on OpenStack for Public Cloud Delivery)’이었다. 카카오엔터프라이즈의 클라우드 고가용성, 이중화 전략을 담고 있다.

허지현 매니저는 “이번 발표는 카카오엔터프라이즈가 클라우드 서비스 제공자(CSP) 시장의 후발 주자로서 다른 글로벌 CSP의 사례를 연구하고 다른 기업들이 어떻게 관리형 격리 서비스를 구축하는지 분석했는지를 담는다. 카카오엔터프라이즈는 조사를 바탕으로 사용자가 접근할 수 없는 컨트롤 플레인이 적용된 완전 관리형 쿠버네티스 엔진을 구축했다. 현재는 멀티-AZ(가용영역)를 기반으로 클러스터를 운영 중”이라며 발표를 시작했다.


쿠버네티스의 전체적인 아키텍처를 시각화한 형태, 카카오엔터프라이즈는 API 서버, 스케줄러, 컨트롤 매니저, etcd가 포함된 ‘컨트롤 플레인’ 영역을 직접 관리하는 방식으로 서버 안정성을 높였고, 상태 데이터를 저장하는 etcd는 물리적으로 분산 배치해 복원력을 확보했다 / 출처=도커
쿠버네티스의 전체적인 아키텍처를 시각화한 형태, 카카오엔터프라이즈는 API 서버, 스케줄러, 컨트롤 매니저, etcd가 포함된 ‘컨트롤 플레인’ 영역을 직접 관리하는 방식으로 서버 안정성을 높였고, 상태 데이터를 저장하는 etcd는 물리적으로 분산 배치해 복원력을 확보했다 / 출처=도커

개발자가 클라우드 상에서 애플리케이션 등을 실행할 때 필요한 모든 자료와 설정 등을 하나로 표준화한 형태를 ‘컨테이너’라고 한다. 클라우드 상에는 이런 컨테이너가 수백 개 이상 배치돼 있으며 이를 통제하는 중앙 관제 시스템이 ‘쿠버네티스’다. 쿠버네티스 내에는 핵심 명령을 내리는 ‘컨트롤 플레인(마스터 노드)’ 영역이 있는데 사용자 실수나 관리의 어려움을 고려해 카카오엔터프라이즈가 직접 컨트롤 플레인 영역에 대한 운영을 맡는다.

모든 리소스는 다양한 환경에서도 동일하게 배포하고 관리할 수 있도록 컨테이너로 구성하고, 데이터센터 내 쿠버네티스 클러스터와 오픈스택 인프라는 독자적으로 구성한 ‘링제로 클러스터’ 계층 형태로 관리한다. 또한 클러스터 구축도 표준화된 클러스터 API를 활용한다.


카카오엔터프라이즈는 클러스터-API 영역을 직접 개량해 서버 안정성을 높였다 / 출처=오픈인프라재단
카카오엔터프라이즈는 클러스터-API 영역을 직접 개량해 서버 안정성을 높였다 / 출처=오픈인프라재단

클러스터 API 로직의 경우 카카오엔터프라이즈가 자체적으로 개량한 버전이고, 쿠버네티스 엔진 서비스에서도 자동화 절차를 적용한 개량된 컨트롤러를 활용한다. 아울러 컨트롤 플레인 영역이 워커 노드 영역과 독립적으로 실행되도록 구성하고 컨트롤 플레인 내부에서 클러스터 운영에 필요한 요소들(static pod)은 컨테이너 레벨에서 격리하여 숨긴다.

또한 데이터센터의 모든 상태 정보를 저장하는 메모리에 해당하는 etcd를 노드 내부가 아닌 별도의 가상머신으로 분리해서 구성한다. 덕분에 가용영역 단위의 손실이 발생하더라도 다른 서버에 저장된 etcd를 다시 가져와 서비스 연속성을 보장한다.


상태 데이터를 포함한 메모리에 해당하는 etcd와 컨트롤 플레인 머신을 물리적으로 분산 배치해 서버가 연속적으로 운용되는 고가용성을 크게 높였다  / 출처=오픈인프라재단
상태 데이터를 포함한 메모리에 해당하는 etcd와 컨트롤 플레인 머신을 물리적으로 분산 배치해 서버가 연속적으로 운용되는 고가용성을 크게 높였다 / 출처=오픈인프라재단

카카오엔터프라이즈는 가상 사설 클라우드와 온프레미스 네트워크를 상호 연결하는 ‘TGW(Transit Gateway)’ 서비스를 활용해 데이터센터 간 네트워크 초지연 통신 환경을 구현했다. 화재 등으로 인해 한 곳이 멈추더라도 다른 데이터센터에 분산 배치된 컨트롤 플레인과 데이터가 서비스 연속성을 제공한다. 데이터센터 규모가 커질 경우에 컨트롤 플레인과 etcd 사양을 다르게 구성하거나 카카오엔터프라이즈만의 특화된 네트워크 및 보안 설정을 적용할 수 있다.


카카오엔터프라이즈(카카오클라우드)는 장애 발생시에도 가능한 안전하게 서비스를 운영할 수 있는 방안에 초점을 맞추고 있다 / 출처=카카오엔터프라이즈
카카오엔터프라이즈(카카오클라우드)는 장애 발생시에도 가능한 안전하게 서비스를 운영할 수 있는 방안에 초점을 맞추고 있다 / 출처=카카오엔터프라이즈

허지현 매니저가 말하는 핵심은 “카카오클라우드의 쿠버네티스 엔진에서 중요한 설계 원칙들 중 하나는 클라우드 안정성을 확보하기 위해 모든 리소스를 가용영역(AZ) 단위로 분산 배치해 멀티AZ를 구현하는 것”이다. 특정 가용영역에 장애가 발생하더라도 활성 상태를 유지하는 다른 가용 영역으로 데이터를 즉시 사용 가능하도록 가져와 서버가 다운되는 시간을 짧게 가져간다.

정리해보자면 카카오엔터프라이즈의 전략은 ▲ 데이터센터를 다각적으로 나눠 데이터와 서비스를 안전하고 연속성 있게 가져가는 점 ▲ 컨트롤 플레인을 최종 사용자가 아닌 카카오엔터프라이즈가 관리해 안전하게 서비스할 수 있는 점 두 가지로 분류할 수 있다. 대규모 장애 발생으로 인한 손실을 크게 줄일 수 있는 점, 또 서버가 다운되는 시간을 최소화하는 고가용성 측면에서도 분명한 이점이 있다.

고가용성과 안정적 서비스가 2026년 클라우드 산업의 핵심

데이터센터의 신뢰성은 ‘9의 개수’로 정의한다. 가용성 비율이 99.9%인 서버는 연간 관리 시 8.77시간 이내의 다운타임을 가지고, 99.99%인 서버는 52.6분만 허용된다. 전 세계 데이터센터 시장 중 60% 정도가 99.98% 수준이지만 현실은 그렇지 않다. 초고가용성 서버를 운용하는 글로벌 클라우드 서비스 제공자들 조차도 단순한 코드 에러나 정전 등으로 인해 문제가 발생한다는 것이 여러차례 입증됐다.

앞으로 클라우드 사업자들은 가시적인 장애나 운용 시간을 준수하는 것을 넘어 다각적으로 발생할 수 있는 문제를 준비해야 한다. 자동화 수준을 높이고 아키텍처를 최적화하고, 투입 비용보다 신뢰성을 더 우선시하는 전략을 취하고 있다. 클라우드의 문제는 어떤 한 사업자만의 문제가 아닌 사회인프라 전반에 영향을 입힌다. 더 안전한 IT 시대를 만들기 위해 클라우드 인프라 개발자들은 꾸준히 고민하고 있다.

IT동아 남시현 기자 (sh@itdonga.com)

IT동아의 모든 콘텐츠(기사)는 Creative commons 저작자표시-비영리-변경금지 라이선스에 따라 이용할 수 있습니다.
의견은 IT동아(게임동아) 페이스북에서 덧글 또는 메신저로 남겨주세요.