Skip to main content

카카오클라우드에서 GitOps로 DevOps 효율성 극대화하기

· 5 min read
GitOps

안녕하세요! 이번 글에서는 카카오클라우드에서 GitOps를 통해 개발 및 운영 환경을 개선하는 방법을 소개하려 합니다.

GitOps는 DevOps 원칙에 기반하여 Git 리포지토리를 단일 소스로 사용하여 모든 변경 사항을 추적하고, 이를 통해 선언적으로 인프라를 관리함으로써 인프라와 애플리케이션의 일관성을 유지하는 과정을 의미합니다. 인프라와 애플리케이션의 배포 및 관리를 자동화하고 효율성을 극대화하는 방식으로, GitOps는 클라우드 네이티브 환경이 확산됨에 따라 빠르게 변화하는 시장 요구 사항에 대응하는 핵심 방법 중 하나로 자리 잡고 있습니다.

실제 개발 환경에서의 GitOps는, Git 리포지토리를 단일 소스로 사용하여 인프라와 애플리케이션 배포를 관리하는 방법을 의미합니다. 인프라를 선언적으로 정의하고, Git을 통해 모든 변경 사항을 추적하며, 자동으로 배포합니다. 이러한 일련의 작업을 통해 Git에 저장된 코드가 실제 인프라 및 애플리케이션 상태와 동기화되도록 합니다.

GitOps를 구현해야 하는 이유

실제로 GitOps는 현대 소프트웨어 개발과 운영에서 폭넓은 여러 이점을 제공하고 있습니다. 먼저, 선언적 인프라를 통해 인프라의 원하는 상태를 코드로 정의할 수 있습니다. 예를 들어, 특정 서버의 설정을 코드로 작성해 두면 언제든지 그 설정을 동일하게 적용할 수 있어 인프라 관리의 일관성을 유지할 수 있습니다. 모든 구성 파일을 Git에 저장하여 변경 사항을 추적하고 버전 관리를 하는 버전 관리 원칙을 통해, 변경 이력을 쉽게 파악할 수 있으며, 문제가 발생했을 때 이전 상태로 되돌리기가 용이합니다. 자동화된 배포는 코드 변경이 승인되면 자동으로 인프라에 적용되도록 하여, CI/CD 파이프라인을 통해 변경 사항이 테스트되고 배포되므로 인프라 관리가 더 효율적입니다.

이러한 과정을 통해 GitOps는 코드로 정의된 인프라와 애플리케이션이 예측 가능하고 일관되게 배포할 수 있어 안정성과 신뢰성을 크게 향상합니다. 휴먼 에러를 최소화할 수 있으며, CI/CD 파이프라인을 통해 변경 사항이 신속하게 테스트되고 배포됨으로써 빠른 피드백 루프를 제공하여 문제를 빠르게 해결할 수 있게 됩니다. 또한, 운영 비용 절감 측면에서도, 자동화된 배포와 관리 기능을 통해 수작업을 줄이고 개발자가 실제 코드 작성에 집중할 수 있게 하여 효율성을 극대화할 수 있습니다.

GitOps를 구현하기 위해 필요한 리소스

GitOps를 구현하기 위해서는 몇 가지 중요한 리소스가 필요합니다.

  1. Git 저장소: 모든 인프라 코드를 저장하고 버전 관리를 할 수 있는 Git 저장소가 필요합니다. 가장 널리쓰이는 GitHub이나 GitLab, AWS CodeCommit 등이 대표적입니다.
  2. GitOps 배포 도구: 변경 사항을 자동으로 배포하고 인프라 및 애플리케이션 상태를 지속적으로 동기화할 수 있는 배포 도구가 필요합니다. 예를 들어, ArgoCD, Flux, Jenkins X, GitHub Actions 등을 사용할 수 있습니다.
  3. 쿠버네티스: GitOps는 주로 쿠버네티스와 같은 컨테이너 오케스트레이션 플랫폼에서 활용됩니다. 따라서 사전에 구축된 쿠버네티스 환경이 필요합니다.
  4. Container Registry: 컨테이너 이미지를 저장하고 배포할 수 있는 안전한 레지스트리가 필요합니다.

카카오클라우드에서의 GitOps 구현

카카오클라우드는 비용 효율적인 클라우드 인프라를 제공하여 고객들이 경제적으로 효율적인 방식으로 클라우드 리소스를 사용할 수 있습니다. 카카오클라우드의 관리형 서비스들은 자동화된 기능을 통해 운영 비용을 절감하고, 사용한 만큼만 지불하는 유연한 요금제를 통해 불필요한 비용을 최소화할 수 있게 지원합니다.

카카오클라우드에서는 GitOps 환경을 구현하기 위해 아래의 리소스를 활용할 수 있습니다.

  • Kubernetes Engine: 카카오클라우드는 관리형 쿠버네티스 서비스인 Kubernetes Engine 제공하여 쿠버네티스 클러스터의 배포와 관리를 쉽게 할 수 있도록 지원합니다. 높은 가용성과 확장성을 보장하여 인프라 운영의 부담을 덜고 개발에 집중할 수 있습니다. Kubernetes Engine이 제공하는 이점을 기반으로 GitOps 환경을 구축하여 쿠버네티스 리소스를 선언적으로 관리할 수 있게 하여, 변경 사항의 일관성을 유지하고 자동화된 배포를 통해 운영 효율성을 극대화할 수 있습니다.

  • Container Registry: 카카오클라우드는 안전하고 신뢰할 수 있는 Container Registry 서비스를 제공하여 컨테이너 이미지를 저장, 관리 및 배포할 수 있도록 지원합니다. Container Registry 서비스는 CI/CD 파이프라인과 원활하게 통합되어 자동화된 빌드, 테스트 및 배포를 가능하게 합니다.

