클라우드 네이티브 환경에서 가상화는 어떻게 대처하실 계획이신가요?
하나의 플랫폼에서 컨테이너, 가상화도 관리할 수 있는 OpenShift를 도입하는 것이 최적의 방안입니다.
들어가며…
안녕하세요. 오픈마루 솔루션팀 안병욱 프로입니다.
최근 기업환경뿐만 아니라 공공환경에서도 클라우드 네이티브 전환 로드맵에 따라 클라우드 네이티브에 대한 관심이 나날이 많아지고 있습니다. 그런데, 모든 업무 서비스(애플리케이션)이 클라우드 네이티브화 될 수 있을까요? 컨테이너라이즈가 가능할까요?
Unix, Windows와 같은 리눅스가 아닌 상용OS에 종속되는 경우에는 Containerize가 어려울 수도 있습니다.
또한 3rd Party 솔루션의 경우에도 Vendor 업체에서 지원해주지 않는다면 전환하는게 어려운 현실입니다.
이러한 경우에 가상화 시스템이 필요한데, 가상화 솔루션을 또 구매하는것이 아닌 OpenShift Virtualization을 이용하여 컨테이너 환경과 가상화 환경을 동시에 생성 관리할 수 있습니다.
클라우드 네이티브 환경에서 가상화 비중
클라우드 네이티브를 적극적으로 도입하지 않은 단체의 인프라의 경우 경우 아래와 같이 대부분의 VM서버들과 일부분의 Container 환경으로 운영중이신 곳이 많을 것입니다.
이때 VM 관리 및 Container 관리 시스템의 분리와 가상화 시스템 위에 Kubernetes/Docker/Podman과 같은 컨테이너 가상화로 불필요한 오버헤드 발생하는 등 여러 단점들도 존재합니다.
그리고 앞으로 계속 확대될 클라우드 네이티브 환경에서는 VM은 적은 수로 운영되고 대다수가 Pod 즉 Container로 운영이 될 것입니다.
그렇다면 이때 적은 수로 운영할 VM과 레거시 환경을 위해서 가상화 솔루션을 도입해야할까요?
클라우드 네이티브 환경에서 가상화가 필요한 이유
컨테이너라이즈를 위해 모든 애플리케이션을 재개발 한다면 클라우드 네이티브 환경에서 가상화가 필요 없을 수 있지만 위험성과 난이도를 생각한다면 점차 변화 시켜가는 것이 옳은 방향일 수 있습니다.
특히 다음과 같은 경우를 위하여 클라우드 네이티브 환경에서도 가상화가 필요합니다.
리눅스 기반이 아닌 Unix 혹은 Windows(제한적으로 Windows 컨테이너 가능)에 종속되는 애플리케이션 |
서비스를 위해 필요한 3rd party 솔루션이 컨테이너라이즈가 불가능한 경우 |
컨테이너 환경에서 동작하지 않는 라이브러리를 사용하는 경우(ex: 일부 JNI, JNA) |
그 외 컨테이너라이즈가 불가능한 경우 |
클라우드 네이티브 환경에서 애플리케이션 현대화를 수행하고자 하는 경우 |
위와 같은 이유들로 클라우드 네이티브 도입을 고려하신다고 하더라도 가상화에 대해서 고려를 하지 않을 수 없는 현실입니다.
OpenShift Virtualization
Red Hat OpenShift Container Platform에서는 이러한 고민을 해결할 수 있는 방안을 제시합니다.
OperatorHub에서 설치 구성이 가능한 OpenShift Virtualization Operator가 그 방안입니다.
Red Hat에서 기술지원 하던 Red Hat Virtualization을 Red Hat OpenShift Container Platform에 Integration한 것이 소개 드리는 OpenShift Virtaulization 입니다.
즉 기존 가상화 환경에서 안정적으로 사용되던 KVM 기반의 가상화 시스템이 컨테이너 환경인 OpenShift에 도입된 것입니다.
Red Hat은 뿐만 아니라 마이그레이션 기술 포트폴리오를 제공하여 안정성, 성능, 확장성을 기반으로 계속 발전시키고 있습니다.
JAVA 기반의 애플리케이션의 클라우드 네이티브 및 오픈소스 WAS로 변환을 분석할 수 있는 도구인 Red Hat Migration Toolkit for Application을 제공하며
VMWare에서 운영중인 VM 서버들을 OpenShift Virtualization으로 마이그레이션할 수 있는 도구인 Red Hat Migration Toolkit for Virtualization 을 제공합니다.
OpenShift Virtualization의 이점
OpenShift Virtaulization의 컨테이너와 VM의 동시 관리하는 장점을 통해 다음과 같은 이점들이 있습니다.
- 애플리케이션 현대화의 발판
- 앞서 설명드린 RHMTA와 RHMTV와 같은 도구를 이용하여 애플리케이션 현대화 및 마이그레이션에 도움이 될 수 있습니다.
- 클라우드 네이티브 환경인 즉, Kubernetes 환경에서 애플리케이션을 운영함으로써 애플리케이션의 현대화에 발판이 될 수 있습니다.
- VM, Container 동일 플랫폼 관리를 통한 운영 효율성 향상
-
- 리눅스 VM 환경과 컨테이너뿐만 아니라 Windows VM 환경과 Windows Container도 하나의 플랫폼인 OpenShift Container Platform에서 운영이 가능합니다.
- 동일 플랫폼에서 관리하기 때문에 운영 오버헤드를 줄일 수 있습니다.
- 하드웨어 사용량을 극대화하여 하드웨어 도입 비용 절감 효과를 누릴 수 있습니다.
- 가상화 솔루션 라이선스 등 비용 절약
-
- OpenShift Virtualization을 사용하여 VM을 생성할 경우 기존 가상화 환경과 같이 Guest OS가 필요하게 됩니다.
(이 때, Guest OS을 위한 별도의 Subscription 없이도, Red Hat Enterprise Linux를 제한 없이 생성하고 기술지원 받을 수 있게 됩니다.) - OpenShift Virtualization을 도입하기 때문에 별도로 가상화 솔루션을 구매하지 않아도 됩니다. 또한 OpenShift Virtualization은 Red Hat OpenShift Container Platform에 포함된 기능으로 별도로 구매 비용이 발생하지 않습니다.
- OpenShift Virtualization을 사용하여 VM을 생성할 경우 기존 가상화 환경과 같이 Guest OS가 필요하게 됩니다.
OpenShift Virtualization 데모
데모를 통해서 OpenShift Virtualization을 이용하여 Windows VM을 생성하고 활용하는 데모를 살펴보도록 하겠습니다.
이 밖에도 OpenShift Virtaulization이 제공하는 기능을 간략히 추려보면 다음과 같습니다.
- Linux 및 Windows VM 생성
- UI 및 CLI 도구를 통해 VM 관리
- VMware 및 Red Hat Virtualization VM을 포함한 기존 VM을 가져오고 복제
- VM에 연결된 네트워크 인터페이스 컨트롤러 및 스토리지 디스크를 관리합니다.
- 노드 간 VM 실시간 마이그레이션
마치며…
이로써 클라우드 네이티브 환경에서 가상화 시스템을 대응하기 위한 방안인 OpenShift Virtualization을 알아보았습니다.
기능적으로나 유지보수적으로나 비용 절감적으로나 도입하지 않을 이유가 없는 방안입니다.
이 글을 보시는 분들이 클라우드 네이티브 도입의 고민거리 중 하나인 가상화 시스템에 대한 걱정을 OpenShift Virtualization을 통해서 해결하실 수 있으면 좋겠습니다.
구글 과 컨테이너 기술 그리고 쿠버네티스
/in Kubernetes, OpenShift, 분류되지 않음/by 실장 님쿠버네티스 : 오토스케일링 데모 와 원리 이해
/in Kubernetes, OpenShift, 분류되지 않음/by junyoung쿠버네티스 : 마이크로서비스 아키텍처 구현 데모
/in Kubernetes, Microservices Architecture, OpenShift, 분류되지 않음/by 실장 님