90DaysOfDevOps (Day 50)

고태규·4일 전
0

DevOps

목록 보기
46/50
post-thumbnail

해당 스터디는 90DaysOfDevOps
https://github.com/MichaelCade/90DaysOfDevOps
를 기반으로 진행한 내용입니다.

Day 50 - State of Cloud Native 2024


1. 클라우드 네이티브의 진화와 정의


클라우드 네이티브의 정의는 기술과 도구의 발전에 따라 지속적으로 변화해 왔다.

과거 데이터 센터 위에 형성된 클라우드는 단순히 API 호출 (CLI, UI)을 통해 20GB의 머신이나 NVMe 드라이브 같은 리소스를 몇 초 만에 소비하는 것이었다.

그러나 현재의 클라우드 네이티브는 하나의 철학으로 볼 수 있다.

  • 초기: 단순히 벤더로부터 VM을 임대하여 애플리케이션을 실행하는 단계

  • 발전: DevOps 문화와 현대적 툴링의 도입

  • 현재:

    • 컨테이너화와 Kubernetes 시대를 지나 CNCF (Cloud Native Computing Foundation) 산하의 수많은 프로젝트가 등장함.
    • 서버에서 VM, 컨테이너, 그리고 이제는 웹 어셈블리 (WebAssembly)로 레이어가 내려가고 있다.

진정한 클라우드 네이티브는 '플랫폼에 구애받지 않는 애플리케이션'을 구축하는 것이다.

이는 특정 클라우드 벤더, 자체 데이터 센터, 혹은 어떤 API 기반 하드웨어에서도 실행될 수 있음을 의미한다.

2024년은 이러한 철학을 바탕으로 다음 4가지 영역에서 큰 변화가 예상된다고 하였다.


2. 지속 가능성 (Sustainability)


클라우드 네이티브 애플리케이션의 탄소 배출량을 인지하고 관리하는 것은 선택이 아닌 필수 사항이 되었다.

이를 위해 측정, 감소, 그리고 유휴 자원 관리가 필요하다.

특히 소프트웨어 관점에서는 무거운 CPU 주기와 메모리 할당을 줄이는 것이 핵심인데, 이는 하드웨어의 주파수와 정전 용량 사용량과 직결되기 때문이다.

CNCF에는 환경 지속 가능성을 위한 기술 자문 그룹 (TAG Env Sustainability)이 존재하며, 오픈 소스 프로젝트들이 더욱 지속 가능해지도록 지원한다.

CNCF TAG Environmental Sustainability 공식문서
https://tag-env-sustainability.cncf.io/

현재 지속 가능한 클라우드 컴퓨팅 랜드스케이프는 인프라, 관찰 가능성 (Observability), 데이터 센터, 방법론의 4가지 영역으로 나뉜다.

주요 도구 및 기술로는 Kepler (Kubernetes-based Efficient Power Level Exporter)와 Kube Green을 설명하였다.

2-1. Kepler (Kubernetes-based Efficient Power Level Exporter)

Kepler 공식 GitHub
https://github.com/sustainable-computing-io/kepler

CNCF 프로젝트로, eBPF를 사용하여 커널 레벨에서 메트릭을 캡처하는 CNCF Sandbox 단계에 있는 프로젝트이다.

수집된 데이터를 머신러닝 모델로 분석 및 보강한 뒤, 프로메테우스 (Prometheus) 메트릭으로 내보낸다.

그림과 같이 Pod 및 Container (리눅스 프로세스) 단위의 정확한 에너지 소비량과 탄소 배출량을 네임스페이스별, 워크로드별로 시각화하여 제공한다.

2-2. Kube Green

  • 클러스터의 CO2 발자국을 줄이는 쿠버네티스 오퍼레이터이다.

  • SleepInfo라는 Custom Resource를 통해 특정 시간 (예: 야간, 주말)에 불필요한 파드를 자동으로 절전 모드로 전환한다.

  • Kepler와 결합하여 메트릭을 기반으로 워크로드를 0으로 스케일링하는 등의 자동화된 조치가 가능하다.

2024년에는 그린 데이터 센터의 확산과 정치적 관점을 넘어선 엔지니어 차원의 실질적인 기여가 더욱 중요해질 것이라고 예측하였다.


3. 웹 어셈블리 (WebAssembly)


웹 어셈블리 (Wasm)는 웹을 위한 컴파일 대상으로 설계된 이식성이 뛰어나고 효율적인 실행 모델이다.

사용자가 Rust 등으로 코드를 작성하고 툴링을 거쳐 .wasm 파일을 생성하면, 이는 아키텍처와 무관하게 어디서든 실행 가능하다.

웹 어셈블리는 어떤 프로그래밍 언어로든 작성된 코드를, 웹 브라우저나 서버 어디서든 거의 기계어 속도로 안전하게 실행시켜 주는 경량 고성능 실행 포맷이다.

CNCF Project wasmCloud 공식문서
https://wasmcloud.com/