GitOps 환경 구현을 위한 사용 예제

간단하게 가상의 회사 A카카오클라우드에서 GitOps를 어떻게 구축할 수 있는지를 예시로 설명해 보겠습니다. 회사 A는 GitHub를 사용하여 모든 인프라 구성과 애플리케이션 코드를 버전 관리하고, GitHub Actions를 통해 CI/CD 파이프라인을 구축했습니다.

회사 A의 GitOps 구축 과정

Step 1. 코드 커밋 및 자동 빌드

  • 회사 A의 개발팀은 새로운 기능 추가나 버그 수정을 할 때마다 GitHub에 코드를 커밋합니다.
  • GitHub Actions가 트리거되어 자동으로 코드를 빌드하고 테스트합니다.
  • 빌드가 성공하면 컨테이너 이미지를 생성하여 카카오클라우드의 Container Registry에 푸시합니다.

Step 2. 자동 배포 및 인프라 명세 업데이트

  • 파이프라인 도구를 이용하거나 직접 인프라 명세 리포지토리를 업데이트합니다.
  • 인프라 명세 리포지토리가 업데이트되면 GitOps 도구인 ArgoCD가 이를 감지합니다.
  • ArgoCD는 업데이트된 명세를 확인하고 쿠버네티스 클러스터에 변경 사항을 자동으로 배포합니다.

Step 3. 환경 반영

  • 개발 환경에 대한 명세가 업데이트되면 개발 환경에 배포가 진행됩니다.
  • 프로덕션 환경에 대한 명세가 업데이트되면 프로덕션 환경에 배포가 진행됩니다.

이러한 일련의 과정을 통해 회사 A는 개발 및 운영 프로세스를 효율적으로 관리할 수 있었으며, 배포 시간을 크게 단축하고 운영 비용을 절감할 수 있었는데요, 이 예시를 실제로 카카오클라우드에서 구현할 수 있는 자세한 방법을 확인하실 수 있습니다.

GitOps 환경 구성을 위한 튜토리얼

위에서 설명한 GitOps 환경 구성의 예제를, 카카오클라우드 기술 문서의 튜토리얼에서 자세히 확인해 볼 수 있습니다. 카카오클라우드 쿠버네티스 환경에서 GitOps 구축 튜토리얼에서는 관리형 쿠버네티스 서비스 Kubernetes EngineContainer Registry를 사용하여 GitOps 파이프라인을 설정하는 방법을 설명합니다.

gitops-overview 튜토리얼 구성도

마무리하며

앞서 설명한 것처럼, GitOps는 인프라와 애플리케이션의 배포 및 관리를 자동화하여 개발 및 운영 프로세스를 크게 개선할 수 있는 강력한 방식입니다. 물론, GitOps를 도입하는 과정에서 초기 설정과 학습 곡선이 있을 수 있습니다. 충분한 계획과 준비가 필요하며, 모든 팀원이 새로운 워크플로에 익숙해질 때까지 시간이 걸릴 수 있습니다. 따라서 상황에 맞게 GitOps를 도입하고, 필요한 도구와 프로세스를 최적화해 나가는 것이 좋습니다.

GitOps 파이프라인 튜토리얼과 같이 카카오클라우드의 서비스를 활용하여 자동화된 프로세스와 일관된 배포 관리를 통해 더 나은 개발 및 운영 환경을 구축할 수 있다는 것을 꼭 기억해 주세요. 이를 통해 여러분의 업무 생산성과 비용 절감을 직접 경험하시길 기대합니다.

카카오클라우드 영문 콘솔 지원 소식 (English console is now available!)

· 2 min read
Mia (정혜원)
Technical Contents Manager
KakaoCloud Releases English Console

안녕하세요? 카카오클라우드 사용자 여러분!

오늘 카카오클라우드 콘솔에 언어 설정 기능이 추가되면서, 영문 콘솔 서비스가 시작되었습니다! 이에 따라 기술 문서에 영문 가이드가 함께 제공됩니다.

사용자는 콘솔에 새로 추가된 언어 설정 탭을 통해, 한국어 및 영어, 브라우저 기본값 옵션 중 선택할 수 있습니다. 콘솔에서 언어를 선택하는 자세한 방법은 콘솔 언어 설정 가이드를 참고해 주세요. 기술 문서의 경우, 상단 메뉴의 언어 설정 탭을 통해 한국어, 영어 중 원하는 언어를 설정할 수 있습니다.

이번 개선 사항은 콘솔의 주요 화면과 서비스에 적용되었습니다. 대시 보드, 설정, BCS (Virtual Machine, Bare Metal Server, GPU) 서비스, VPC, Transit Gateway, IAM에 우선 적용되었으며, 향후 모든 부분에서 사용자들의 편의를 고려한 다국어 지원을 계획하고 있습니다.

카카오클라우드팀은 이번 영문 서비스를 통해 더 넓은 사용자층에 서비스를 제공할 수 있게 됨을 기쁘게 생각합니다. 앞으로도 사용자 여러분의 다양한 요구 사항을 충족 위해 최선을 다하겠습니다. 더 자세한 도움이 필요하신 경우, 헬프데스크로 문의주시기 바랍니다.

감사합니다!


Hello, KakaoCloud users!

Great news - we've just added a language setting feature to the KakaoCloud console, so now you can enjoy English support! That means our technical docs now come with English guides as well.

You can pick between Korean, English, or just go with your browser's default setting using the new language settings tab. Need help setting your language preference? Check out our Console Language Setting Guide for a step-by-step. And for our tech docs, you will be able to switch between Korean and English in the top menu.

These upgrades cover all the main screens and services in the console. We've started with the dashboard, settings, BCS (Virtual Machine, Bare Metal Server, GPU) service, VPC, Transit Gateway, IAM, and more. Plus, we're planning to roll out multilingual support across the board in the near future.

