국내 최초 서버리스 컨테이너 서비스 kt cloud container (1편)
효율성과 안정성 모두를 갖춘 국내 최초서버리스 컨테이너 서비스
kt cloud container (1편)
안녕하세요. 새로운 일상을 만들어가는 kt cloud 입니다.
오늘은 클라우드 환경에서 없어서는 안되는 기술, 컨테이너에 대해 알아볼게요.
우선 VM(Virtual Machine)의 한계를 극복하기 위해 탄생한 컨테이너의 등장배경부터 알아볼까요?
컨테이너 등장배경
사진에 보이는 것처럼 해외선박으로 수출 할 때 컨테이너를 사용하게 되는데요.
컨테이너 등장 전에는 트럭에 물건들을 하나하나 배에 옮겨주었다면
컨테이너 등장 이후에는 트럭이 가져온 컨테이너 박스 그대로 배에 싣게 되면서
운반 용량의 증대
비용 절감
등의 긍정적 효과를 얻어, 컨테이너 방식은 해운산업 운송 형태에 혁명을 가져왔습니다.
소프트웨어 측면에서 컨테이너도 마찬가지의 의미와 효과가 있는데요.
애플리케이션에 대하여 표준 패키징하고 배포하는 형식을
컨테이너라고 말합니다.
기존에는 해당 애플리케이션이 정상 동작하기 위해 설치해야하는 라이브러리들을 하나씩 설치해야 됐다면
컨테이너를 사용하게 되면 '쉽게 배포하고 그동안의 들어가던 많은 수고가 덜어진다.'라고 말할 수 있습니다.
그럼 클라우드 환경에서 컨테이너란 무엇인지 더 자세히 알아보도록 하겠습니다.
클라우드 컴퓨팅과 컨테이너
클라우드 컴퓨팅에서 컨테이너란 VM(Virtual Machine)과는 달리 최소한의 모듈 가상화를 통해
가볍고 편리한 서비스를 의미합니다.
이해가 쉽도록 비교를 해보자면,
VM은 서비스의 버전별 배포를 할 때 VM별로 운영체제 (OS) 구성을 따로 하여
애플리케이션 배포가 무겁고 수 분의 가동 시간 요구 하는 등 다소 느린 단점이 있습니다.
반면, 컨테이너는 해당 애플리케이션 구동 운영체제(OS)가 파일로 패키징 되어
프로세스가 기동 되는 것처럼 배포하기 때문에 가볍고, 수 초 밖에 걸리지 않습니다.
속도 측면에서 굉장히 가볍고 빠르기 때문에
새로운 버전의 애플리케이션 배포 후 테스트를 할 때 더욱 빨리 진행할 수 있는 강점이 있습니다.
이 밖에도 컨테이너화를 하면 많은 이점들이 있습니다!
첫째, 업무 영역 분리
컨테이너화를 통해 OS영역은 추상화되어 관리의 포인트가 줄었기 때문에
개발자는 보다 애플리케이션 로직에 집중할 수 있게 되었고
IT부서는 배포 프로세스 및 관리에만 집중할 수 있는 업무 환경이 조성됩니다.
둘째, 이식성이 매우 좋음
컨테이너는 하드웨어 및 VM환경에 무관하게 배포 및 서비스 되기 때문에
대용 배터리나 퍼블릭 클라우드 환경에서 동작할 만큼
이식성이 매우 좋습니다.
셋째, 개발 속도를 더욱 빠르게!
컨테이너는 배포되는 속도가 굉장히 빠르기 때문에
지속적 배포 및 통합을 통해 개발 속도가 향상됩니다.
내용을 정리하자면 모든 기능을 가상화하여 서비스 생성 및 배포를 하는 VM(Virtual Machine)가상화와는 달리
컨테이너 서비스는 필요한 모듈만 가상화하여 작고 가볍게 컴퓨팅을 할 수 있도록 도와주는 역할을 합니다.
또한 모든 환경을 구분하여 구동하는 VM가상화와는 달리,
컨테이너 서비스는 개발/스테이지/운영 환경 구분 없이 컨테이너 이미지를 사용해
Application을 생성 및 실행할 수 있어 가볍고, 유연한 서비스를 운영/관리할 수 있습니다.
컨테이너 사용시 유의사항
이처럼 편리한 서비스이지만 조심해야할 부분이 있는데요.
컨테이너 서비스를 활용하게 되면 애플리케이션 구축 및 운영이 편리하고 유연하여
컨테이너가 순식간에 수 백, 수 천 개로 늘어나 컨테이너 엔진 운영 및 관리 비용을 지불해야 할 수 있습니다.
또한 너무 많은 컨테이너로 인해 운영에 어려움을 겪을 수 있는데요.
이러한 문제들을 해결하기 위해 탄생한 것이 컨테이너 오케스트레인션 툴(Container Orchestration Tool)입니다!
컨테이너 오케스트레인션 툴(Container Orchestration Tool)을 사용하게 되면
다수의 애플리케이션 컨테이너를 한 번에 관리함으로써 사용자의 편의성을 보장합니다.
전체 컨테이너 자동 관리, 장애 발생 시 자동 처리가 가능하며,
운영 중 가장 효율적인 방식으로 자동 리소스 관리 및 실행까지 가능하게 되는데요.
아래 이미지를 확인해 보시면 컨테이너 오케스트레인션 툴(Container Orchestration Tool)의
세부 장점 및 기능들을 확인하실 수 있습니다!
지금까지 컨테이너 기술에 대한 내용을 함께 확인해 보았는데요.
이처럼 컨테이너와 오케스트레이션 툴을 활용하게 된다면
빠르고, 가볍고, 효율적인 클라우드컴퓨팅을 경험하실 수 있습니다.
우리 kt cloud에서는 이렇게 편리한 Container Service를 고객 분들께 알리고
보다 효율적이고 안정적인 서비스를 제공하기 위해 쿠버네티스 기반으로
컨테이너 서비스를 개발하여 제공하고 있습니다.
바로 kt cloud의 FlyingCube 인데요!
FlyingCube
FlyingCube는 고객 분들의Application 구축 및 배포를
가속화하고 운영 및 관리의 효율을 극대화 하였습니다.
FlyingCube 상품 특장점
신속 확장성
-이미지 단위 패키징을 통한 빠른 배초 및 구동
-이미지만 관리/배포하여 운영 관리 용이
-단일 이미지로 여러 서버 확장 가능
운영 자동화 & 안정성
-통합 관리 툴을 운영 자동화 및 안정성 향상
Auto-Healing : 장애 시 자동 복구
Auto-Scaling : Traffic 급변화에 자동 대응
-자동 HA 구성 및 Traffic 분산
-Rolling Update로 단절 없는 배포
오픈소스 기반 기능 확장
-형상 관리/Pipeline 기반 CI/CD 환경 구현
-ISTIO 트래픽 제어를 통한 서비스 배포/ 운영 안정화
-기타 쿠버네티스 확장 오픈소스 프로젝트 적용
이상으로 다양한 장점이 있는 쿠버네티스 기반의 kt cloud Container Service,
'FlyingCube'에 대해 간략히 소개해드렸는데요.
FlyingCube를 활용한
kt cloud Container의 다양한 상품과 특장점에 대한 이야기는
다음편에 준비되어 있으니 기대해주세요!