컨텐츠 바로가기

11.08 (금)

성공적인 쿠버네티스 마이그레이션을 위해 기억해야 할 8계명

댓글 첫 댓글을 작성해보세요
주소복사가 완료되었습니다
컨테이너 오케스트레이션으로 전환하는 기업이 증가하고 있다. 제대로 하는 경우도 있고, 그렇지 못한 경우도 있다. 쿠버네티스로 마이그레이션하는 팀을 위한 8가지 팁을 소개한다.
ITWorld

ⓒ Getty Images Bank

<이미지를 클릭하시면 크게 보실 수 있습니다>



컨테이너화된 워크로드와 서비스의 배포 및 관리를 자동화하기 위한 오픈소스 오케스트레이션 플랫폼인 쿠버네티스의 인기가 계속 높아지고 있다. 전 세계 기여자 커뮤니티에 의해 유지되는 이 플랫폼은 리소스 효율성 증대, 확장성 개선, 높은 가용성을 비롯한 여러 잠재적 이점을 제공한다.

포레스터 리서치의 수석 애널리스트 리 서스타는 “워크로드 대부분이 앞으로도 한동안 VM에서 실행될 가능성이 있지만 지난 몇 년 동안 쿠버네티스 및 관련 클라우드 네이티브 기술은 엔터프라이즈 IT의 기준점이 됐다”라고 말했다.

서스타는 “그 이유는 쿠버네티스가 컨테이너 기반 애플리케이션의 오케스트레이션을 대규모로 가능하게 해주는 동시에 인프라 리소스 사용 효율성을 대폭 높여준다는 데 있다. VM을 쿠버네티스에서 실행할 수 있게 해주는 큐브버트(KubeVirt)와 같은 새로운 기술이 프로덕션에 적용되고 있으며, VM웨어 가격 인상에 대한 고객의 우려도 대안을 찾아 나서게 하는 요인”이라고 말했다.

기술과 관련된 모든 것이 그렇듯이 쿠버네티스 배포와 사용에도 올바른 방법과 그렇지 않은 방법이 있다. 쿠버네티스로 성공적인 결과를 얻기 위해서는 어떻게 해야 할까? 여러 전문가들에게 방법을 물었고, 그 답을 여기에 공유한다.

쿠버네티스로 성공하기 위한 8가지 핵심 요소

  1. 천천히
  2. 오픈소스 프로젝트에 참여
  3. 다른 사용자와 교류
  4. 교육과 협업에 투자
  5. 퍼블릭 클라우드 솔루션 사용
  6. 코드형 인프라 채택
  7. 관찰가능성 구축
  8. 생성형 AI 활용

천천히

많은 기업이 서둘러서 광범위한 기술 구현을 추진하곤 한다. 하지만 철저한 전략, 적절한 도입 이유 없이 무작정 전진하면 실패로 이어질 수 있다.

클라우드 네이티브 컴퓨팅 보급에 앞장서는 조직이며 쿠버네티스 상표권을 소유한 클라우드 네이티브 컴퓨팅 파운데이션(Cloud Native Computing Foundation, CNSF)의 선임 기술 프로그램 관리자 밥 킬런은 “서두르면 안 된다. 작게 시작해서 반복하고 사람들에게 학습할 시간을 줘야 한다”라고 말했다.

킬런은 “많은 기업이 서둘러 쿠버네티스로 마이그레이션하거나 클라우드 네이티브 툴과 관행을 도입하지만 이를 제대로 하기 위해 필요한 시간, 실험, 업스킬링을 과소평가한다”라고 설명했다.

테스트 애플리케이션 또는 비핵심 애플리케이션을 사용해서 점진적인 접근 방식을 취하는 것이 좋다. 킬런은 “이 방식으로 애플리케이션과 클러스터 수명 주기의 여러 측면과 도입 이후의 운영에 대해 살펴볼 수 있다”라고 덧붙였다.

기업은 테스트, 실험, 학습 단계를 통합해서 클라우드 네이티브 컴퓨팅 환경을 평가하고 요구사항을 충족하는 최적의 툴과 워크플로우를 찾을 수 있다. 킬런은 “라이브 서비스가 구동되는 프로덕션 클러스터의 컨테이너 네트워크 제공업체를 바꿔야 하는 상황은 누구도 원하지 않을 것”이라고 언급했다.

오픈소스 프로젝트에 참여

기업은 오픈소스 쿠버네티스 프로젝트에 참여하면 기업의 자체 프로젝트에 영향을 미칠 수 있는 향후 문제를 더 잘 파악하고 대처할 수 있다.

킬런은 “쿠버네티스 또는 다른 클라우드 네이티브 프로젝트와 같은 스택의 중요한 부분에 오픈소스가 포함된 경우 업스트림 프로젝트에 참여함으로써 그러한 프로젝트 사용에 따르는 위험을 직접적으로 줄일 수 있다”라고 설명했다.