The KakaoCloud crew is stoked to reach even more users with this multilingual support. We are committed to meeting your diverse needs, so contact our Helpdesk if you need anything.

Thank you!

Kubeflow로 구현하는 MLOps 워크플로우

· 6 min read
Update Kubeflow


안녕하세요. 이 포스트에서는 머신러닝 운영의 핵심 플랫폼인 Kubeflow를 소개해드리려고 합니다.

Kubeflow는 머신러닝의 복잡성을 해소하고, 데이터 과학자 및 개발자가 보다 쉽게, 더 빠르게 머신러닝 모델을 개발하고 배포할 수 있도록 설계된 오픈 소스 프로젝트입니다. Kubeflow 공식 사이트에서 Kubeflow를 소개하는 첫 문장을 보면, "쿠버네티스(Kubernetes) 위에서 머신러닝을 위한 다양한 오픈 소스들을 종합적으로 관리하고 운영하는데 도움을 주는 프로젝트"라는 부분을 확인할 수 있습니다.

과거 Google이 내부적으로 사용하던 TensorFlow Extended(TFX)에서 출발한 Kubeflow는 현재 쿠버네티스 기반의 다양한 환경에서 머신러닝 워크플로우를 실행할 수 있는 가장 널리 알려진 엔드-투-엔드 솔루션으로 확장되었습니다.

Kubeflow의 가장 혁신적인 접근 방식 중 하나는 AutoML과 Kubeflow Pipelines의 통합입니다. 이를 통해 사용자는 모델의 훈련, 평가, 배포 단계를 자동화하고, 최적화할 수 있으며, 머신러닝 프로젝트의 반복 작업을 줄일 수 있습니다. 또한, Multi-tenant 지원을 강화하여, 여러 팀이 동일한 Kubeflow 인스턴스를 효과적으로 공유하며, 리소스를 격리할 수 있게 되었습니다. 카카오클라우드에서 제공하는 Kubeflow 서비스 또한 머신러닝 작업의 효율성을 극대화하고, 사용자가 쉽게 접근할 수 있도록 설계되었습니다.

이 포스팅에서는 Kubeflow의 주요 컴포넌트, 최신 기능, 그리고 카카오클라우드에서 Kubeflow를 활용하는 다양한 튜토리얼 시나리오를 소개해 드리도록 하겠습니다.

Kubeflow 특징

Kubeflow는 머신러닝 모델의 유연한 확장과 쉽고 편리한 상용 배포를 목표로 쿠버네티스 환경에서 다음과 같은 작업을 지원합니다.

  • 반복 및 이식이 가능한 쉬운 배포: Kubeflow를 통해 생성된 파이프라인은 클라우드, 온프레미스 등 여러 환경에서 배포를 용이하게 합니다.
  • 비종속적인 마이크로 서비스 배포 및 관리 체계: 마이크로서비스 아키텍처를 기반으로 한 Kubeflow는 각 컴포넌트의 독립적인 관리를 가능하게 합니다.
  • 사용자 요구에 따른 반응형 스케일링: 사용자의 요구에 따라 리소스를 자동으로 스케일링하며, 최적의 성능을 보장합니다.

Kubeflow 주요 컴포넌트

Kubeflow는 Central Dashboard, Jupyter Notebooks, Tensorboard, Pipelines 등 여러 오픈소스 컴포넌트로 구성되어 있으며, 각각은 머신러닝 워크플로우의 특정 단계를 지원합니다. 이들 컴포넌트는 사용자가 머신러닝 프로젝트를 보다 효율적으로 관리할 수 있도록 설계되어 있습니다.


출처: Kubeflow Ecosystem

Kubeflow는 쿠버네티스 기반에서 이와 같은 주요 컴포넌트를 사용하여 머신러닝 모델 개발부터 배포, 자원 관리에 이르기까지 전 과정을 효율적으로 지원하게 됩니다.

Kubeflow 주요 컴포넌트설명
Central Dashboard   여러 컴포넌트 액세스 및 모니터링을 위한 대시보드 웹 콘솔을 제공합니다.
Notebooks데이터 과학자가 클러스터 내에서 직접 코딩할 수 있는 Jupyter 노트북 환경을 제공합니다.
TensorboardTensorflow, PyTorch 등의 프레임워크에서 제공하는 모델 학습 과정 및 학습 데이터 시각화 툴 텐서보드 서버(Tensorboard Server)를 생성하고 관리합니다.
PipelinesDocker 기반의 확장 가능한 파이프라인으로 복잡한 머신러닝 워크플로우를 간소화합니다.
KatibKatib과 같은 AutoML 컴포넌트를 통해 모델 학습 하이퍼파라미터 튜닝을 자동화합니다.
Training Operator다양한 머신러닝 프레임워크를 지원하여 유연한 트레이닝 작업을 가능하게 합니다.
KServeKServe와 같은 Model Serving 부가 기능을 통해 효율적인 모델 배포 및 서빙이 가능하며 내외부로부터 실시간 API로 제공합니다.

카카오클라우드 Kubeflow

카카오클라우드는 Kubeflow 1.6 버전을 포함하여 최신 기능을 지원하며, 사용자가 머신러닝 작업을 쉽고 빠르게 수행할 수 있도록 최적화된 클라우드 환경을 제공합니다. 특히, 카카오클라우드 Kubeflow는 다음과 같은 특징을 갖습니다.

Kubeflow 1.6의 모든 기능 지원

카카오클라우드 Kubeflow는 위에서 소개한 Kubeflow 주요 컴포넌트와 애드온(Add-On)을 모두 사용할 수 있습니다. Tensorflow, PyTorch, Apache MXNet, MPI, XGBoost, Chainer, HuggingFace, OpenAI SDK 등 프레임워크 및 라이브러리도 설치하여 사용할 수 있습니다.