2019년 WASI (WebAssembly System Interface)의 등장으로 서버 사이드 실행이 가능해졌으며 프레젠테이션에서는 해당 분야가 점차 주류로 진입할 것이라고 예측하였다.

  • AI 추론(Inferencing): 웹 어셈블리 상에서의 AI 추론 기능 강화.

  • WASI 1.0 및 Preview 2: 네트워킹 지원이 포함된 Preview 2 출시 및 WASI 1.0 도달 예상.

  • 컴포넌트 모델(Component Model) 확정:

    • 가장 기대되는 기능으로, 진정한 다국어(Polyglot) 애플리케이션 구축을 가능하게 한다.

    • 예를 들어, Python으로 작성된 강력한 라이브러리를 재작성 없이 Rust 코드에서 컴포넌트로서 그대로 재사용할 수 있다.

  • 쿠버네티스와의 통합:

    • K8s 런타임 Shim 등의 성숙으로 기존 클러스터에서 Wasm 워크로드를 실행하는 것이 자연스러워졌다.

    • AKS 등 클라우드 제공업체들이 네이티브하게 Wasm 호환 노드 생성 옵션을 제공하기 시작했다.

이 외에도 스펙을 넘어서 사용자 요구를 충족시키는 혁신적인 도구 (WasX, Onyx 언어 등)들의 등장이 가속화될 것이다.


4. 플랫폼 엔지니어링 (Platform Engineering)


플랫폼 엔지니어링은 DevOps의 다음 단계이자 진화형이다.

조직 내 팀들이 서로 다른 도구 (Terraform vs Pulumi, Jenkins vs GitHub Actions 등)를 사용하여 발생하는 파편화, 관리 비용 증가, 규정 준수의 부재, 표준화 결여 문제를 해결한다.

플랫폼 엔지니어링은 조직 내에 단일화된 내부 개발자 플랫폼을 구축하는 것이다.

  • 추상화와 단순화: 개발자는 복잡한 인프라 (AWS RDS, GKE 설정 등)를 알 필요 없이, API나 UI를 통해 "DB가 필요하다", "클러스터가 필요하다"라고 요청만 하면 된다.

  • 표준화 : 플랫폼 팀이 보안, 규정 준수, 도구 성숙도를 고려하여 미리 검증된 의견이 반영된 도구 세트를 제공한다.

  • 중복 제거 및 효율성: 각 프로젝트마다 프로덕션 환경을 새로 구성할 필요 없이, 미리 준비된 설정을 복제하여 사용함으로써 중복 업무를 줄인다. FinOps와 보안 규정도 자연스럽게 적용된다.

2024년에는 내부 개발자 플랫폼 구축을 돕는 오픈 소스 및 벤더 솔루션이 대거 등장할 것이며, CNCF 백서 등을 통한 표준화된 모범 사례가 확산될 것이라고 예측하였다.

그리고, 2025년 현재 시점에는 플랫폼 엔지니어링을 위한 인프라를 추상화하고 개발자에게 셀프 서비스를 제공하는 기능은 주로 Crossplane과 같은 프로젝트의 CR을 통해 구현된다.

  • 핵심 CR: CompositeResourceDefinition (XRD), Composition

  • 설명:

    • 현재 CNCF 내에서 플랫폼 엔지니어링의 백엔드를 담당하는 프로젝트

    • XRD라는 CR을 통해 개발자에게 노출할 추상화된 API (예: MyDatabase)를 정의하고, Composition을 통해 실제 인프라 (AWS RDS 등)와 연결

    • CNCF Graduated 단계로 승격되어 안정적인 상태


5. 클라우드 네이티브와 AI


2023년 생성형 AI (GenAI)의 주류화 이후, 쿠버네티스는 AI를 구동하는 핵심 기술로 자리 잡았다(OpenAI 또한 쿠버네티스 기반으로 운영됨).

2024년에는 CNCF 내 AI 툴링 프로젝트들이 샌드박스 단계 등을 거치며 급성장할 것이라고 예측하였다.

  • End-to-End 플랫폼: AI 모델의 개발, 훈련, 배포 파이프라인 전체를 아우르는 머신러닝 플랫폼이 등장하여 배포 용이성을 높일 것이다.

  • GPU 효율화: GPU 공유 및 슬라이싱 기술이 발전하여 자원 효율성이 극대화될 것이다.

  • AI와 관찰 가능성: 클라우드 네이티브 환경의 문제를 AI가 자동으로 감지하고 수정하는 관찰 가능성 스타트업들이 늘어날 것이다.

  • eBPF와 AI의 결합: eBPF 기술이 AI 워크로드 모니터링 및 최적화에 활용되는 사례가 증가할 것이다.


6. 결론


  • 지속 가능성: 탄소 발자국 측정 (Kepler) 및 자동 절감 (Kube Green) 도구의 도입 확대.

  • 웹 어셈블리: WASI 1.0, 컴포넌트 모델, 쿠버네티스 통합을 통해 서버 사이드 및 클라우드 환경의 주류 기술로 부상.

  • 플랫폼 엔지니어링: 복잡한 툴체인을 추상화하고 표준화된 내부 개발자 플랫폼를 제공하여 데브옵스의 비효율성을 해결.

  • AI: 쿠버네티스 기반의 AI 워크로드 최적화, GPU 효율화, 그리고 운영 자동화에 AI 기술 접목.

이 4가지 영역은 2024년 한 해 동안 가장 많은 혁신과 프로덕션 도입이 이루어질 핵심 분야라고 예측하였다.


0개의 댓글