정용석 효성인포메이션시스템 수석컨설턴트
정용석 효성인포메이션시스템 수석컨설턴트

디지털 서비스가 폭발적으로 증가하면서, 기업들은 고객의 요구 사항과 시장 변화, 기술 변화에 민첩하게 대응하고 비즈니스에서 경쟁 우위를 확보하기 위해 분주하게 움직이고 있다. 디지털 경험을 이끄는 주요 인프라인 클라우드 시장이 확산하면서 디지털 서비스와 클라우드 관련 기술 확보는 이제 선택이 아닌 필수 과제가 됐다.

특히 디지털 비즈니스를 선도하고 있는 주요 기업들이 앞서 도입 중인 ‘클라우드 네이티브’는 클라우드 시장 확산과 맞물려 IT 트렌드의 대세로 떠오르고 있다. 하지만 많은 기업들이 시도중인 ‘클라우드 네이티브’는 도대체 무엇이고, 어떻게 어떤 과정을 거쳐 구현해야 하는 것이며, 과연 모든 기업들이 ‘클라우드 네이티브’로의 전환이 필요한가에 대해서는 좀 더 알아볼 필요가 있다.

속도와 민첩성 겸비한 ‘클라우드 네이티브’

최근 떠오르고 있는 ‘클라우드 네이티브(Cloud-Native)’는 조직이 퍼블릭, 프라이빗, 하이브리드 클라우드 같은 현대적이고 동적인 환경에서 확장이 가능한 애플리케이션을 개발하고 실행할 수 있게 해준다. 즉, 클라우드의 장점을 최대한 활용할 수 있도록 애플리케이션을 구축하고 실행하는 방식이다.

가트너가 발표한 2022년 10가지 전략 기술 트렌드에서도 ‘클라우드 네이티브’는 한 자리를 차지하고 있다. 가트너에 따르면, 클라우드 네이티브 플랫폼은 2021년 기준 40% 미만에서 2025년까지 새로운 디지털 이니셔티브의 95% 이상을 차지할 것이라고 예측하고 있다. 기업이 탄력성과 확장성을 지닌 클라우드 네이티브 플랫폼을 기반으로 디지털 비즈니스의 가치를 창출하게 된다는 의미다.

클라우드 네이티브는 먼저 기업 내 애플리케이션의 더욱 빠른 배포, 쉬운 확장 그리고 서비스 중단을 줄이겠다고 결단을 내리는 것에서 시작한다.

클라우드 네이티브 애플리케이션은 클라우드 컴퓨팅 모델의 장점이 녹아든 기존 소프트웨어와 새로운 소프트웨어 개발 패턴의 조합이라고 볼 수 있다. 기존 패턴을 소프트웨어 자동화(인프라와 시스템), API 통합, 서비스 지향의 아키텍처라고 한다면, 클라우드 네이티브 패턴은 마이크로서비스 아키텍처(MSA), 컨테이너화된 서비스, 분산 관리와 오케스트레이션으로 구성된다. 클라우드 네이티브 애플리케이션을 성공적으로 개발하려면 클라우드 네이티브 아키텍처 설계와 개발된 애플리케이션이 인프라에 미치는 영향을 먼저 이해해야 한다.

클라우드 네이티브 애플리케이션의 주요 특징은 ▲서비스와 API 기반의 개발에 대한 민첩성 ▲구현된 결과물을 지속적이고 자동으로 배포할 수 있는 시스템 구축 ▲개발와 운영팀과의 효율적인 커뮤니케이션 ▲‘개발-테스트-프로덕션’과 같은 여러 형태의 운영과 테스트 환경 지원 ▲사용자 요구에 따른 수평적 확장 가능성 등이다.

마이크로서비스 아키텍처 기반 ‘클라우드 네이티브 애플리케이션’

글로벌 리서치 업체인 ESG(Enterprise Strategy Group)는 컨테이너 개발, 쿠버네티스, CI/CD(Continuous Integration/Continuous Delivery) 파이프라인을 통한 IT 운영 간 격차 해소 등 클라우드 네이티브 애플리케이션 트렌드를 파악하기 위해 북미 지역 IT 전문가 387명을 대상으로 설문 조사를 실시했다.