세분화된 액세스 관리 기능

RBAC 기능을 제공하여 사용자는 업무와 역할에 따라 네임스페이스를 할당받고, 사용자 또는 그룹 단위로 권한을 효율적으로 관리할 수 있습니다. 또한 관리자는 네임스페이스별 쿼터 기능을 부여하여 설정된 사용치만큼의 CPU, Memory, GPU Memory, Storage 리소스를 할당할 수 있습니다.

유연한 스토리지 옵션

독립적인 MinIO유형 외 카카오클라우드 Object Storage 유형의 스토리지 저장소를 지원하여 보다 유연하게 모델 결과 파일을 서빙할 수 있습니다.

Nvidia MIG 인스턴스 최적화

카카오클라우드 Kubeflow는 Nvidia A100기반의 MIG(Multi Instance GPU) 인스턴스를 최적화하여 제공합니다. MIG 인스턴스 설정으로 GPU 리소스를 분할 사용할 수 있어, 사용자는 동일한 GPU에서 여러 워크로드를 효율적으로 실행할 수 있습니다.

멀티 File Storage 지원

사용자/그룹별 독립된 File Storage를 원하는 만큼 동적으로 사용하여 작업 파이프라인, 노트북 간 파일 공유가 더욱 수월합니다.

Kubeflow를 사용한 사용 예제

카카오클라우드의 기술 문서는 Jupyter Notebook 설정부터 병렬 학습 모델 구축, 모델 서빙 API 생성에 이르기까지 머신러닝 프로젝트의 다양한 단계를 아우르는 풍부한 Kubeflow 튜토리얼을 제공합니다. 이 튜토리얼들을 참고하여 카카오클라우드 Kubeflow를 사용한 효율적인 모델 개발, 학습, 최적화, 배포 기능 등을 확인할 수 있습니다.

현재 카카오클라우드 기술 문서의 Kubeflow 관련 튜토리얼은 아래와 같습니다.

마무리하며

Kubeflow는 현재 국내외 전역에서 가장 많이 사용하고 있는 오픈소스 MLOps 플랫폼으로 그만큼 교육 콘텐츠, 경험 사례 및 예제 소스 코드가 비교적 풍부하여 처음 사용하는 데이터 과학자 및 분석가 현직자들에게도 빠른 적응을 돕고 있습니다.

카카오클라우드의 Kubeflow는 클라우드 환경의 이점을 통해 간편한 프로비저닝으로 GPU 최적화와 강력한 리소스 관리 기능을 제공합니다. 카카오클라우드 사용자에게 머신러닝의 효율성과 한층 강화된 보안성을 갖춘 MLOps 플랫폼의 이점을 온전히 누릴 수 있도록, 지속적으로 Kubeflow 서비스를 개선해 나갈 예정입니다. 머신러닝을 위한 Kubeflow 서비스 사용을 고려 중이시라면, 꼭 카카오클라우드의 서비스를 사용해 보시기 바랍니다.

감사합니다.

버스터블 기능을 탑재한 t1i 인스턴스

· 4 min read
Sandy (차신영)
Technical Contents Manager
New Release t1i


안녕하세요, BCS(Beyond Compute Service) 인스턴스 패밀리의 새 소식을 전해드립니다.
카카오클라우드는 작년 9월 t1i 버스터블(Burstable) 인스턴스를 출시했는데요. 이 포스팅에서는 t1i 인스턴스에 2024년 1월 25일부터 적용된 크레딧 기능과 버스터블 성능에 대해 살펴보겠습니다.

t1i 인스턴스 이해하기

버스터블 기능을 자세히 살펴보기 전에, 먼저 카카오클라우드 Beyond Cloud Compute(BCS)의 t1i 인스턴스에 대한 이해가 필요합니다.
카카오클라우드 범용 인스턴스의 한 종류인 t1i 인스턴스는 지속적으로 높은 CPU 성능을 요구하지는 않지만, 특정 상황에서 높은 성능을 발휘해야 하는 워크로드에 적합하도록 설계되었습니다. 이 인스턴스는 크레딧으로 제어되는 버스트 가능한 CPU 성능을 제공하여 높은 성능과 비용 사이에서 적절한 균형을 제공한다는 특징이 있습니다.

버스터블 성능 작동 방식

버스터블(Burstable)이라는 영어 단어는 "Burst(폭발하다, 분출하다 등)"와 "able"의 합성어입니다. 클라우드에서 Burst는 일시적으로 정해진 기본 성능을 초과하여 높은 성능을 발휘할 수 있는 능력을 의미합니다. 따라서, 어떤 인스턴스에 버스터블 성능을 탑재하는 것은 해당 인스턴스가 기본 CPU 성능을 제공하지만, 이 기본값을 초과하여 버스트(폭발, 확장)할 수 있는 능력이 있음을 의미합니다.

카카오클라우드에서는 범용 인스턴스의 t1i 인스턴스가 이러한 버스터블 성능을 제공합니다. 이 인스턴스는 일반적으로 CPU가 유휴 상태인 워크로드에 대해 간헐적으로 높은 CPU 성능이 필요할 때 비용 효과적인 해결책을 제공함으로써 그 진가를 발휘합니다.


그렇다면, 카카오클라우드의 t1i 인스턴스는 어떻게 이런 버스터블 기능을 제공할까요?
정답은 바로 CPU 크레딧에 있습니다. t1i 인스턴스는 지속적으로 CPU 크레딧을 받으며, 이 크레딧의 비율은 인스턴스 크기에 따라 다릅니다.