킬런은 “꼭 규모가 크게 참여할 필요는 없다. 코드를 커밋해야만 신뢰받는 기여자가 되는 것은 아니다. 코드 외에도 기회는 많다. 중요한 것은 참여하고 신뢰를 구축하는 것이다. 이 무형적 가치를 과소평가해서는 안 된다. 사용에 따르는 위험을 줄이고 프로젝트에서 내 문제가 우선 고려된다는 두 가지 측면에서 큰 자산이 될 수 있다”라고 강조했다.

프로젝트에 참여해 인정받게 되면 기업 환경에 영향을 미칠 수 있는 기능 폐지나 변경 사항에 대한 단서를 얻고 대중에 공개되기 전에 정보를 얻을 수 있다. 킬런은 실제로 시장의 동요를 유발하는 문제는 1년 이상 내부 논의를 거친다고 언급했다.

다른 사용자와 교류

프로젝트 참여와 같은 맥락에서, 기업은 사용자가 쿠버네티스를 경험한 다른 사용자와 정보를 공유하도록 독려해야 한다.

킬런은 “팀에 학습할 시간을 주는 것과 관련해서 다른 사용자와 교류하도록 독려하면 조직에 큰 이익이 될 수 있다. 비슷한 것을 배포한 다른 사용자와의 대화는 전체 클라우드 네이티브 스택 구축에 따르는 선택의 어려움이나 함정을 빠르게 극복하는 데 도움이 될 수 있다”라고 설명했다.

CNCF는 클라우드 네이티브 툴에 대한 조직 간 소통을 지원하기 위한 최종 사용자 커뮤니티를 운영한다. 예를 들어 CNCF가 주최하는 쿠버네티스 커뮤니티 데이는 오픈소스 및 클라우드 네이티브 커뮤니티의 기술자와 도입한 사람들이 교육과 협업, 교류를 위해 모이는 이벤트다.

킬런은 “다른 사람과 만날 수 있는 이러한 기회를 무시하면 안 된다. 내가 하는 일과 비슷한 일을 이미 해봤고 기꺼이 팁을 줄 사람을 만날 가능성이 높다”고 덧붙였다.

교육과 협업에 투자

IT 서비스 및 컨설팅 업체 로버스트 클라우드(Robust Cloud)의 수석 컨설턴트 래리 카발로는 대부분 기업이 쿠버네티스 시대 이전의 기술에 초점을 맞춘 스킬셋을 보유하고 있다고 말했다.

카발로는 “이를 감안하면 가장 큰 과제는 컨테이너, 포드, 서비스 및 배포를 포함한 쿠버네티스의 기본에 대한 팀의 이해”라고 덧붙였다. 쿠버네티스를 성공적으로 도입하기 위해서는 교육과 협업을 포함한 새로운 조직 문화가 필요하다.

카발로는 “데브옵스 원칙을 채택하고 개발과 운영 사이의 사일로를 허물어 협업과 책임의 공유를 강화해야 한다. 개발과 운영 및 보안 팀 전반에 걸쳐 기술을 구축하려면 교차 교육과 워크숍, 실습이 필요하다”라고 조언했다.

개방적인 의사소통은 쿠버네티스 환경의 본질적인 특징인 빠른 변화와 복잡성에 적응하는 데 도움이 된다. 예를 들어 정기적인 “점심 시간 학습” 세션 또는 쿠버네티스 스터디 그룹에 참여하는 팀을 구성할 수 있다. 카발로는 “피드백 루프는 팀이 실패로부터 배우고 지속적으로 프로세스를 개선할 수 있는 지원 환경을 촉진한다”라고 덧붙였다.

퍼블릭 클라우드 솔루션 사용

서스타는 “지금 쿠버네티스를 시작하는 기업은 조기 도입자가 구축해 놓은 베스트 프랙티스와 퍼블릭 클라우드 및 멀티 클라우드 컨테이너 플랫폼 쿠버네티스 솔루션의 혁신이 주는 혜택을 이용할 수 있다”라고 말했다.

서스타는 퍼블릭 클라우드 업체가 제공하는 관리형 쿠버네티스 제어 평면 서비스는 업그레이드 부담을 덜어줄 수 있다면서 “대형 퍼블릭 클라우드 서비스 업체가 이 제어 평면 위에 자동화를 제공하는 경우도 증가하고 있다”라고 언급했다.

예를 들어 AWS는 AWS 클라우드와 온프레미스 데이터 센터에서 시스템을 실행하기 위한 매니지드 서비스인 일래스틱 쿠버네티스 서비스를 제공한다. 마이크로소프트가 제공하는 매니지드 서비스인 애저 쿠버네티스 서비스도 기업에서 컨테이너화된 애플리케이션을 배포하고 관리하는 데 사용할 수 있다. 구글 클라우드 역시 기업에서 구글 인프라를 사용해 대규모로 컨테이너화된 애플리케이션을 배포 및 운영하는 데 활용할 수 있는 매니지드 서비스인 구글 쿠버네티스 엔진을 제공한다.

