클라우드 네이티브(Cloud Native)의 부상

2022. 4. 4

CLIPBOARD
image_pdf

 

 

글. 오민석(메가존디지털 상무)

 

클라우드 네이티브(Cloud Native)는 클라우드 컴퓨팅 모델의 장점을 최대한 활용할 수 있는 애플리케이션을 개발하고 구축하며 실행하는 방법론을 말한다. 설계할 때부터 클라우드 환경에 맞게 애플리케이션의 아키텍처를 설계해 클라우드 환경에 대한 종속을 없애겠다는 것이 골자이다. 이 방법론에는 기술적인 요소와 솔루션, 조직 문화 등이 포함된다.

이는 디지털 전환(Digital Transformation)과 연관이 깊다. 디지털 전환이란 기업이나 조직이 가진 문제를 디지털 방식으로 해결하는 것이다. 디지털 전환이 성공하려면 기술과 비즈니스 모델, 기업문화의 변화가 잘 연동되어야만 한다. 이를 위해 기술은 보다 유연하고 확장성 있게 그리고 민첩하게 변화를 수용해야 한다. 이를 가능케 하는 것이 바로 클라우드(Cloud) 접근 방식이다.

 

이런 관점에서 클라우드는 디지털 전환을 성공하기 위한 기반 인프라로 볼 수 있다. 디지털 전환과 클라우드의 상관관계를 이해하기 시작한 많은 기업들은 최근 시스템을 클라우드로 전환하기 시작했다. 클라우드로 시스템을 전환하기 위한 전략은 크게 세 가지로 볼 수 있다.

기존 시스템을 단순히 클라우드에 마이그레이션하는 리호스팅(Re-Hosting)과 플랫폼 수준에서 리팩토링하는 리플랫포밍(Re-Platforming) 그리고 클라우드에 맞게 애플리케이션 자체를 새롭게 설계하고 구축해 이관하는 리라이팅(Re-Writing) 방식이 그것이다.

 

 

이 세 가지 방식 중 디지털 전환을 성공적으로 달성하기 위해서는 세 번째 방식인 리라이팅 방식을 채택해야 한다. 이를 ‘클라우드 네이티브(Cloud Native)’라 명칭하고 있으며 기업이 디지털 전환이라는 경영 전략을 수행하기 위해 필요한 기술적 유연성과 수용성을 제공할 것이다.

 

클라우드 네이티브의 개념과 특징

클라우드 네이티브는 기존의 인프라 패러다임으로 만든 애플리케이션 및 시스템과 구분해 클라우드 환경을 처음부터 고려해 만든 애플리케이션 및 시스템을 말한다. 처음부터 고려해 만들었다는 것은 클라우드 장점을 최대화한다는 이야기이며, 때문에 클라우드 네이티브는 이를 위한 접근 방식이나 기술을 총칭해 부르는 용어이기도 하다.

클라우드 네이티브는 그 특징을 기술과 비즈니스로 나눠서 살펴볼 수 있다. 우선 기술적인 특징의 첫 번째는 기존 방식에 비해 다양한 요소와 기술이 결합되어야 잘 만들 수 있다는 것이다. 이 점은 클라우드 네이티브의 장점을 기업이 인식하더라도 선뜻 이러한 접근 방식을 채택할 수 없다는 것과 일맥상통한다. 컨테이너 기술, 마이크로서비스 아키텍처(MSA)와 같은 모던(Modern) 아키텍처, 데브옵스(DevOps), 애자일(Agile) 방법론과 같은 여러 영역의 기술이 잘 오케스트레이션(orchestration)되어야 한다. 이를 위해서는 기술 내재화된 전문 인력이 필요하다. 두 번째는 유연성과 확장성이다. 이는 외부 환경이나 기술, 고객의 빠른 변화 등에 얼마나 빨리 대체할 수 있는지에 대한 것이다. 이것을 가능하게 하려면 MSA와 같은 아키텍처를 통해 애플리케이션을 설계하고 구축·운영해야 한다. 마지막 세 번째는 자동화된 도구의 활용이다. 클라우드 네이티브의 접근 방식으로 만들어지는 시스템은 기존 시스템에 비해 노드가 늘어나고 복잡도가 높아진다. 이러한 시스템을 잘 운영하기 위해서는 자동화된 도구 기반의 운영 요소를 고려한 설계 구축이 같이 진행되어야 한다. 이러한 개념을 구글에서는 SRE(Service Reliability Engineering)라는 개념으로 이야기하고 있다.