(크레딧 비율의 예)
CPU 크레딧 1개 = vCPU 1개 × 100% 사용률 × 1분 = vCPU 1개 × 50% 사용률 × 2분 = vCPU 2개 × 25% 사용률 × 2분

크레딧은 인스턴스가 기본 CPU 활용도를 초과하여 실행될 때 소비되는데, 워크로드가 낮을 때 사용되지 않은 CPU 크레딧은 미래의 버스트를 위해 저축됩니다. 이러한 방식으로 예상치 못한 부하를 원활하게 처리할 수 있도록 합니다.

(크레딧 소비 관계)
CPU 사용률이 기준 미만: 적립 크레딧 > 소비 크레딧
CPU 사용률이 기준과 동일: 적립 크레딧 = 소비 크레딧
CPU 사용률이 기준 초과: 적립 크레딧 < 소비 크레딧

크레딧 계산에 대한 자세한 설명은 사용자 가이드에서 확인하실 수 있습니다.

t1i 인스턴스 적용 예시

버스터블 성능을 제공하는 t1i 인스턴스는 비용 효율성, 유연성 측면에서 최적의 선택이 될 수 있습니다. 특히 다음의 비즈니스 상황에서 유용하게 활용할 수 있습니다.

  • 변동성이 큰 워크로드: 워크로드가 일정하지 않고 CPU 사용량이 시간에 따라 변동하는 경우, t1i 인스턴스는 기본 성능을 제공하면서 필요한 시점에 성능을 증가시킬 수 있는 유연성을 제공합니다.
  • 개발 및 테스트 환경: 개발 및 테스트 환경은 종종 특정 시간에만 고성능이 필요합니다. t1i 인스턴스는 이러한 환경에서 비용 효율적인 선택이 될 수 있습니다.
  • 저지연 대화형 애플리케이션: 사용자 상호작용이 필요한 애플리케이션의 경우, 반응 시간이 중요합니다. t1i 인스턴스는 필요시 즉각 성능을 조절할 수 있어 사용자 경험을 개선할 수 있습니다.
  • 소형 및 중형 데이터베이스: 일정한 성능이 필요하지만, 간헐적으로 높은 성능이 필요한 데이터베이스에 적합합니다. 데이터베이스 유지 관리 작업 또는 예기치 않은 트래픽 증가 시 버스터블 성능을 활용할 수 있습니다.
  • 백그라운드 처리 작업: 주기적으로 실행되는 배치 작업이나 백그라운드 처리 작업의 경우, 상시로 높은 성능이 필요하지 않을 때 t1i 인스턴스를 사용하여 비용을 절감할 수 있습니다.

모범 사례

t1i 인스턴스를 스마트하게 활용하기 위해서는 몇 가지 전략적인 관리와 계획이 필요합니다. 다음과 같은 모범 사례를 참고하셔서 t1i 인스턴스를 활용하고, 애플리케이션 성능을 극대화할 수 있기를 기대합니다.

  • CPU 크레딧 잔액 모니터링: 카카오클라우드의 Monitoring 서비스를 통해 주요 메트릭을 수집 및 조회할 수 있습니다. 정기적으로 CPU 크레딧 잔액을 모니터링하여 인스턴스가 필요할 때 버스트할 수 있도록 합니다.
  • 인스턴스 크기를 적절하게 선택: 다양한 워크로드 요구사항에 따라 적절한 t1i 인스턴스 크기(t1i.nano, t1i.medium, t1i.2xlarge 등)를 선택하여 비용과 성능을 최적화합니다.
  • 워크로드 패턴에 대한 이해: 워크로드의 CPU 사용 패턴을 분석하고 인스턴스의 CPU 크레딧을 축적하고 소비율과 균형을 이루어 운영에 효율성을 높일 수 있습니다.

마무리하며

2024년 1월 25일, 카카오클라우드의 t1i 인스턴스의 이정표에 "버스터블" 성능이라는 강력한 기능이 추가되어 더욱 유연하고 비용 효율적인 컴퓨팅 성능을 제공하게 되었습니다.
버스터블 기능은 국내 CSP 중에서 최초로 카카오클라우드에서 출시하여 그 의미가 더욱 남다른 것 같습니다. 카카오클라우드의 t1i 인스턴스는 단순한 인스턴스 유형이 아니라 리소스를 비용 효율적으로 사용할 수 있는 전략적 자산이라는 점을 꼭 강조하고 싶습니다. 버스터블 성능의 힘을 활용하여 비활성 시간에 불필요한 비용을 지출하지 않으면서도 피크 시간에 높은 성능을 보장할 수 있는 운영을 경험해 보시기 바랍니다.
t1i 인스턴스에 대한 자세한 사양과 정보는 사용자 가이드의 버스터블 인스턴스 문서에서 확인하실 수 있습니다.

안내

위 내용은 2024년 1월 기준으로 작성된 버스터블 인스턴스의 설명글입니다. 카카오클라우드 BCS 인스턴스의 최신 정보는 BCS 인스턴스 문서를 참조하시기 바랍니다.

BCS 신규 인스턴스 p1i, m3az 출시

· 2 min read
Mia (정혜원)
Technical Contents Manager
안내

아래 내용은 2023년 12월 기준으로 작성된 p1im3az 인스턴스의 출시 소식입니다. 카카오클라우드 Beyond Compute Service의 최신 정보는 인스턴스 유형별 사양 문서를 참조하시기 바랍니다.

안녕하세요, BCS(Beyond Compute Service) 인스턴스 패밀리의 새 소식을 전해드립니다.

카카오클라우드에서는 사용자 여러분의 다양한 워크로드 사양에 더욱 부합하는 BCS 인스턴스 유형을 계속해서 소개하고 있습니다. 이번 포스트에서는 최근 출시된 가속 컴퓨팅을 지원하는 p1i와 범용 인스턴스 m3az 패밀리를 소개합니다.


