포스트코로나 시대의 디지털 기업을 위한 클라우드 네이티브

포스트코로나 시대의 디지털 기업을 위한 클라우드 네이티브

2020년은 그 어느 해보다도 디지털 트랜스포메이션이 가속화된 해였고, 이에 따라 클라우드 수요도 많이 증가하였습니다. 마치 평소에는 잘 느끼지 못하는 공기처럼, 우리의 일상 또한 점점 클라우드로 채워지는 듯 합니다. 이제는 유치원 아이들도 클라우드 기반의 온라인 수업에 익숙해졌을 정도로 클라우드는 보편적으로 확산하고 있습니다. 이처럼 클라우드는 코로나 팬데믹 동안 서로 다른 위치에 있는 학생과 선생님, 고객과 기업, 직장 동료를 이어주는 매우 중요한 매체가 되었습니다.

예상치 못했던 코로나 대유행의 장기화로 인해 시장과 고객의 변화가 커지면서 기업은 대응 방안으로 클라우드 도입을 가속하고 있습니다. 더구나 많은 기업이 경쟁 우위를 유지하고 제품과 서비스를 더 빠르게 출시하며 비용을 통제할 수 있는 디지털 기업으로 거듭나기를 원하고 있습니다. 하지만, 현재의 클라우드 전략은 기존의 IT 인프라를 클라우드 기반으로 마이그레이션하는 것에 집중하는 경향이 있습니다. 비즈니스는 여전히 사일로 형태의 기능 중심으로 전개하면서, 각 사일로 업무를 지원하는 IT 인프라만을 클라우드로 마이그레이션하는 것처럼 보입니다. 이러한 현상이 지속한다면, 실제 사용자들이 체감하는 효과는 처음의 기대와 달리 크게 향상되지 않을 수 있습니다. 결국 클라우드는 수단이 아니라 목표가 될 것이고, 그 목표가 달성된 이후에는 새롭게 추구할 만한 전략을 발견하기 어려울 수도 있을 것입니다.

기업이 기민하다면 끊임없이 새로운 도전에 빠르게 적응할 수 있습니다. [그림 1]에서 보는 것처럼, 점차 애플리케이션이 중심이 되는 시대에 디지털 기업으로 전환하고자 한다면, 비즈니스 기민성을 확보하는 것이 매우 중요합니다. 기업은 코로나와 같이 갑작스럽게 변화될 수 있는 비즈니스 환경에도 신속하게 적응할 수 있는 “클라우드 네이티브 전략”을 진지하게 고민하고 검토할 시점입니다.

age of the network(connectivity)
  • monoliths in servers,delivered in months, on premise
age of infrastructure services(IT agility)
  • multi-tier apps VMs,delivered days,single cloud
age of application services(Business agility)
  • microservices incontainers,delivered minutes,multi-clouds and devices
[그림 1] IT 인프라 패러다임의 변화 (출처: The New Stack)[1]

CNCF(Cloud Native Computing Foundation)에 의하면, 미래의 클라우드 환경은 퍼블릭, 프라이빗, 하이브리드 클라우드와 같은 다이나믹한 환경에서 유연하게 확장 가능한 애플리케이션을 구축하고 실행할 수 있도록 지원하는 “클라우드 네이티브” 기반으로 변화할 것으로 전망합니다.

클라우드의 확장성과 유연성을 활용하면서 새로운 형태의 애플리케이션 개발 속도를 높이기 위해 실제로 클라우드 네이티브에 대한 관심과 선호가 증가하고 있습니다. 클라우드 네이티브를 통해 새로운 제품이나 서비스를 빠르게 개발하고 지속적으로 개선하면서 고객의 요구에 맞게 즉각적으로 수용할 수 있기 때문입니다. 다시 말해, 클라우드 네이티브는 새로운 요청사항에 신속하게 대응하여 시장에 더 빠르게 진출하고, 혁신적인 제품과 서비스를 제공함으로써 고객에게 전달하는 가치를 극대화하고 경쟁우위를 확보할 수 있게 합니다. 이를 통해 기업은 더욱 기민해지고 새로운 디지털 비즈니스 모델로 고객의 니즈와 시장의 변화에 신속하게 대응할 수 있습니다.