서스타는 클라우드 업체가 제공하는 매니지드 자동화 서비스를 운영하는 데 중점을 둘지, 아니면 목표를 달성하기 위해 자체 쿠버네티스 스택을 구축해야 할지 여부를 조기에 결정해야 한다고 강조했다.

서스타는 “즉, 쿠버네티스를 최대한 단순하게 유지해야 하지만 필요한 곳에서는 복잡성에 대처해야 한다. 일반적으로 회복탄력성과 통합이 과제가 된다. 쿠버네티스 스택이 사전 구축된 스택이든 자체 개발한 스택이든 플랫폼팀은 개발자를 위해 이를 최적화해야 한다”라고 말했다.

코드형 인프라 채택

IaC(infrastructure as code), 즉 코드형 인프라는 수동 프로세스와 설정이 아닌 코드를 사용해서 컴퓨팅 인프라를 프로비저닝하고 지원하는 기능이다. 비즈니스 애플리케이션을 실행하기 위해서는 IT 기업이 설정하고 유지해야 하는 운영체제, 데이터베이스, 스토리지 시스템과 같은 인프라 구성요소가 필요하다. IaC를 사용하면 인프라 관리를 자동화할 수 있다.

카발로는 “쿠버네티스 환경은 복잡하며 많은 경우 여러 클러스터와 노드 및 구성이 포함된다. 복잡성에 대한 최선의 대처 방법은 수동 프로세스가 아닌 자동화를 사용하여 인프라를 프로비저닝하고 관리하는 것”이라고 말했다.

테라폼(Terraform), 앤서블(Ansible), 헬름(Helm)과 같은 툴을 사용하면 선언적으로 인프라를 정의할 수 있다. 카발로는 이런 툴을 통해 빠르게 환경을 복제하고 변경 사항을 롤백하고 효율적으로 애플리케이션을 확장할 수 있다면서 “IaC는 버전 제어되고 애플리케이션 코드처럼 검토가 가능하므로 개발팀과 운영팀이 협업할 수 있다”라고 덧붙였다.

관찰가능성 구축

쿠버네티스는 한 번 설정하면 끝나는 종류의 솔루션이 아니다. 목표가 달성되고 있는지 모니터링을 통해 확인해야 한다. 이 부분에서 관찰가능성 툴이 사용된다. 쿠버네티스 관찰가능성은 클라우드 네이티브 환경에서 쿠버네티스 클러스터의 성능과 동작을 모니터링하고 분석할 수 있는 기능을 제공한다.

카발로는 "까다로울 수도 있는 쿠버네티스 문제를 적절한 모니터링과 로깅을 통해 쉽게 해결할 수 있다. 쿠버네티스 클러스터, 애플리케이션, 인프라에서 메트릭, 로그, 트레이스를 수집하는 툴은 초기에 병목 지점을 찾고 오류를 파악하는 데 도움이 된다”라고 설명했다.

예를 들어 기업은 메트릭 수집과 시각화를 위해 그라파나(Grafana)에서 지원하는 프로메테우스(Prometheus)와 같은 오픈소스 모니터링 툴을 활용할 수 있다. 카발로는 “많은 기업이 예거(Jaeger)를 사용한 분산 트레이스를 도입하는 동안 일래스틱서치(Elasticsearch), 키바나(Kibana)와 같은 중앙 로깅 솔루션을 사용한다. 이런 인사이트는 IT팀이 시간을 절약하고 효율성을 개선하는 데 도움이 된다”라고 언급했다.

생성형 AI 활용

데이터 분석 및 컨설팅 업체 글로벌 데이터(Global Data)의 연구 책임자인 샬럿 던랩은 더욱 포괄적인 운영 모니터링 서비스를 위해 관찰가능성 플랫폼이 생성형 AI 기술과 결합되는 경우가 늘고 있다고 말했다.

던랩은 “AI와 생성형 AI가 쿠버네티스 롤아웃에서 중요한 역할을 할 것이다. 생성형 AI는 초기에는 마이크로소프트 파워 오토메이트(Power Automate), 레드햇 앤서블 라이트스피트(Ansible Lightspeed)와 같은 지능형 자동화 및 보안 플랫폼을 통해 IT 운영 및 개발자에게 제공될 것”이라고 강조했다.

또한 던랩은 많은 사이버보안 솔루션 업체가 클라우드 보안 태세 및 공격 경로 분석을 강화하는 수단으로 생성형 AI를 활용하게 될 것이라고 덧붙였다.
editor@itworld.co.kr

Bob Violino editor@itworld.co.kr
저작권자 한국IDG & ITWorld, 무단 전재 및 재배포 금지
기사가 속한 카테고리는 언론사가 분류합니다.
언론사는 한 기사를 두 개 이상의 카테고리로 분류할 수 있습니다.