Skip links

클라우드 네이티브 전환 가속화: PaaS 중심의 AI 인프라 혁신

클라우드 네이티브 전환 가속화: PaaS 중심의 AI 인프라 혁신

  1. 클라우드 네이티브와 PaaS 각광
  2. 모두가 이야기하지만 일부만 아는 클라우드 네이티브하다는 것에 관하여

  1. 클라우드 네이티브와 PaaS 각광

생성형 AI 애플리케이션의 민첩한 개발·운용을 위한 클라우드 네이티브 전환도 더욱 증가될 것으로 점쳐지고 있다. 특히 AI와 클라우드 네이티브 구현의 열쇠로 꼽히는 서비스형 플랫폼(PaaS) 시장이 우리나라 시장에서도 본격 개화될 것으로 예상되고 있다.

한 SW기업 관계자는 “해외 시장에 비해 국내 PaaS 시장은 이제 막 시작되고 있는 단계다. 해외에서는 이미 AI 워크로드를 쿠버네티스(Kubernetes) 기반 PaaS로 구동하며, 쿠버네티스 클러스터를 유기적으로 운용해 애플리케이션을 개발·배포 속도를 높이고 있다”며 “앞으로 우리나라 업계에서도 방대한 데이터 처리와 AI 연관 서비스의 신속한 개발을 가능케 하는 PaaS가 더욱 각광받을 것으로 전망한다”고 강조했다.

금융권과 공공기관 등에서도 쿠버네티스 기반의 클라우드 네이티브 전환과 생성형 AI 구축 프로젝트가 속속 발주되고 있다. 그간 클라우드 네이티브 사업에서는 통상 글로벌 PaaS 솔루션이 채택돼 왔다. 하지만 최근에는 국내 PaaS 솔루션이 PoC 과정에서 외산 제품보다 높은 점수를 확보하는 사례들도 생겨나고 있다.

이는 국내 PaaS 기업들의 기술력이 꽤 높은 수준만큼 올라왔음을 방증한다. 다만 여전히 국내에는 PaaS 전문인력과 상용 SW의 컨테이너(Container) 이미지가 부족하다는 것이 어려움으로 꼽힌다. 아울러 여전히 공공 클라우드 네이티브 전환사업에서는 상용 PaaS 도입을 적극적으로 검토하는 경우가 적다는 비판도 나온다.

[대한민국 정책브피링의 241019_조간_(보도)_제4차_클라우드컴퓨팅_기본계획(안)]
이에 대해 업계 실무자들은 정부 차원에서의 PaaS 생태계 활성화와 전문인력 양성이 필요하다는 목소리를 내고 있다. 제4차 클라우드 기본계획에는 공공부문 클라우드 플랫폼으로 민간 주도의 상용 PaaS를 주축으로 활용해야 한다는 업계 의견이 일부 반영됐다. 앞으로의 공공사업에서는 국내 상용 PaaS가 더 큰 비중을 차지할 수 있을지 이목이 집중된다.

이와 함께 장차 더욱 확대될 것으로 예상되는 민간·공공 클라우드 네이티브 전환 수요에 대응하고자 CSP와 클라우드 관리 서비스 업체(MSP) 등도 클라우드 네이티브 구현 기준인 마이크로서비스 아키텍처(MSA), 컨테이너, 쿠버네티스에 관한 컨설팅과 기술 역량 확보에 공을 들이고 있다.

  1. 모두가 이야기하지만 일부만 아는 클라우드 네이티브하다는 것에 관하여

– 조훈(Hoon Jo) CNCF 엠버서더 –

요즘 클라우드를 넘어 `클라우드 네이티브`하게 라는 말이 자주 쓰이고 있습니다.

일반 기업뿐만 아니라 공공 부문에서도 정부 서비스를 개발할 때 클라우드 네이티브를 중심으로 진행해야 한다고 언급할 정도입니다.

그렇다면 이러한 클라우드 네이티브라는 것은 대체 어떤 것이길래 많은 곳에서 이야기를 하고 있을까요?

  1. 클라우드 네이티브하다는 것은?

안녕하세요, 저는 클라우드 네이티브 컴퓨팅 재단(CNCF, Cloud Native Computing Foundation)의 앰버서더로 활동하고 있으며, 같은 재단의 클라우드 네이티브 교육 앰버서더인 Kubestronaut 인증을 가지고 있습니다.

따라서 다양한 기업에서 그리고 공공에서 클라우드 네이티브를 정의하고 있지만, 주로 저는 클라우드 네이티브 컴퓨팅재단에서 설명하고 있는 클라우드 네이티브를 기준으로 설명드리겠습니다.

(한국어 번역도 있지만, 일부 내용이 최신이 아니고 정확하게 해당 표현을 설명하고자 하면 영어 원문이 좀 더 정확해서 원문을 사용했음을 밝힙니다.)

Definition

Cloud native practices empower organizations to develop, build, and deploy workloads in computing environments (public, private, hybrid cloud) to meet their organizational needs at scale in a programmatic and repeatable manner. It is characterized by loosely coupled systems that interoperate in a manner that is secure, resilient, manageable, sustainable, and observable.

Cloud native technologies and architectures typically consist of some combination of containers, service meshes, multi-tenancy, microservices, immutable infrastructure, serverless, and declarative APIs — this list is non-exhaustive

[클라우드네이티브컴퓨팅재단에서 정의하는 클라우드 네이티브]

* 출처 : https://github.com/cncf/toc/blob/main/DEFINITION.md#definition

