세미나 & 교육 & Tech

[세미나] RedHat container Day 2024

jih0ssang 2024. 3. 16. 17:15

기업의 컨테이너 전환 여정과 시사점

결론 : 기업이 컨테이너 전환시, 단계별로 레드햇이 지원하는 서비스 및 상품 홍보하는 내용 이었습니다.

 

컨테이너 전환 과정의 어려움

  • 플랫폼 신규 구축
    • 대상 애플리케이션 선정
      ex) 어떤 업무를 올려야 하는가? → 개발자들의 수고 ↓, "의미" 있는 애플리케이션을 올려야 한다.
                                                                           ※ 의미 = 투자 비용이 높은 
    • 도입과 관련된 전반적 기술적 의사 결정
      ex) 버전 변경으로 인한 여러가지 이슈사항 고려, 개발자들의 공수 고려

    • 클라우드 네티이브 애플리케이션 개발
  • 플랫폼 확산

주요 고려 사항

  • 인프라
    • 클러스터와 컨테이너 자원 관리 방안, 멀티 클러스터, 스토리지 유형 등

  • 애플리케이션
    • 컨테이너 전환 방안, 세션 관리 방안, 이미지 저장소, 브랜치 전략 등

  • CI/CD
    • 빌드/배포 정책, 형상관리 연계 방안, R&R 등

  • 보안
    • 계정관리, 컴플라이언스 체계 및 모니터링, 이미지 스캐닝 등

  • 운영모델(조직)
    • 플랫폼 관리자/사용자 간 R&R

 

 

기획 단계

신기술에 대한 "공통적인 이해"와 상위수준의 기술적 고려사항을 위해 제공되는 레드햇의 교육 서비스
비즈니스 성공을 위한 맞춤형 컨설팅 프로그램

 

솔루션

  • 네비게이트 워크샵(Navigate to Containerization)
  • DO500 (DevOps Culture and Practice Enablement),   DO180 (Red Hat OpenShift I)

 

실행 단계

프로젝트 과정에서 시행착오를 최소화하고  "역할에 따른 기술 습득"을 위해 제공되는 레드햇의 교육 서비스
비즈니스 성공을 위한 맞춤형 컨설팅 프로그램

 

솔루션

  • OpenShift Container Platform Pilot
  • Open Innovation Labs 
  • DO280 (Red Hat OpenShift II),   DO288(Red Hat OpenShift Developer II)

 

운영 단계

효과적인 유지보수 및 "안정적인 운영"을 위해 제공되는 레드햇의 지원 서비스
비즈니스 성공을 위한 원격 교육 서비스

 

솔루션

  • TAM (전담 기술 지원)
  • DEE (기업용 엔지니어 상주 서비스)
  • RHLS (교육)

 

 

Red Hat 혁신 전략

" VM에 클라우드 네이티브 기능 부여 "

 

KubeVirt

쿠버네티스의 이점을 활용한 VM과 컨테이너 통합 관리하는 레드햇의 제품

 

장점

  • 관리의 효율성
    • 개발자 이점: VM, 컨테이너, 서비스 등이 혼재된 환경에서 기존의 VM을 컨테이너와 통합 관리하며 단일화된 프로세스  
    • 운영자 이점: 비용 효율적인 플랫폼 환경에서 DevOps를 운영하고 기존 VM을 유지관리

  • VM 워크로드의 현대화
    • 개발자 이점: 컨테이너화 과정 없이 VM 애플리케이션에 클라우드 네이티브 기능 적용
    • 운영자 이점: 단일 아키텍처에서 DevOps 팀을 통해 OpenShift 내 VM, 컨테이너 및 서버리스 애플리케이션을 모두 관리 가능

  • 손쉬운 리팩토링
    • 개발자 이점: 필요 시 레거시를 운영하면서 컨테이너화 전환이나 리팩토링 가능
    • 운영자 이점: 애플리케이션 워크로드들은 셀프 서비스 기능을 통해 개발자가 관리하므로, 운영자는 플랫폼과 인프라 유지 관리에 집중

