DB 종류 다양화, 관리 접점 증가 등으로 부담 가중…데이터 가상화 등 새로운 전략 찾아야

[컴퓨터월드] 이제 클라우드로의 전환은 거부할 수 없는 흐름이다. 나날이 가속화되는 비즈니스 변화에 대응하기 위해서는 클라우드가 가져다주는 민첩함과 유연성이 필수가 됐다. 이에 전 세계 기업들은 애자일, 데브옵스, MSA와 같은 방법론을 통해 클라우드 환경에 최적화된 IT 인프라를 마련하기 위해 움직이고 있다.

IT 인프라가 큰 변화를 겪으면서 기업의 데이터 관리 전략도 변화하고 있다. 데이터의 규모와 종류가 다양해지고 이기종 DB에 대한 요구가 증가하면서, 이를 최적화하고 정합성을 확보하기 위한 새로운 방법이 요구되고 있다.


클라우드 네이티브로의 변화

메인프레임 시대나 클라이언트/서버(C/S) 시대에는 하드웨어(HW)가 소프트웨어(SW)의 성능과 기능을 결정했다. 연산 성능에 직결되는 것은 HW고, SW는 HW가 제대로 작동할 수 있도록 도와주는 역할이었다. 이 시기에는 HW에 대해 잘 아는 개발자들이 주어진 환경에서 잘 작동할 수 있는 SW를 기획하고 설계했다. HW의 성능은 구입하는 순간부터 변화하지 않으므로, 기업은 IT 인프라를 확대하고자 새로운 HW를 구입할 때 거기에 맞는 최적의 SW 성능과 기능을 산출해낼 수 있었다.

하지만 클라우드 시대에는 SW가 HW의 일부로만 존재하지 않는다. 뛰어난 확장성과 유연성을 갖춘 클라우드 환경에서는 필요에 따라 HW의 성능이 크게 바뀔 수 있다. HW의 성능이 설정돼 있지 않으므로 SW를 개발할 때 가장 최적화된 단 하나의 정답을 찾는 것은 불가능하다. 이제 SW는 지속적으로 변화하는 비즈니스 환경에 빠르게 적응할 수 있도록 유연하게 구성돼야 하며, HW와 관계없이 독자적으로 최적화된 성능과 기능을 제공해야 한다.

따라서 기업은 기존에 온프레미스 환경에서 운영하던 IT 시스템을 그대로 클라우드로 옮기는(list-and-shift) 것이 아니라, 클라우드 환경에 적합하도록(cloud native) 새롭게 디자인할 필요가 있다. 클라우드 환경에서 SW는 처음부터 완벽하게 설계돼서 제작되는 것이 아니라, 지속적으로 변화하는 환경에 빠르게 적응할 수 있는 유연성을 갖춰야 한다. 가장 대표적인 방법은 기존의 모놀리식(Monolithic) 아키텍처를 마이크로 서비스 아키텍처(MSA, Micro Service Architecture)로 전환하는 것이다.

클라우드의 장점은 확장성과 유연성을 바탕으로 인프라와 SW를 사용한 만큼만 지불(pay-per-use)해 비용을 절감할 수 있다는 점이다. 하지만 일부 조직에서는 전사 시스템을 클라우드로 전환했음에도 비용이 절감되지 않거나 오히려 증가하는 경우를 경험한다. 이는 전통적인 모놀리식 아키텍처로 개발된 IT 시스템을 클라우드로 그대로 옮겼을 경우 발생한다. 모놀리식 아키텍처에서는 일부 서비스에 대해서만 확장이 필요할 경우 연관돼 있는 다른 서비스들을 함께 확장해야 한다. 이는 서비스 간의 결합도(coupling)가 높기 때문이다.

▲ 일반적인 MSA 구성도

MSA는 비즈니스 관점에서 각각의 서비스들을 블록 단위로 분리하고, 이를 레스트풀(RESTful) API와 같은 방식으로 연결해 전체 서비스를 구성한다. 이렇게 되면 각각의 서비스들의 결합도가 낮아지므로 인프라를 확장해야 할 경우에도 개별 서비스 별로 유연하게 확장할 수 있다. 따라서 기업 전체적으로 서비스 품질을 유지하면서도 최적화된 클라우드 용량만 사용하게 되고, 이는 비용 절감으로 연결된다.

MSA를 적용하면 비즈니스 변화에 따라 시스템을 업그레이드하는 경우에도 효과적으로 대응할 수 있다. 기존의 모놀리식 아키텍처에서는 서비스 간의 결합도가 높아 개별적인 업그레이드가 불가능하고, 따라서 ‘차세대 시스템 구축사업’ 등을 통해 전체 시스템에 대한 통합 업그레이드를 진행해야 했다. 이는 시간과 비용이 많이 들어갈 뿐만 아니라 시스템 업그레이드 주기가 길어져 비즈니스 현장에서의 요구를 실시간으로 수용할 수 없다는 문제가 있다. 반면 MSA 상에서는 필요할 때마다 각각의 서비스를 개별적으로 업그레이드하더라도 전체 시스템 운영에 영향을 미치지 않으므로, 지속적 통합과 배포(CI/CD)를 통해 항상 최신의 서비스를 제공할 수 있다.