클라우드 네이티브는 아래와 같은 장점을 지니고 있습니다.

• 확장성 : 온디맨드로 제공하며, 부하, 성능 등에 따라 애플리케이션을 자동으로 확장과 축소할 수 있습니다. 비즈니스 및 클라우드 사용량이 증가함에 따라 다양한 디바이스에서 더 많은 사용자를 지원하고 고객 및 직원 경험을 유지할 수 있습니다.
• 복원성 : 서비스가 중단되거나 장애가 발생하여도 신속하게 자동 장애 조치 및 재해 복구 메커니즘을 활용하여 온라인 상태를 계속 유지할 수 있습니다. 단일 프로세스 기반의 모놀로식 애플리케이션과 달리 분산 아키텍처를 수용하기 때문에, 애플리케이션의 실패를 허용하도록 설계할 수 있어 실패의 영향을 제한할 수 있습니다.
• 관리 편의성 : 쉽게 변경하거나 업데이트할 수 있도록 구성(configurable)함으로써 편리하게 관리할 수 있습니다. 새로운 제품이나 서비스를 더 쉽고 빠르게 배포할 수 있습니다.
• 관찰성 : 관찰할 수 있도록 설계하고, 시스템 상태의 변화와 조건에 대한 상세한 이벤트를 제공할 수 있습니다.
• 이동성 : 클라우드에서 클라우드로 유연하게 이동할 수 있습니다.

클라우드 네이티브의 핵심은 고객에게 가치를 제공하기 위한 리드 타임을 지속적으로 최소화하는 것입니다. 기업은 클라우드 네이티브를 통해 프로비저닝, 확장, 지속적인 통합 등에 대한 자동화 작업으로 IT 운영 시간을 절감할 수 있습니다. 그렇게 하려면, 새로운 클라우드 기술을 익히고 이러한 기술이 기존 솔루션과 플랫폼으로 어떻게 통합되는지 이해해야 합니다.

마이크로서비스, 컨테이너, DevOps는 최소의 위험과 비용으로 클라우드 네이티브를 구현하고, 기업이 비즈니스 기민성을 확보할 수 있도록 지원합니다[2]. 마이크로서비스는 애플리케이션을 소규모 서비스의 모음으로 개발하는 아키텍처 방식입니다. 서비스 자체적으로 비즈니스 기능과 프로세스를 갖고 있고, 독립적으로 관리할 수 있기 때문에 전체 애플리케이션이나 고객 경험에 영향을 주지 않고 변경하고 테스트할 수 있습니다. 컨테이너는 클라우드에서 실행할 수 있도록 전체 패키지를 래핑하는 수단으로, 애플리케이션을 확장할 수 있도록 지원합니다. 패키지를 하면 인프라와 관계없이 어디서나 실행할 수 있는 애플리케이션을 배포할 수 있습니다. DevOps는 애자일 방법론에 따라 다양한 팀 간에 지속적인 협업을 가능하게 하는 애플리케이션 개발 프로세스로, 클라우드 네이티브 애플리케이션을 더 빠르게 배포할 수 있도록 지원합니다.

클라우드 네이티브 애플리케이션은 확장성을 고려한 클라우드 기반으로 디자인해야 하고, 애플리케이션을 구성하는 서비스들은 느슨하게 연결하는 구조를 지니고 있어야 합니다. [그림 2]와 같이, 클라우드 네이티브 아키텍처는 자동화, 확장성, 운영성을 위한 다양한 기능을 제공함과 동시에, API 기반의 통합 기능을 제공합니다. CI/CD(Continuous Integration and Delivery) 방식을 적용하면 애플리케이션을 매일 업데이트할 수 있으며, 개발자는 셀프서비스를 통해 애플리케이션을 자동으로 배포할 수 있습니다. Kubernetes, Mesos와 같은 컨테이너 오케스트레이션은 컨테이너를 관리하고 컨테이너를 애플리케이션으로 사용할 수 있도록 지원합니다. FaaS(Function as a Service)는 확장이 필요한 빅데이터 이벤트 기반의 워크로드나 IoT 시스템에 적합합니다. 서버리스 컴퓨팅을 사용하면 특정 인스턴스에서 실행하는 코드에 대해서만 요금을 부과하기에 운영 비용을 절감할 수 있습니다. API 개발 및 관리를 위한 인터페이스를 제공합니다. 따라서, API를 중심으로 통합 아키텍처를 정의하고, 디지털 경험을 제공하는 데 있어서 비즈니스 기능을 효과적으로 노출하기 위해 표준을 적용하는 것이 중요합니다.