다음으로 살펴볼 것은 클라우드 네이티브의 비즈니스적인 특징이다. 첫 번째 특징으로는 비용의 최적화가 있다. 기존 방식으로 만들어진 특히 매우 복잡하고 규모가 큰 시스템을 클라우드로 운영할 때에 기업은 생각보다 많은 비용을 부담해야 할 수 있다. 클라우드의 장점을 최대한 활용해 비용을 최적화하기 위해서는 클라우드 네이티브 설계를 통해 부분 스케일 아웃(Scale-Out) 같은 접근 방식을 사용할 수 있어야 한다. 두 번째는 타임 투 마켓(Time to Market)이다. 기업이 원하는 서비스나 애플리케이션을 원하는 시점에 출시하기 위해서는 굉장히 유연한 시스템을 기반으로 민첩하게(Agility) 작업할 수 있는 시스템과 개발 환경 및 문화가 필요하다. 이러한 것을 가능케 하는 것이 클라우드 네이티브의 접근 방식이다. 마지막으로는 변화의 수용이 있다. 클라우드 네이티브를 통해 출시된 소프트웨어와 시스템은 보다 빠르게 고객 및 환경적 변화를 수용할 수 있다.

 

 

클라우드 네이티브를 위한 핵심 요소

클라우드 네이티브가 잘 구현되려면 앞서 언급한 클라우드 네이티브의 특징처럼 여러가지 기술 요소가 잘 오케스트레이션 되어야 한다. 그렇게 되기 위해 필요한 핵심적인 요소는 아래와 같다.

 

 

먼저 컨테이너 기술은 IT 이식성과 유연성을 확보할 수 있도록 한다. 인프라 환경의 ‘멱등성(Idempotence: 연산을 여러 번 해도 결과가 달라지지 않는 성질)’을 보장해 안정적인 환경을 제공하고 안전한 배포와 롤백을 가능하게 한다. 불변 인프라(Immutable Infrastructure), 지속가능한 인프라스트럭처의 코드화(Infrastructure as Code)와 같은 인프라 패러다임이 가능하도록 하는 데도 많은 기여를 한 것이 컨테이너 기술이다. 또 많은 컨테이너를 운영하기 위해서는 컨테이너 오케스트레이션 기술이 필요하며, 현재 이 영역에서 사실상 표준(de facto)으로 통용되고 있는 기술이 바로 ‘쿠버네티스(Kubernetes)’이다.

그 다음 마이크로서비스 아키텍처(MSA; MicroService Architecture)는 확장성이 높고 유연하며 스케일링이 유리한 애플리케이션을 설계하고 구축할 수 있다. 클라우드 인프라와 MSA를 결합하면 기술적·기능적 변화에 빠르게 대처할 수 있으며, 부분 스케일 아웃이나 결합 격리가 가능한 기반 구조를 제공할 수 있다. 그리고, MSA는 API를 통한 통신에 기반하며, API는 개발자가 새로운 애플리케이션 구성 요소를 기존 아키텍처에 통합하는 방식을 간소화한다. 이는 끊임없이 새로운 애플리케이션이 등장하고 비즈니스 요구사항도 빠르게 변화하는 디지털 시장에 맞춰 혁신적인 서비스를 신속하게 개발하고 배포할 수 있도록 지원한다. API 기반 설계에서는 직접 연결되거나 공유 메모리 모델 등에 연동되지 않고 WEB이나 모바일 상에서 API Gateway를 통해 API 서버와 서비스 중계 등을 한다.

 

 

데브옵스는 시스템 구축과 운영 과정에서 여러 이해 관계자들이 공동의 목표로 전 공정에서 품질과 보안 요소를 적용해 소프트웨어의 출시 리스타임을 단축할 수 있도록 한다. 또한, CI(Continuous Integration)/CD(Continuous Delivery)는 데브옵스 엔지니어의 핵심 업무에 속하는 것으로 특히, 통합 및 배포 단계에서 모니터링 지표 및 개발 방향 등 파이프라인을 구성하고, 이를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법이다. 고도화된 CI/CD는 공정을 자동화하고 시각화해서 품질을 보장하며 안전한 배포와 롤백을 가능하게 한다.

마지막으로 애자일 방법론은 식별된 요건(Product backlog)에 대해 보다 민첩하게 소프트웨어 개발 작업을 가능하게 하고 이 과정에서 고객과의 협력을 통해 고객 관점의 소프트웨어 품질을 보장할 수 있도록 한다. 그리고 무엇보다 중요하고 어려운 것은 이러한 핵심 요소 하나 하나를 잘하는 것을 넘어 모든 요소가 잘 어우러지도록 각 요소를 내재화하고 체계화하여 연계하고 융합하는 능력이다. 아래 그림은 이러한 핵심 요소들을 잘 연계하기 위한 클라우드 네이티브 구축 접근 방식을 보여준다.

 

 

기업 비즈니스 전략에서의 클라우드 네이티브 중요성

클라우드 네이티브는 기업들이 애플레이션 경쟁력을 확보할 수 있다는 점에서 애플리케이션 혁신의 새로운 트렌드로 떠올랐다. 현재 대부분 기업들은 애플리케이션을 기반으로 비즈니스를 하고 있다. 이는 곧 애플리케이션 경쟁력이 기업의 비즈니스와 직결된다는 것을 의미한다. 특히 최근 들어 멀티 클라우드, 하이브리드 클라우드, 커뮤니티 클라우드 등 다양한 배치 모델 형태의 클라우드 수요가 늘면서 클라우드 네이티브의 중요성은 더욱 강조되고 있다.