위의 내용을 기반으로 클라우드 네이티브하다는 것은 크게 3가지로 나눌 수 있습니다.

  1. 첫 번째 정의

다양한 클라우드 환경(퍼블릭, 프라이빗, 하이브리드)에서 프로그래밍 방식을 사용해서 반복적으로 워크로드(애플리케이션)를 확장/축소할 수 있어야 합니다.

Cloud native practices empower organizations to develop, build, and deploy workloads in computing environments (public, private, hybrid cloud) to meet their organizational needs at scale in a programmatic and repeatable manner.

반복적으로 코드를 사용할 수 있는 것에 대한 예제를 살펴보도록 하겠습니다.

다음의 Yaml 코드를 EKS(Amazon AWS), AKS(MS Azure), GKE(Google GCP) 그리고 온프레미스 어디에 배포해도 동일한 결과를 얻을 수 있습니다.

[[코드del-deploy.yaml]
 

[[상단부터 EKS, AKS, GKE 그리고 버추얼박스 위에 설치된 쿠버네티스에 동일한 Yaml 코드 배포]

이와 같이 클라우드 네이티브하게 작성된 코드를 이용한다면 코드의 대한 재사용성을 높이고 해당 코드를 어떤 환경에도 손쉽게 배포하고 운영할 수 있으므로 생산성을 극대화할 수 있게 됩니다.

  1. 두 번째 정의

느슨하게 결합된 시스템으로 인해 상호운용성을 높일 수 있고, 이러한 특성으로 보안, 관측가능성 외에 다양한 이점을 얻을 수 있습니다.

It is characterized by loosely coupled systems that interoperate in a manner that is secure, resilient, manageable, sustainable, and observable.

느슨한 결합(Loose Coupling)은 구성 요소간의 의존성을 줄여서 독립적인 동작을 가능케 하고, 이를 통해 전체 시스템의 안정화와 유연성을 함께 가지고 갈 수 있게 합니다. 또한 이렇게 느슨한 결합을 가지고 있는 애플리케이션이라면 이미 구조적으로 마이크로서비스 아키텍처(MSA, MicroService Architecture)에 적합하게 설계되어 있다고 볼 수 있습니다.

그러한 흐름에 따라 클라우드 네이티브에는 주로 모놀리식(Monolithic) 아키텍처보다는 기능별로 구성 요소들을 나누어 해당 구성 요소를 필요에 따라 배포의 수를 조절하고, 더이상 필요하지 않다면 삭제할 수는 마이크로서비스 아키텍처를 사용합니다. 이렇게 설계된 아키텍처라면 비즈니스적인 상황에 따라 애플리케이션의 형태 구조를 빠르게 변경 적용하여 운영할 수 있습니다.

마이크로서비스 아키텍처에 대한 예시로 Online-Boutique 애플리케이션을 배포하고 이를 이스티오(Istio) 서비스 메시를 통해서 확인하면 다음과 같습니다.


[배포된 Travel Demo Tutorial 애플리케이션을 이스티오(Istio)에서 확인]

  1. 세 번째 정의

클라우드 네이티브한 아키텍처는 제한이 없는 다양한 형태로 서비스를 제공할 수 있습니다.

Cloud native technologies and architectures typically consist of some combination of containers, service meshes, multi-tenancy, microservices, immutable infrastructure, serverless, and declarative APIs — this list is non-exhaustive

예를 들면 컨테이너를 기반으로 한 멀티 테넌시(multi-tenancy) 구조를 가지고 다양한 사용자 또는 고객이 공동으로 관리하고 운영하는 클러스터를 가질 수 있으며, 이는 매우 안정적으로 운영할 수 있는 환경을 가집니다. 이 환경에서 서버리스(Serverless), MLOps등을 손쉽게 구현할 수 있으며, 현재 가장 인기 있는 LLM에서의 소중한 자원인 GPU를 효율적으로 운영하는 데에도 사용될 수 있습니다.

  1. 클라우드 네이티브 하게 한다면?

지금까지의 설명에서 알 수 있는 것처럼 클라우드 네이티브하게 하게 위해서는 단순히 개발, 운영 등의 관련 모든 부서의 전반적인 혁신이 필요합니다. 이러한 혁신에서는 다소 감내해야 하는 노력과 시간이 필요하지만 그 결과는 특정 회사와 시스템에 종속되지 않는 진정한 자유로움을 얻으실 수 있으실 겁니다.

또한 클라우드 네이티브하게 동작하는 애플리케이션이라면 어떠한 환경에서도 실행이 가능하므로 개발자분들이 더 이상 동작하는 환경을 신경쓰지 않아도 됩니다. 따라서 개발 조직을 개발에만 전념하는 형태로 운영할 수 있습니다.

마지막으로 중요한 비용적인 관점에서 클라우드 네이티브하게 설계되어 운영된다면 최소한의 인력으로 많은 부분이 자동화 그리고 필요할 때 자원을 사용할 수 있도록 설계가 가능하기 때문에 저비용 고효율화가 가능한 형태로 운영하실 수 있습니다.

보다 많은 분들이 클라우드 네이티브하게 설계 운영하는 시작점이 되길 바랍니다.

소개 드리고 싶은 좋은 기사가 있어 내용의 일부를 발췌했습니다.

References

[아이티데일리] 생성형 AI와 클라우드 네이티브 바람 타고 성장 ‘총력’

[공개SW포털] [기고] 모두가 이야기하지만 일부만 아는 클라우드 네이티브하다는 것에 관하여

error: Content is protected !!