[아이티데일리] 2023 클라우드 컨퍼런스의 네 번째 발표는 맨텍의 이진현 OM사업본부 상무가 ‘쿠버네티스를 활용한 무한확장 가능한 웹서비스 구축 전략’을 주제로 진행했다. 이진현 상무는 클라우드 네이티브를 구성하는 MSA, 데브옵스, 쿠버네티스를 활용해 대규모의 웹서비스를 구축하는 방법에 대해 소개했다. 이진현 상무에 따르면, 웹 서비스는 분산시스템, 클라이언트-서버 아키텍처, 웹 브라우저 인터페이스, HTTP 프로토콜, 동적 콘텐츠 제공, 보안 취약, 높은 확장성 등의 특징이 있다.

이진현 상무는 대규모 웹 서비스를 구축하기 위해선 △개방성 △호환성 △민첩성 등 3가지 요건이 필요하다고 강조했다. 개방성과 호환성을 확보하기 위해서는 오픈소스 기반의 컨테이너 플랫폼을 채택해야 한다. 기존 상용 WAS나 웹 솔루션을 이용해 애플리케이션을 배포하고 확장할 경우 비용과 라이선스가 문제될 수 있다. 또한 분산된 마이크로서비스를 원하는 클라우드 및 인프라에 배포하기 위해선 종속성을 탈피해야 한다. 오픈소스 기반 컨테이너 플랫폼 환경으로 구성하면 특정 벤더에 종속되지 않고 비용도 절감할 수 있다.

장 상무는 민첩성을 확보하기 위해 데브옵스 체계를 구현해야 한다는 점을 강조했다. 최근 웹 서비스를 비롯해 애플리케이션의 배포주기가 짧아지고 있다. 어떤 기업은 하루에 수 천번, 수 만번을 배포하기도 한다. 이처럼 민첩한 환경을 마련하기 위해 신속한 배포와 롤백, MSA로의 전환이 필요하다. 또한 배포·확장·부하분산·장애처리·네트워킹을 자동화해 민첩성을 높일 수 있다.

이진현 상무는 이 같은 일련의 구축에 필요한 요건을 쿠버네티스가 모두 갖고 있다고 설명했다. 이진현 상무는 쿠버네티스로 대규모 웹 서비스를 구축해야 하는 이유로 비즈니스 경쟁력을 확보하기 위한 속도를 얻을 수 있다는 점과 서비스 무중단을 통해 경쟁력을 유지할 수 있다는 점, 즉시 확장 가능한 환경을 제공할 수 있다는 점 등을 들었다.

맨텍 이진현 OM사업본부 상무
맨텍 이진현 OM사업본부 상무

구체적으로 쿠버네티스를 활용해 웹 서비스를 구현하기 위해 필요한 구성 요소로 다수의 클라우드와 클러스터 및 로드에 유입되는 트래픽을 분산하는 ‘로드 밸런서’, 노드에서 컨테이너화된 애플리케이션을 배포·운영 자동화하는 ‘K8S클러스터’, 깃이나 SVN 등 ‘소스 저장소’, 컨테이너 이미지들이 저장되는 ‘코드 저장소’, 컨테이너 이미지가 저장되고 애플리케이션의 영구 볼륨을 제공하는 ‘스토리지’, 다중 클러스터와 노드, 애플리케이션을 감시하는 ‘모니터링’과 중앙집중형으로 로그를 관리하는 관리 ‘로깅’ 등을 들 수 있다. 또한 보안성을 강화하기 위한 데브섹옵스 프로세스도 마련해야 한다. 이와 관련, 이 상무는 “애플리케이션을 빌드하기 전 소스 취약점을 검사하는 작업과 배포하기 전 컨테이너 보안 취약점을 검사하는 작업 등이 필요하며 해당 검사 과정을 CI/CD 파이프라인에 적용해 자동화할 수 있는 프로세스를 만들어야 한다”고 조언했다.

웹 서비스를 무중단으로 배포하기 위해서는 롤링업데이트, 카나리배포, AB배포 중 배포 전략을 선택해야 한다. 이에 대해 이 상무는 버전1(V1)과 버전2(V2)를 예로 들며 “롤링업데이트는 처음 V1 서비스 3개를 로드밸런서로 배포했다면 이후에는 V1 서비스는 2개를 배포하고 V2를 1개만 배포한다. 이후 안정적이면 V1의 개수를 줄이고 V2를 늘리는 형태의 배포하는 방식이다. 카나리배포는 개수가 아닌 퍼센트를 65%:35% 비중으로 로드밸런서를 구분한 후 배포한다. 이후 안정적이면 0%:100%을로 배포한다. 마지막으로 AB 배포는 하루는 A로 로드밸런서를 집중시켜 배포하고 다음날은 B로 집중시켜 배포하는 방식이다. 이후 반응을 보고 A로 배포할지 B로 배포할지 선택한다”고 설명했다.

저작권자 © 아이티데일리 무단전재 및 재배포 금지