이렇게 빠른 속도로 변화하는 비즈니스 환경에서 살아남기 위해서는 적절한 대응책을 마련해야 한다. 현재 글로벌 경제, 문화, 기술 환경은 하나의 영향권 안에서 상호작용하며 빠르게 변하고 있고 고객 또한 예측할 수 없을 정도의 속도로 시시각각 다른 모습을 하고 있다. 이에 따라 기업의 비즈니스 모델이 가치를 만들어내려면 대내외적인 변화에 대해 발빠르게 대응할 수 있는 기반을 갖추고 있어야 하는 것이다.

또한 기존 방식은 작은 변화를 수용하기에 적절했지만 보다 큰 기술적·기능적 변화를 수용할 수 없기 때문에 기업들은 주기적으로 차세대 프로젝트를 수행해 왔다. 그리고 대내외적인 변화가 빨라질수록 기업의 차세대를 위한 주기는 더욱 짧아져 왔으며, 결국에는 엄청난 비용을 투자한 시스템의 사용 연한이 3~5년을 버티기 어려운 상황이 되었다. 이러한 문제를 해결할 수 있는 해답이 클라우드 네이티브의 접근 방식일 것이다.

클라우드 네이티브의 접근 방식으로 시스템을 설계·구축하면 작은 변화뿐만 아니라 큰 기술적, 기능적 변화도 대응할 수 있으며, 기업 전략에 따라서는 차세대가 필요 없는 시스템을 구축할 수도 있다. 최신 트랜드에 민감하게 반응할 수 있는 시스템을 가진 기업과 그렇지 못한 기업의 경쟁력은 시간이 흐를수록 점점 더 많은 격차를 만들어 낼 수밖에 없다. 이런 점에서 클라우드 네이티브는 기업 비즈니스 전략에서 이미 선택이 아니라 필수 요소로 점점 더 부각되고 있다.

 

금융 비즈니스에서의 중요성

시장조사업체 IDC에 따르면 2025년 출시되는 애플리케이션의 90% 이상이 클라우드 네이티브로 구현될 것으로 보인다. 가트너도 2025년 글로벌 조직의 85% 이상이 컨테이너화된 애플리케이션을 주 운영 환경에서 실행할 것으로 내다봤고, 솔루션 분석 전문 그룹 이밸류에이터그룹은 29%의 기업이 주 운영 환경에서 쿠버네티스를 이미 사용하고 있으며, 40% 기업도 주 운영 환경으로서 쿠버네티스를 테스트하고 있다는 설문 조사 결과를 제시했다. 이러한 흐름 속에서 최근 지난해 말 자본시장업계 IT 서비스를 제공하는 코스콤은 원장 및 정보 서비스의 MSA 아키텍처 기반 클라우드 네이티브 인프라 구현에 나섰다.

금융 산업의 경우 기존에는 비교적 변화가 적은 환경에서 고도화된 비즈니스 모델을 통해서 사업을 수행했지만 새로운 메가 트렌드가 등장하면서 이에 빠르게 대응해야 하는 시대를 맞았다. 현재 금융 산업은 4차 산업혁명의 패러다임과 맞물려 새로운 환경과 고객의 요구에 민감하게 반응하기 위한 다양한 변화를 모색하고 있다. 이런 혁신에 대한 트렌드로 다음과 같은 흐름이 보인다.

맞춤형 금융 서비스, 신용평가 체계의 고도화, 비대면 금융 거래의 확대, 지급결제 수단의 간편화와 다양화, 핀테크 등 새로운 접근 방식의 금융 플랫폼 구축 경쟁이 본격화되고 있다. 어떤 기업이 이러한 새로운 금융 산업 패러다임에 빠르게 적응하고 트렌드에 맞는 서비스를 할 수 있을 것인지가 향후 금융 산업의 리더가 될 수 있는 중요한 요소가 될 것이다.

금융 산업에서도 기존에 가지고 있는 문제점들을 디지털 방식으로 해결하고자 하는 디지털 전환의 화두는 여전히 중요하고 고객과 환경의 빠른 변화에 대응하기 위한 노력은 가장 중요한 경쟁력의 원천이 되고 있다.

특히, 금융 산업은 차세대 시스템에 대한 투자의 크기가 굉장히 큰 분야이다. 이런 특성을 고려할 때 해당 산업에서 고객과 환경의 빠른 변화에 따른 대응을 차세대 프로젝트로 계속 대응하기에는 RoI 측면에서 현실적이지 않다는 판단이다. 이런 문제를 해소하고 핵심 경쟁 요소와 트렌드에 민감한 시스템, 플랫폼을 경제적이고 효과적으로 구축하고 갱신해 나갈 수 있는 금융 산업에서의 해법도 역시 클라우드 네이티브를 통해 접근해야 할 것이다.

 

 

* 저작권법에 의하여 해당 콘텐츠는 코스콤에 저작권이 있습니다.
* 따라서, 해당 콘텐츠는 사전 동의없이 2차 가공 및 영리적인 이용을 금합니다.