MSA가 데이터 관리 허들 높인다

클라우드 네이티브를 위한 MSA로의 전환이 기업의 IT 조직에게 긍정적인 영향만 가지고 오는 것은 아니다. 일부 업무에서는 오히려 기존의 모놀리식 아키텍처가 유리할 수도 있다. 특히 전사적인 데이터 관리와 활용 측면에서는 MSA로의 전환이 달갑지만은 않다.

MSA에서는 각 서비스 간의 결합도를 낮춰 서로에게 미치는 영향을 최소화하는 방법을 찾아야 한다. 그리고 결합도를 높이는 가장 큰 원인은 바로 같은 데이터 저장소를 공유하는 것이다. 동일한 데이터 저장소를 사용하는 서비스들은 필연적으로 서로 많은 영향을 주고받을 수 밖에 없으므로, MSA는 비즈니스 측면에서 서로 관련이 없는 서비스들을 나누고 각 서비스별로 서로 다른 데이터셋을 사용해 결합도를 낮추게 된다. 이는 각 서비스들이 해당 서비스에 가장 최적화된 DB를 사용해 비즈니스 효율을 향상시킬 수 있다는 장점도 갖는다.

하지만 데이터 저장소의 숫자가 많아지고 종류가 다양해지는 것은 데이터 관리 측면에서 부담이 가중되는 일이다. 데이터들이 다양한 데이터셋에 분산 저장되면 이를 전사적인(end-to-end) 관점에서 살펴보기 어렵다. 예를 들어 고객의 홈페이지 방문 이력 관리 서비스와 상품 구매 관련 서비스가 서로 다른 데이터셋을 사용한다면 두 가지 데이터셋을 동시에 참조해 인사이트를 만들어내기가 어려워진다. 서로 다른 서비스가 같은 데이터를 활용해야 한다면, 심지어 데이터값이 실시간으로 일치하지 않게 된다면 관리는 더욱 힘들어진다.

데이터 거버넌스 측면에서도 이전보다 더욱 강력한 관리체계가 필요하다. 기존의 모놀리식 아키텍처에서는 기업의 IT조직이 단일한 저장소에서 전사 데이터에 대한 통제와 표준 관리, 사용 이력 관리 등을 수행할 수 있었다. 하지만 데이터 저장소의 숫자와 종류가 늘어나고 각각의 데이터셋을 개별 서비스 운영·개발조직이 관리하게 되면 IT조직의 통제가 구석구석까지 미치지 않는다. 이런 상황에서 기업의 데이터 거버넌스 체계가 정확히 정립돼 있지 않다면 각각의 데이터셋은 서로 다른 표준과 기준을 적용해 중구난방인 데이터들을 생산하게 될 것이며, 장기적으로는 보안이나 컴플라이언스 측면에서 문제가 발생할 수도 있다.

▲ 오민석 메가존 이사

“성공적인 클라우드 네이티브는
                  데이터의 다양성을 확장한다”

오민석 메가존 디지털서비스그룹 DX랩(DX Labs) 이사


클라우드 네이티브를 만드는 MSA가 기존의 모놀리식 아키텍처보다 모든 면에서 좋은 것은 아니다. 마찬가지로 클라우드 네이티브 환경에서 생산되는 데이터가 무조건 더 좋다고도 할 수 없다. 다만 데이터 관점에서, 클라우드 네이티브가 데이터의 다양성을 크게 늘릴 수 있다는 것은 분명한 장점이다.

기존에는 사용자의 행동 데이터를 얻기 위해 ‘구글 애널리틱스(GA, Google Analytics)’ 추적태그를 심는다든가 하는 별도의 작업을 해야 했다. 하지만 MSA에서는 IT 시스템의 모든 기능 하나하나가 API로 연결된다. 사용자 관점에서 접할 수 있는 UI/UX 기능 하나하나가 API로 구성되므로, 각각의 API가 생성하는 로그데이터를 모으기만 하면 손쉽게 사용자 행동에 대한 데이터들을 수집할 수 있다. 이렇게 획득한 데이터들을 기존의 트랜잭션 데이터와 결합하고 퍼널 분석(Funnel Analysis)을 수행하면 고객들의 유입 경로나 상품 구매에 이르는 경로 등을 파악할 수 있다. 물론 데이터를 분석하고 시각화하기 위한 솔루션은 여전히 필요하겠지만, 최소한 데이터를 획득하기 위한 노력은 크게 줄어드는 것이다.