1. 고성능 컴퓨팅을 위한 p1i 인스턴스

p1i는 머신 러닝 및 HPC 등 고성능 컴퓨팅에 최적화된 인스턴스 패밀리입니다. Gold 5120 스카이레이크 인텔 제온 스케일러블 프로세서를 탑재했으며, 최대 56개의 vCPU 및 512 GiB 메모리를 지원합니다. p1i 인스턴스는 현재 베어메탈서버 유형으로 제공되고 있으며, 최대 4개의 NVIDIA V100 Tensor Core GPU가 제공됩니다.

콘솔에서 p1i인스턴스 선택하기 콘솔에서 p1i인스턴스 선택하기


2. 단일 스레드 CPU 환경에 최적화된 m3az 인스턴스

m3az 인스턴스 패밀리는 최신 4세대 AMD EPYC 9004 시리즈 프로세서가 탑재된 범용 인스턴스입니다. 단일 스레드 CPU 환경을 제공하여, 게임, 의료 등 특정 워크로드에 최적화되어 있습니다. m3az 인스턴스는 다양한 크기의 메모리와 vCPU 옵션을 제공합니다. 또한, 최대 12.5Gbps 네트워크 대역폭을 제공합니다.

콘솔에서 m3az인스턴스 선택하기 콘솔에서 m3az인스턴스 선택하기


새로운 두 인스턴스 패밀리 p1i, m3azkr-central-2 리전에서 이용하실 수 있습니다. 자세한 정보는 BCS 인스턴스 유형 문서에서 확인해 주세요.

카카오클라우드의 다양한 BCS 인스턴스 서비스로 더욱 효율적이고 강력한 클라우드 컴퓨팅을 경험하실 수 있기를 기대합니다.
감사합니다.

Hadoop Eco Dataflow 클러스터 제공

· 3 min read
Sandy (차신영)
Technical Contents Manager
안내

아래 내용은 2023년 12월 기준으로 작성된 Hadoop Eco 서비스의 설명글입니다. 카카오클라우드 Hadoop Eco 서비스의 최신 정보는 Hadoop Eco 문서를 참조하시기 바랍니다.

세계적인 정보 기술(IT) 연구 및 컨설팅 기업인 Gartner는 매년 Data & Analysis(D&A) 트렌드를 연구하여 발표하고 있습니다.
올해 Gartner가 발표한 보고서(Gartner Identifies the Top 10 Data and Analytics Trends for 2023)를 보면, 데이터/분석팀은 데이터 리소스를 관리하고 그 안에서 인사이트를 창출하는 '그 이상'을 수행해야 한다고 언급하고 있습니다. 그저 방대한 데이터를 수집하는 것을 넘어서, '올바른 데이터를 적절한 툴을 이용하여 적절한 시점에 수집하고, 여기서 사업적인 인사이트를 도출'하는 것을 요구하고 있습니다. 이를 위해, 기업의 데이터/분석팀은 가치 최적화(Value optimization), 데이터 공유(Data Sharing), 데이터 관찰(Observability), 데이터 및 분석 지속성(Data & analytics sustainability), 데이터 패브릭(Data fablic) 등의 트렌드를 따라야 한다고 제시합니다.

이렇게 시시각각 발전해 나가는 데이터 분석 트렌드에 지속적으로 부합하고자, 카카오클라우드에서는 2023년 11월 Hadoop Eco 서비스에 Dataflow 클러스터 유형을 새롭게 추가했음을 알려드립니다. 기존, Hadoop Eco 서비스에는 Core Hadoop, HBase, Trino 유형이 제공되고 있었지만, 이번 Dataflow 클러스터의 추가로 Hadoop, Kafka, Druid, Superset을 통한 데이터 수집/분석이 가능해 졌습니다.
Apache Beam이 제공하는 Dataflow는 전 세계 사용자들에게 많은 선택을 받는 통합 배치 및 스트리밍 데이터 처리 모델 중 하나입니다. Dataflow는 자동 확장 및 일괄 처리를 통해 지연 시간, 처리 시간, 비용을 최소화하는 스트리밍 데이터 분석에 최적화된 완전 관리형 오픈소스 프레임워크로, 다양한 프레임워크(Flink, Spark 등)에 대한 광범위한 지원 및 다양한 언어 지원이 가능합니다.

카카오클라우드 Hadoop Eco 서비스에 새롭게 추가된 Dataflow 클러스터를 통해, 사용자는 다음의 특징을 경험하실 수 있습니다.

  • 데이터 수집 및 분석 효율화: Kafka를 통해 데이터를 효율적으로 수집하고, Druid와 Superset을 활용하여 데이터를 실시간으로 분석할 수 있습니다.
  • 다양한 분석 도구 제공: Druid, Superset을 통해 데이터를 시각화하고 다양한 분석 작업을 수행할 수 있습니다.
  • 확장성 및 고가용성: 클러스터 운영 안정성을 고려하여 표준(Single)과 고가용성(HA) 유형을 제공합니다.
    표준(Single) 모드는 마스터 노드 인스턴스 1개로 리소스 매니저, 네임 노드가 1개 실행되어 소규모 작업에 적합합니다. 고가용성 (HA)의 경우, 마스터 노드 인스턴스 3개가 제공되며 리소스 매니저, 네임 노드가 HA 모드로 실행됩니다. 3개의 마스터 노드를 생성, 재부팅 등이 발생해도 중단없는 작업이 가능합니다.

콘솔에서 Dataflow 클러스터 선택하기 Dataflow 클러스터 선택하기


이제 카카오클라우드 Hadoop Eco에서 Apache Beam이 제공하는 통합 배치 및 스트리밍 데이터 처리 모델인 Dataflow를 경험해 보시기 바랍니다.
감사합니다.