설문에 참여한 대부분의 기업은 애플리케이션 현대화에 상당한 진전이 있는 것으로 조사됐다. 응답 기업의 약 73%가 현재 마이크로서비스 아키텍처에 기반한 클라우드 네이티브 애플리케이션을 개발 중이라고 밝혔으며, 응답자의 3분의 1 이상은 향후 2년 이내에 운영 애플리케이션의 절반 이상을 마이크로서비스, 클라우드 네이티브 아키텍처 기반으로 전환할 예정이라고 답했다. 또한 10개 중 9개 기업이 운영 애플리케이션과 서버 워크로드를 퍼블릭 클라우드 인프라나 플랫폼 서비스에서 이용하고 있는 것으로 나타났다.

데이터 센터에서 에지(edge)와 클라우드 서비스로, 클라우드에서 클라우드로의 이동 등 애플리케이션의 이동성에 대한 질문에는 애플리케이션의 이동성이 매우 중요하다고 답한 기업이 약 86%를 차지했다. 애플리케이션 이동성의 중요성에 대한 인식은 클라우드 전략에 따라 기업 간 2배의 격차가 있었다. 순수하게 퍼블릭 클라우드 측면에서 클라우드 네이티브 애플리케이션에 접근하는 기업들보다 하이브리드 전략을 선택한 기업들이 애플리케이션 이동성이 중요하다고 답한 경우가 두 배 이상 많았다(30% 대 14%).

클라우드 네이티브 애플리케이션 전략을 선택한 기업들은 이미 상당한 성과를 누리고 있었다. 응답 기업의 90%가 하나의 퍼블릭 클라우드에서 다른 퍼블릭 클라우드 또는 온프레미스 인프라로 클라우드 네이티브 워크로드를 이동하는 프로세스가 기존 애플리케이션에 비해 훨씬 더 빠르다고 답했으며, 특히 응답자의 30%는 놀라울 만큼 빠른 프로세스를 경험하고 있다고 밝혔다. 응답 기업의 절반 이상이 클라우드 네이티브 애플리케이션 개발이 배치 효율성(57%), 초기 오류 식별(56%), 코드 리뷰 효율성(55%) 등 여러 측면에서 매우 긍정적인 영향을 미치고 있다고 답했다.

산적한 과제, 관건은 ‘플랫폼’

클라우드 네이티브 접근방식은 비즈니스에 많은 이점을 제공하는 한편, 해결해야 할 과제도 적지 않은 것으로 조사됐다.

응답 기업의 34%는 클라우드 네이티브 애플리케이션과 관련한 주요 이슈로 ‘보안’을 꼽았다. 이와 함께 컴플라이언스 준수, 성능 모니터링의 부족, 클라우드 서비스 자체 구매 그룹의 섀도 IT(Shadow IT) 경향 등도 해결해야 할 과제로 지적했다.

클라우드 네이티브 애플리케이션을 도입 중인 기업의 약 20%는 가장 중요한 고려 요소로 개발자용 인프라 제공을 꼽았다. 클라우드 네이티브 구현을 주요 접근방식으로 택한 기업들은 기반 플랫폼으로 컨테이너, FaaS(Function as a Service), 서버리스를 균등하게 분할해 이용하는 것으로 나타났다. 이런 추세는 향후 2년간 크게 변하지 않을 전망이다. 이는 특정 클라우드 네이티브 애플리케이션과 워크로드를 가진 환경에서 특정 플랫폼이 더 잘 동작할 수 있다는 것을 의미한다.

많은 기업이 향후 12~18개월 동안 클라우드 네이티브 애플리케이션 개발을 지원하는 기술, 서비스, 인력 관련 투자를 늘릴 계획이라고 응답했다. 이는 주로 데브옵스(DevOps), 애플리케이션 개발, IT 운영팀 간 협력을 강화하기 위함이다. 클라우드 네이티브 아키텍처로의 전환을 고려하기 이전에 해결해야 할 일도 있다. 자사의 애플리케이션 중 보안상의 이유로 클라우드로 이전하지 못하는 서비스나 애플리케이션을 파악하고, 온프레미스와 클라우드 운영에 필요한 비용을 비교하는 것 등이다.

클라우드 네이티브 시작은 SDDC에서부터

클라우드 네이티브를 위한 기술의 핵심은 애플리케이션을 어디에 어떻게 만들고 배포하는지가 아니라, 안정적인 서비스를 적시에 제공해 비즈니스 가치를 창출하는 것이다.