현대화?  → 클라우드 네이티브 및 자동화

현대화의 허들?  → vm에 특화된 App은 그냥 그대로 vm 으로 두자.. 

이를 극복할 클라우드 네이티브 vm?  → 클라우드 네이티브의 장점을 vm에게 적용.

 

 

OpenShift Virtualization       

    • Red Hat OpenShift에 포함된 기능
    • VM 및 컨테이너 실행을 위한 통합 플랫폼
    • 인프라 자동화 도구(ex. Ansible) 내장되어있음
    • 리눅스 커널 기반 하이퍼바이저인 KVM 기반
    • RHEL 게스트 권한이 포함되어 있음
    • Microsoft Windows 게스트 지원
    • OpenShift의 관리 효율성 및 에코 시스템 활용
    • VM과 컨테이너의 손쉬운 연계

 

VM과 컨테이너의 손쉬운 연계

  • OpenShift 위 올라가는 VM은 SDN 네트워크에 연결되며, 쿠버네티스의 표준 방식을 사용하여 접근 가능 
    • 쿠버네티스의 표준 방식
      Service, Route, Ingress, Service Mesh, Pipelines, GitOps
      → 이것 또한 콘솔에서 클릭 몇 번으로 쉽게 생성 가능 !!
  • 네트워크 정책은 컨테이너 Pod와 동일한 방식으로 VM Pod에 적용
  •  네트워크 연결에 따라 SDN 또는 Ingress를 통해 VM-to-Pod 및 그 반대로의 통신이 가능

 

 

비즈니스 가치

비즈니스 목표 해결 방안 지원 비즈니스 효과
비용 효율성 ◎ 단일 화면에서 VM, 컨테이너 및 서버리스 관리
◎ 백업, 운영 지원, 유지 관리 프로세스를 위해 공유 스토리지 스택 활용
◎ 공유 모니터링, 라우팅 및 네트워킹 기능 활용
인프라 관리 노력 절감
인프라 비용 절감
매출 성장 ◎ 기존 가상화 애플리케이션과 상호 작용하는 컨테이너에서 새로운 마이크로서비스 기반
◎ 동일한 도구, 파이프라인 및 플랫폼을 사용하여 VM에서 쿠버네티스의 확장성 활용
◎ 셀프 서비스 옵션과 CI/CD 파이프라인과 통합을 지원하는 플랫폼으로 애플리케이션 출시 과정을 간소화
개발 속도 향상
개발 생산성 증가
전략적 개선 ◎ OpenShift 라는 단일 관리 프레임워크를 학습하여 무분별한 기술 확산을 줄이고 리소스를 최적화
◎ 최신 관리 원칙의 이점을 활용하여 VM 기반 애플리케이션 현대화
인재 보유 증가
벤더 락-인 해제

 

 

 

 

Red Hat 가상화 포토폴리오

왼쪽에서부터 OpenStack, Virtualization, OpenShift 순으로 제품 구성도를 확인할 수 있다.

 

 

OpenShift 사용 방식

1. 프로젝트 단위로 VM 권한 부여

  • Project가 namespace 와 같은 역할
  • 셀프 서비스를 통해 프로젝트별로 역할을 할당

 

2. VM 프로비저닝에 대한 단편화된 접근 방식

(위) 기존에는 여러 팀으로 분산 작업으로 인해 대기, 반복 작업에 갇혀 몇 주가 걸릴 수 있는 프로세스.  (아래) VM 프로비저닝에 대해 단편화된 접근 방식으로 변함

 

  • 대기, 반복 작업에 갇혀 몇 주가 걸릴 수 있는 프로세스

 

Use Cases - 1 

OpenShift Virtualization 현황
다양한 산업군의 고객
Partnership