Digital Channels
  • Developer Potal: identity and Access Management,Api Management
Digital Products
  • Business Insights Report: Observability
  • Container Orchestration Platforms, Function as a Service
  • infrastructure (Private, Public, Hybrid)
[그림 2] 디지털 기업을 위한 클라우드 네이티브 아키텍처 (출처: InfoQ)[3]

온프레미스 애플리케이션은 초기에 데이터센터를 포함한 시스템 인프라를 설정하는 데 큰 비용을 지출해야 하기에 TCO(Total Cost of Ownership)가 높아집니다. 반면, 클라우드 네이티브 애플리케이션은 사용한 만큼만 비용을 지불하는 방식이므로 TCO를 낮추고 ROI를 향상할 수 있습니다. [표 1]에서 보는 것처럼, 클라우드 벤더는 자체 클라우드 플랫폼을 통해 클라우드 네이티브 서비스를 제공합니다. 벤더들이 제공하는 클라우드 네이티브 서비스를 자사의 비즈니스 모델에 적용 가능한지 대조, 검토해 보고 로드맵을 수립해 보길 권장합니다. 무작정 세상의 모든 오픈소스를 검토하는 것보다 많은 시간과 비용을 절약하고 생산성을 향상할 수 있을 것입니다.

[표 1] 주요 클라우드 벤더의 클라우드 네이티브 서비스
구 분 Amazon Web Service Microsoft Azure Google Cloud Platform
IaaS EC2 Virtual Machines Compute Engine
Containers ECS
EKS
AKS
Container
Instances
Kubernetes
Engine
Serverless Lambda Functions Cloud Functions
Paas Elastic Beanstalk App Service
Service Fabric
Cloud Services
App Engine
API Management API Gateway API Management Cloud Endpoints
[표 1] 주요 클라우드 벤더의 클라우드 네이티브 서비스

디지털 기업은 전체 가치사슬을 디지털화함으로써 기업 내 비즈니스 기능을 신속하게 통합하고 수익화하는 것을 목표합니다. 이러한 디지털 기업에 있어 클라우드 네이티브는 선택이 아닌 필수입니다. 온프레미스 애플리케이션과 달리 클라우드 네이티브 애플리케이션은 분산 시스템을 적용하기 때문에 신속하고 민첩한 상태를 유지할 수 있습니다. 클라우드 네이티브는 디지털 기업으로서의 니즈를 충족하고 디지털 트랜스포메이션을 위한 핵심 인프라로서 고객 경험을 빠르게 개선하는 데 중요한 동력이 될 것으로 예상합니다. 클라우드 네이티브 전략을 수립할 때에는 변경 관리 전략과 로드맵을 포함해야 하며, 비즈니스 문제를 해결하는 데 적합한 기술과 인재를 적재적소에 고용할 수 있어야 합니다. 이렇게 클라우드 네이티브를 도입하는 기업은 미래의 어떤 과제에도 적절하게 대응할 수 있는 기업이 될 것입니다.


References
[1] https://thenewstack.io/kubernetes-steering-the-ship-with-cloud-native-management/
[2] https://www.genpact.com/insight/blog/cloud-native-applications-preparing-your-business-for-the-future
[3] https://www.infoq.com/articles/cloud-native-architecture/




▶  해당 콘텐츠는 저작권법에 의하여 보호받는 저작물로 기고자에게 저작권이 있습니다.
▶  해당 콘텐츠는 사전 동의 없이 2차 가공 및 영리적인 이용을 금하고 있습니다.


공유하기 열기
최성철
최성철 클라우드 전문가

삼성SDS 전략마케팅팀

Corporate Strategy & Business Development, and Customer Success Lead