클라우드 네이티브를 구현하기 위해서는 애플리케이션을 빠르게 배포하고 지속해서 업데이트할 수 있는 컨테이너 기술, 서비스의 개발 주기 단축과 개발자들의 편의성을 향상하기 위한 마이크로서비스 아키텍처를 이용한 개발 접근 방식이 있다.

클라우드 네이티브 구현을 위해서는 비즈니스 성장에 따른 대응력과 민첩성, 확장성을 갖춘 일관적인 인프라 구조와 자동화 도구가 필요하다. SDDC(Software-Defined Data Center)는 서버, 스토리지, 네트워크 인프라를 가상화 기술로 단순화할 수 있기 때문에, 클라우드 네이티브 구현에 매우 적합한 환경이 될 수 있다. 특히 클라우드 서비스는 연속성이 매우 중요한데, SDDC 환경에서는 가상머신이나 하드웨어 장애가 발생하더라도 이를 신속하게 대처하고 복구할 수 있으며, 비즈니스가 성장해도 서비스에만 집중할 수 있는 일관된 환경을 제공한다.

SDDC의 주요 이점
SDDC의 주요 이점

클라우드 네이티브 구현을 위해 가장 많이 사용하는 기반 기술은 ‘컨테이너’다. 컨테이너는 운영체제 없이 애플리케이션을 실행할 수 있는 환경을 제공한다. 가상머신과 비교해 CPU와 메모리를 적게 소모하며, 자원을 효율적으로 활용할 수 있다. 애플리케이션 구동이 몇 초 내에 가능하고, 배포 속도도 빠르다.

마이크로서비스 아키텍처는 애플리케이션을 독립적인 최소 구성 요소로 분할한다. 이 때문에 서비스별 개발이 가능하고, 개발자들의 코드 이해도가 향상되기 때문에 수정이나 업데이트가 쉽다. 즉 개발 주기를 단축하고 신속한 서비스 배포가 가능해짐으로써 서비스 확장이나 가용성 향상 등의 이점이 많아 클라우드 기반에서 매우 적합한 아키텍처다.

하지만 다양한 장점에도 불구하고 컨테이너나 마이크로서비스 아키텍처가 모든 기업에 적합한 것은 아니다. 디지털 서비스에 특화된 스타트업에는 서비스를 지속해서 수정하고 개선할 수 있다는 점에서 좋은 솔루션이 될 수 있다. 그러나 이미 구축된 애플리케이션과 운영·조직, 인프라를 갖춘 일반적인 기업의 경우 클라우드 네이티브를 구현하기 위해 기존 애플리케이션을 수정하는 것은 바람직하지 않을 수 있다. 이는 차세대 시스템 구축과 동일한 수준의 시간과 비용, 노력이 들어가기 때문이다. 따라서 기업마다 자사의 환경과 방향성을 명확하게 파악하고 적합한 방법을 추진하는 것이 매우 중요하다.

클라우드 네이티브를 위한 최적의 인프라

그렇다면, 클라우드 네이티브를 구현하려면 어떤 전략이 필요할까? 간단히 설명하면 클라우드 네이티브를 위한 최적의 인프라는 ‘SDDC 플랫폼 위에 컨테이너를 효율적으로 사용할 수 있는 쿠버네티스가 통합된 솔루션’이다.

쿠버네티스는 오픈소스 기반의 컨테이너 오케스트레이션 도구로 이미 시장에서 폭넓게 사용되고 있다. 검증된 솔루션을 포함한 패키지를 도입하면, 수많은 구성 요소를 설치하는 일이나 구성요소 간 설정 작업이 용이해 단 하루 만에도 구현할 수 있다. 컨테이너 구성 경험이 미숙하거나 전문 지식이 없어도 되며, 환경 구현에 소모되는 시간과 비용을 줄일 수 있다.

쿠버네티스 솔루션 패키지가 통합된 컨테이너 기반의 HCI 플랫폼을 통해 기존의 레거시 운영 환경뿐 아니라 마이크로서비스 운영 환경, 빅데이터 분석이나 AI, 머신러닝 개발 등에도 대응이 가능한 환경을 마련할 수 있다.

관련기사

저작권자 © 지티티코리아 무단전재 및 재배포 금지