관련 문서 안내

Hadoop Eco Dataflow 유형을 이용한 실시간 웹서버 로그 분석 및 모니터링 핸즈온 튜토리얼에서 Dataflow 클러스터를 활용하여 효율적으로 데이터를 수집하고 분석하는 방법을 자세히 확인하실 수 있습니다.

Network Load Balancer TLS 리스너 및 Access Log 활성화 기능 추가

· 3 min read
Romy (이새롬)
Technical Contents Manager
안내

아래 내용은 2023년 11월 기준으로 작성된 Load Balancing 서비스의 신규 기능 배포 소식입니다. 카카오클라우드 Load Balancing 서비스의 최신 정보는 Load Balancing 문서를 참조하시기 바랍니다.

안녕하세요, 카카오클라우드 Load Balancing 서비스에 대한 두 가지 주요 릴리즈 내용을 소개해 드립니다.

1. Network Load Balancer(NLB)에서 TLS 리스너 추가

카카오클라우드의 로드 밸런서 유형 중 NLB 리스너(Listener) 프로토콜TLS가 추가되었습니다.

TLS 프로토콜 선택 TLS 프로토콜 선택

TLS 리스너는 암호화 및 복호화 작업을 로드 밸런서로 오프로드할 수 있습니다. TLS 리스너를 사용하려면 로드 밸런서에 한 개 이상의 서버 인증서를 배포하고 지정해야 합니다. 이 인증서를 기본 SSL 인증서라고 하는데, 콘솔에서 TLS 리스너를 생성한 후 이를 교체하거나 새 인증서를 추가할 수 있습니다. 카카오클라우드 NLB는 TLS 1.0부터 1.2 버전까지 지원하고 있습니다.

최소 TLS 버전 선택과 기본 SSL 인증서 설정 최소 TLS 버전 선택과 기본 SSL 인증서 설정

TLS 리스너를 생성하는 방법은 연결된 문서를 참고해 주십시오.

2. Access Log 활성화 기능 제공

카카오클라우드의 모든 로드 밸런서 유형에 Access Log 활성화 기능이 추가되었습니다.
Access Log는 로드 밸런서로 전송된 트래픽 패턴을 분석하고, 문제를 해결하기 위해 수집되는 정보입니다.

Access Log는 사용자가 선택할 수 있는 ‘옵션' 기능으로, 콘솔에서는 미사용으로 기본 설정되어 있습니다. Access Log 기능을 사용으로 변경하여 활성화하면 캡처한 로그의 압축 파일을 지정한 Object Storage의 버킷에 저장할 수 있습니다. 이때 Object Storage 버킷은 같은 리전에 위치해야 하며, 이 버킷의 암호화 설정을 미사용으로 해두셔야 합니다. 콘솔에서 Access Log 설정 시, 아래와 같은 팝업 창의 안내를 통해 자세한 설정 가이드를 확인하실 수 있습니다.

Access Log 설정 시 Object Storage 버킷 관련 안내 Access Log 설정 시 Object Storage 버킷 관련 안내

참고로, 로그 파일을 전송하기 위한 네트워킹 비용에 대해서는 요금이 부과되지 않지만 Object Storage 비용은 청구됩니다.

Access Log에 대한 보다 자세한 설명은 연결된 문서에서 확인해 주세요.

더욱 안전하고 편리한 클라우드 서비스를 위해 노력하겠습니다.

감사합니다.

IAM 권한 체계의 리더(Reader) 역할 추가

· 2 min read
Mia (정혜원)
Technical Contents Manager
안내

아래 내용은 2023년 11월 기준으로 작성된 IAM 서비스의 신규 역할 배포 소식입니다. 카카오클라우드 IAM 서비스의 최신 정보는 IAM 문서를 참조하시기 바랍니다.

그림. 카카오클라우드 리소스 계층 구조 카카오클라우드 리소스 계층 구조

안녕하세요, 카카오클라우드 IAM (Identity and Access Management)은 클라우드 리소스와 사용자 그룹에 대한 접근과 제어 권한을 관리할 수 있는 서비스입니다.

최근 카카오클라우드 IAM 레벨 ‘조직’‘프로젝트’에 각각 리더(Reader) 역할이 추가되는 릴리즈가 있었습니다.

‘조직’이란 카카오클라우드 계층 구조에서 최상위 개념으로 클라우드 도메인으로 볼 수 있습니다. ‘프로젝트’는 서비스 레벨의 리소스를 소유할 수 있는 그룹으로, 조직에 속한 하위 계층입니다. 조직과 프로젝트 각 레벨의 리더(Reader) 역할은 근본적으로 해당 그룹 내 정보나 리소스의 조회 권한만을 부여받습니다.

  • 조직레벨에서 리더(Reader) 권한을 부여받은 사용자는 해당 조직의 정보와 조직 내 모든 프로젝트 정보 조회가 가능합니다. 단, 프로젝트 정보 이외에 리소스 조회나 관리는 불가합니다. 조직 소유자, 조직 관리자에 비해 최소한의 권한을 갖는 조직 내 역할입니다.

  • 프로젝트 리더(Reader) 또한 프로젝트별 리소스 조회만 가능하도록 설정된 권한입니다. 프로젝트 멤버보다 한 단계 낮은 권한 레벨로, 프로젝트 내 소유한 리소스 조회가 가능합니다. 리소스 조회 이외에 리소스 생성, 읽기, 갱신, 및 삭제는 프로젝트 멤버 이상의 권한을 부여받은 사용자여야 합니다.