사람마다 견해가 조금 다르겠지만, 개인적으로 빅데이터의 가치는 규모가 아니라 다양성에서 온다고 생각한다. 그런 점에서 본다면 클라우드 네이티브 환경에서 적은 노력으로 데이터의 다양성을 확장할 수 있다는 것은 큰 장점이다. 만약 고객이 기업의 서비스 내에 머무르는 동안 모든 접점에서 적은 코스트로 데이터를 생산하게 만들고, 이를 적절한 분석 플랫폼과 서비스로 활용한다면 클라우드 네이티브라는 트렌드를 제대로 활용하고 있다고 볼 수 있다.

전사 데이터 파악 가능한 통합 플랫폼 필요

일각에서는 MSA에서 모든 데이터에 대해 완벽한 정합성을 요구하는 것은 가능하지도 않고, MSA의 개발 사상에도 맞지 않는다고 주장한다. 그런가하면 서비스들은 전부 개별적으로 나누되, 데이터는 단일한 중앙 저장소에 보관함으로써 정합성과 거버넌스 이슈들을 해결하자는 주장도 있다. 그만큼 단일한 데이터 저장소를 사용하는 기존의 모놀리식 아키텍처에 비해, MSA에서 전사적인 데이터에 대한 정합성을 검증하는 것은 어려운 일이라는 방증이다.

그럼에도 불구하고 MSA를 통해 성공적인 클라우드 네이티브 환경을 구현하기 위해서는 데이터 정합성을 무시할 수는 없다. MSA를 도입한 기업에서는 전사적인 데이터 관리를 위해 모든 서비스들의 데이터셋에 대한 지속적인 데이터 정합성 검증 등을 수행해야 한다. 이러한 데이터 검증 체계는 어떤 형태로 갖춰져야 할까? 기업 내 모든 서비스마다 정확하고 일관된 데이터 검증 체계를 적용할 수 있다면 좋겠지만, 개별 서비스들의 민첩한 확장과 변화를 장점으로 삼는 MSA에서는 쉽지 않은 일이다. 또한 데이터셋마다 개별적인 검증만을 수행해서는 전사 데이터들의 논리적인 관계성이나 이력 등을 검증하기 어렵다.

따라서 기업은 MSA 체계 상에서 전사적인 데이터 검증이 가능한 통합 데이터 저장소를 고민할 필요가 있다. 통합 데이터 저장소는 단순히 기업 내 모든 데이터가 담겨 있는 단일한 데이터 집합, 혹은 거대한 물리적 저장 공간을 의미하는 게 아니다. 통합 데이터 저장소는 기업 내 모든 개별 서비스에 종속돼 있는 데이터들을 단일한 공간에서 확인하고, 이들에 대한 정합성이나 관계성, 모델링, 품질, 컴플라이언스 이슈 등을 검증할 수 있는 기술들을 함께 갖추고 있어야 한다.


데이터 가상화로 정합성 확보 가능

데이터 정합성을 확보하기 위해 기업 내 모든 데이터들을 단일한 통합 데이터 저장소에 모으게 되면 필연적으로 어마어마한 규모의 물리적 인프라가 필요하게 된다. 각각의 서비스별 데이터 저장소를 유지하면서 새로운 복사본을 만드는 것이니 최소한 두 배 이상의 저장공간이 필요하기 때문이다. 이는 엄청난 구축 및 관리 비용이 들어가는 일이다. 또한 각각의 데이터셋에 대해 교차 검증을 수행할 때마다 ETL 등을 통해 데이터 레이크로 모든 데이터를 모으려면 그에 들어가는 시간과 비용도 만만치 않다. 클라우드 네이티브를 통해 IT 운영비용을 절감하려고 했는데, 오히려 통합 데이터 저장소의 존재로 막대한 지출을 떠안아야 한다면 모순이 아닐 수 없다.

▲ 엔코아의 데이터 가상화 솔루션 ‘DV#’ 개요

이럴 경우 데이터 가상화(Data Virtualization)가 효과적인 대안이 될 수 있을 것이다. 가상화라고 불리는 기술들이 흔히 그렇듯, 데이터 가상화는 물리적으로 분산돼 있는 데이터들을 논리적으로 연결한 가상의 레이어를 만든다. 보다 직접적으로는 메모리 상에 가상의 DB를 생성함으로써 물리적인 데이터 이동 없이도 원천 데이터에 대한 제한적인 접근이 가능하도록 만드는 기술이다. 가상의 DB에는 각각의 DB에서 원천데이터를 직접적으로 이동하지 않으므로 막대한 물리적 인프라를 갖추지 않아도 되며, 실제 데이터를 가지고 있지 않은 뷰(View)들을 생성해 논리적인 접근만을 수행할 수 있도록 한다.