다양한 산업군에서 OpenShift Virtualization 제품을 사용하는 고객이 점차 증가하는 추세를 보이고 있다.

고로, 우리 제품을 신뢰할 수 있다는 입증 자료이다.

 

 

Use Cases - 2 

CI/CD 도구를 사용하여 VM을 코드로 배포

  • 기존 VM과 최신 GitOps 프레임워크(ArgoCD)를 통합
    • GitOps를 사용하여 VM을 코드로 배포하고 자동화

 

Demo (영상은.. 1 밖에 없음)

1. VM 관리

  • OpenShift 웹 콘솔 또는 CLI를 사용하여 VM과 관련 리소스를 생성, 수정 및 제거
  • virtctl 명령을 사용하여 CLI 기반에서 VM 관리를 단순화
  • ENI 및 OS 정보, Snapshot 생성 및 복구 등등 모두 콘솔로 제어 가능 

 

 

2. VM 마이그레이션

Migration Toolkit for Virtualization (MTV)

  • VMware 및 Red Hat Virtualization, Red Hat OpenStack에서 OpenShift Virtualization으로 VM 대량 마이그레이션
  • Warm Migration 기능 지원
    ※ Warm Migration?
    VM을 종료하지 않은 상태로 마이그레이션 (다운타임 최소화)
  • VM 유효성 검사 기능
    마이그레이션 문제를 방지하기 위해 VM 구성에 대한 검사 실행
  • 여러 VM을 동시에 병렬로 마이그레이션하여 처리량 최대화
  • 별도의 마이그레이션 네트워크 선택 가능
    • 실행 중인 다른 워크로드에 대한 영향 방지

결론 3줄 요약

1. VM의 현대화를 위해 클라우드의 이점(컨테이너화x, 컨테이너"처럼" 관리)을 적용시켰다.

2. OpenShift Virtualization은 쿠버네티스가 (컨테이너를 관리하는 것처럼) 추가로, VM도 관리할 수 있도록 가상화 하는 도구이다.

3. 쿠버네티스는 VM + Container 모두 오케스트레이션 가능해졌으므로, 하이브리드로 운영 가능한 상태이다. 

 


개인적으로 궁금했던 사항

님 그거 VMware Virtualization과 비슷한 제품 아님?

 

VMware Virtualization
VM 관리에 초점이 맞춰져 있고 해당 VM에 대한 제어를 콘솔로 손쉽게 제공하는 것까진 똑같다.
하지만 VM을 K8S로 관리하지는 않는다.

라이센스 비용 들어감

OpenShift Virtualization
컨테이너 구조로 관리 필요 제고 및 컨테이너와의 혼재(멀티클라우드)가 필요한 비즈니스에 적합할 듯 하다.

킹왕짱 오픈소스

 

 

 

 

 

Kubevirt랑 OpenShift Virtualization이랑 같은 기능(vm을 k8s로 관리)  하는 것 같은데... 차이점이 뭐임?

Kubevirt

순수한 Kubernetes 환경에서 가상화를 위한 플랫폼

기존 쿠버네티스에 있는 도구만 사용할 수 있음
OpenShift Virtualization
OpenShift 플랫폼 위에 가상화를 추가하여 더 많은 통합 및 관리 기능을 제공

기존 쿠버네티스에 없는 여러 도구들을 OpenShift에서 끌어와서 쓸 수 있음

 

 


기업이 오픈소스를 사용하는 이유

 

1. 비용 절감

  • Java Upgrade시 대응 어려움
  • But, 비용 절감에 너무 몰두하면 개발자들이 힘듦

2.  새로운 비즈니스 기술 습득

  • 가장 상용화되고 있는 SW들이 모두 OSS이다. (OS: linux, etc..)

 

기업이 컨테이너 기술을 도입하는 이유

  • 모놀리식 설계는 혁신적인 비즈니스 기술 도입이 어렵고 확장 시 무겁다는 한계가 있다.