조직과 프로젝트 레벨의 리더(Reader) 역할이 추가되면서 조직 내 사용자의 소속과 업무에 따라 좀 더 세밀하게 권한을 생성할 수 있게 되었습니다. 변경된 IAM 역할 체계는 카카오클라우드의 모든 리전에 동일하게 적용됩니다.

카카오클라우드의 역할 관리에 대한 자세한 내용은 IAM의 역할 관리 문서에서 확인하실 수 있습니다.

더욱 안전하고 편리한 클라우드 서비스를 위해 노력하겠습니다.

감사합니다.

Object Storage 스토리지 뷰어 역할 추가

· 2 min read
Sandy (차신영)
Technical Contents Manager
안내

아래 내용은 2023년 10월 기준으로 작성된 Object Storage 서비스의 신규 기능 배포 소식입니다. 카카오클라우드 Object Storage 서비스의 최신 정보는 Object Storage 문서를 참조하시기 바랍니다.

안녕하세요, Object Storage 권한 체계 변경 사항을 안내드립니다.

Object Storage의 권한 체계는 IAM 권한 체계와 약간 다릅니다. IAM과 달리 Object Storage는 버킷에 대한 권한 설정 뿐만 아니라 개별 객체에 대한 권한을 설정할 수 있도록 상세하게 역할이 구분되어 있습니다.

이번 릴리즈에서는 ‘스토리지 뷰어’ 역할이 Object Storage 권한 설정에 추가되었습니다. 이 역할은 버킷의 메타데이터 정보와 객체 메타데이터를 볼 수 있는 권한을 부여받습니다.

이번 변경 사항으로 IAM 역할에서 ‘프로젝트 리더’ 권한을 가진 사용자는 Object Storage에서 ‘스토리지 뷰어’의 권한을 갖게 됩니다. 또한, IAM 역할에서 ‘프로젝트 관리자’는 Object Storage 역할에서 ‘스토리지 관리자’의 권한을 가지게 되며, ‘프로젝트 멤버’는 ‘스토리지 편집자’의 권한이 부여됩니다. 이 부분은 기존과 동일합니다.

아래의 IAM과 Object Storage 역할을 비교한 이미지에서 더 자세한 역할 정의를 확인해 보시기 바랍니다. 이 역할 체계는 kr-central-1, kr-central-2 모두 적용됩니다.

권한 설정 아키텍처 권한 설정 아키텍처

콘솔에서는 기존과 동일한 방식으로 ‘역할 추가’ 팝업창에서 새로운 구성원에 대한 ‘스토리지 뷰어' 역할 추가 또는 수정이 가능합니다.

버킷 역할 설정 버킷 역할 설정

세분화된 역할 구성으로 버킷을 생성하고 관리하는 방법은 상세한 튜토리얼 가이드에서 확인하실 수 있습니다.

카카오클라우드 사용자는 Object Storage에서 대용량 데이터를 객체 형태로 저장하고 처리하는데 최적화된 객체 기반 스토리지를 사용하실 수 있습니다. 역할 기반 접근 제어를 통해 더 정교하게 권한 관리가 가능한 Object Storage에 대한 더 자세한 내용은 기술 문서에서 확인해주시기 바랍니다.

더욱 안전하고 편리한 클라우드 서비스를 위해 노력하겠습니다.

감사합니다.

Transit Gateway 공유 기능 출시

· 2 min read
Romy (이새롬)
Technical Contents Manager
안내

아래 내용은 2023년 10월 기준으로 작성된 Transit Gateway 서비스의 신규 기능 배포 소식입니다. 카카오클라우드 Transit Gateway 서비스의 최신 정보는 Transit Gateway 문서를 참조하시기 바랍니다.

안녕하세요, Transit Gateway 서비스에 프로젝트 간 Transit Gateway를 공유할 수 있는 ‘공유’ 기능이 추가되었습니다.

Transit Gateway 서비스의 공유 기능을 통해, 이제 Transit Gateway를 프로젝트 간 공유하여 서로 다른 프로젝트 VPC 간의 통신을 설정할 수 있습니다.

아래 그림과 같이 A, B 두 개의 프로젝트를 사용하는 경우를 가정하겠습니다. 기존에 이 조직의 관리자는 각각의 프로젝트에 Transit Gateway를 두고 해당 프로젝트의 VPC를 관리했습니다. 하지만 이 공유 기능을 이용하게 되면서 A 프로젝트의 Transit Gateway를 B 프로젝트에서도 사용할 수 있게 됩니다. 두 프로젝트의 모든 VPC를 공유된 ‘하나의 Transit Gateway’에서 편리하게 관리할 수 있는것이죠.

이해를 돕기위해 간단히 구성되어 있는 그림과는 달리, 실제로 수십, 수백개의 온프레미스와 VPC 환경의 연결이 필요한 복잡한 네트워크 구성이라면 사용자는 관리 포인트를 크게 간소화하고 운영 비용을 획기적으로 절감할 수 있습니다.

Transit Gateway 공유 기능의 이해 Transit Gateway 공유 기능의 이해

프로젝트 간 Transit Gateway 공유 기능을 통한 VPC의 연결을 구현한 자세한 사용 예제는 상세한 튜토리얼 가이드에서 확인하실 수 있습니다.

카카오클라우드 사용자는 Transit Gateway 서비스를 이용하여 다수의 VPC 운영, 관리에 효율성을 높일 수 있으며, 향후 네트워크 확장성에 유연하게 대응할 수 있습니다. 기본적으로 Transit Gateway는 kr-central-2 리전 서비스이고, 프로젝트 관리자 역할의 사용자만 이 서비스에 접근할 수 있는 점도 기억해 주시기 바랍니다. 더 많은 Transit Gateway 서비스에 대한 정보는 기술 문서를 참고해 주세요.

더욱 안전하고 편리한 클라우드 서비스를 위해 노력하겠습니다.

감사합니다.