또한 가상의 데이터 레이어는 사용자나 서비스가 요청하는 SQL를 다양한 데이터셋들에 맞춰서 재구성함으로써 데이터 접점을 단일화한다. 이를 통해 직접적인 ETL 등에 소요되는 비용과 시간을 아낄 수 있을뿐더러, 이기종 DB 간의 결합을 보다 손쉽게 시험하고 검증해볼 수 있다. 만약 기업에서 서로 다른 DB를 사용하는 A서비스와 B서비스의 데이터를 결합해 분석하고자 한다면, 결합한 데이터를 담을 새로운 데이터 레이크를 만들기 전에 미리 가상의 DB에서 시험적으로 데이터 결합을 시도해볼 수 있다.


데이터 마이그레이션, 장기적인 계획 세워야

사실 데이터 가상화는 본격적인 MSA 시스템을 운영하기 전부터 요구되는 기술이다. 기존의 모놀리식 아키텍처를 MSA로 전환하는 과도기에, 데이터 마이그레이션 단계에서 유용하게 사용될 수 있기 때문이다.

‘차세대 시스템 구축사업’ 등을 통해 기존의 모놀리식 아키텍처를 새로운 모놀리식 아키텍처로 전환하는 빅뱅 방식을 택할 경우, 데이터 거버넌스를 잘 정립해 ETL 솔루션 등을 하룻밤 돌리면 기존의 데이터들을 마이그레이션해서 새로운 데이터 저장소로 옮길 수 있다. 그러므로 기업은 특정한 시점을 기준으로 과거의 서비스들을 완전히 청산하고 새로운 서비스를 제공할 수 있다. 하지만 모놀리식 아키텍처를 MSA로 바꾸려는 경우에는 이와 같은 빅뱅 방식의 전면 교체가 불가능하다.

▲ 가상화 기술을 활용한 MSA로의 데이터 전환 전략

이는 단순히 데이터 저장소의 숫자나 종류와 관련된 문제가 아니라 MSA의 특성 때문이다. 서비스를 운영하면서 지속적으로 업그레이드를 하다보면 각각의 서비스들의 개발 속도가 같지도 않고, 서비스마다 가지는 데이터 구조가 수시로 변경될 수도 있다. 그래서 기존의 데이터들을 특정 시점에 새로운 저장소로 옮기는 것이 아니라 새로운 서비스를 제공하면서 지속적으로 과거의 데이터들에 접근하고 참조할 수 있도록 해야 한다. 따라서 빅뱅 방식의 데이터 이행보다는 더 오랜 시간과 비용이 발생할 수 있으며, 기존의 너저분한 데이터와 서비스들을 정돈하고 각각의 서비스에 실시간으로 데이터를 공급할 수 있는 기반을 마련해야 한다.

이처럼 MSA로 전환하는 단계에서 데이터 마이그레이션은 오랜 기간에 걸쳐 지속적으로 일어나야 한다. 데이터 가상화 기술을 사용하면 메모리 상의 가상 DB에서 기존의 데이터들에 손쉽게 접근할 수 있으며, 새로운 서비스들의 데이터 저장소에 탄력적으로 마이그레이션해 적재하는 것도 가능하다.


서비스 전략과 차별화된 데이터 관리 전략 필요

클라우드 네이티브는 만능이 아니다. MSA는 하나의 트렌드에 불과하다. 보는 측면에 따라서는 오히려 전통적인 모놀리식 아키텍처가 유리한 경우도 있다.

그럼에도 불구하고 클라우드가 가져다주는 민첩성과 유연성은 포기할 수 없는 가치다. 이미 그 어느 때보다 비즈니스 환경의 변화가 가속화되고 전 세계적인 흐름이 빈번히 뒤집히는 시대가 도래했다. 따라서 조직의 결정권자들은 클라우드를 포함한 새로운 기술들을 가장 효과적으로 도입하고 제대로 활용할 수 있는 방법을 고민해야 한다.

클라우드 네이티브를 위한 MSA에서, 비즈니스를 서비스 단위로 분리하고 운영하는 전략과 데이터를 관리하고 활용하는 전략은 서로 다른 각도에서 고려돼야 한다. 앞서 설명한 바와 같이 MSA 환경에서는 ▲분산되는 데이터에 대한 관리 ▲새로운 데이터 거버넌스 수립 ▲지속적인 데이터 마이그레이션 계획 마련 등의 문제가 선결돼야 한다.

기업의 진화와 혁신을 위해 데이터의 필요성과 가치가 더없이 높아진 오늘날, 가장 효과적인 데이터 관리 전략을 마련하기 위한 각고의 노력이 필요한 시점이다.

저작권자 © 컴퓨터월드 무단전재 및 재배포 금지