[디지털데일리 이종현기자] “2000년 초반까지만 하더라도 애플리케이션(앱) 개발은 물리 서버에 기반을 둔 모놀리식 아키텍처(MA)의 구조를 지녔다. 하지만 기술 변화에 따라 이제는 가상머신(VM)을 거쳐 컨테이너 환경이 됐고, 앱 구조도 마이크로서비스 아키텍처(MSA)로 바뀌었다. 앱의 현대화, 진화라고 볼 수 있다.”(이진현 맨텍 상무)
21일 이진현 맨택 상무는 정보통신산업진흥원(NIPA)과 디지털데일리가 20일부터 22일까지 3일간 진행하는 ‘오픈 테크넷 서밋 2022’ 둘째 날 ‘마이크로서비스와 서비스 메쉬’를 주제로 발표하며 이같이 밝혔다.
모놀리식 아키텍처, 마이크로서비스 아키텍처 등은 앱을 구성하는 형태를 의미한다. 앱에서 제공하는 여러 기능을 하나의 덩어리로 개발하는 것이 모놀리식 아키텍처, 레고블록처럼 여러 기능을 모듈화한 뒤 이를 조합하는 것이 마이크로서비스 아키텍처다.
이 상무는 “마이크로서비스 아키텍처는 클라우드 네이티브 아키텍처라고들 표현한다. 왜 이런 변화가 찾아왔냐면, 속도 때문”이라고 말했다.
그는 “과거에는 비즈니스의 변화가 크지 않았고, 앱에 대한 개발 주기도 길었다. 모놀리식 아키텍처로 구성하더라도 비즈니스에 지장이 있지는 않았다. 그러나 최근에는 비즈니스의 변화가 너무나도 빠르다. 특정 기업 같은 경우 매일 앱을 배포해야 하는데 과거처럼 인프라를 준비하고 빌드하고 배포하는, 수주 이상 걸리는 작업을 수행할 수가 없다. 그렇기에 앱을 잘게 쪼개고, 또 빌드 배포에 대해서는 자동화하는 상황에 처해졌다”고 부연했다.
이 상무에 따르면 최근 개발되는 앱의 대부분은 마이크로서비스 아키텍처의 구조를 띤다. 가령 일반인들에게 익숙한 대형 포털사이트의 경우 검색과 날씨, 인증, 배너광고, 뉴스, 쇼핑 등 각각의 기능 지닌 애플리케이션 프로그래밍 인터페이스(API)를 불러오는 구조라는 설명이다.
그는 “포털의 경우 대부분 날씨 서비스를 제공한다. 그런데 포털사들은 자체적으로 날씨 데이터를 가지고 있나? 아니다. 우리나라의 날씨 데이터는 기상청이 모두 갖고 있다. 기상청은 각 기업에게 데이터베이스(DB)에 대한 접근 권한을 주지 않는다. 그저 데이터를 가져가서 표출시켜주도록 해줄 뿐”이라며 “내가 직접적으로 서비스를 개발하거나 가지고 있지 않더라도 API를 통해 서비스를 호출해 내 서비스에 접목시킬 수 있는 구조, 이것이 마이크로서비스 아키텍처”라고 피력했다.
이 상무는 “마이크로서비스 아키텍처가 앱 개발의 주요 트렌드로 자리매김하면서 기업들은 기존 모놀리식 구조로 돼 있는 앱을 마이크로서비스로 전환하는 과제를 안게 됐다”며 “기존 통합된 DB를 어떻게 나눌지, 여러 서비스로 나눌 만큼 큰 덩어리인지, 나눈 서비스별 조직 체계는 어떻게 할지 등이 기업들이 고민해야 할 지점”이라고 전했다.
마이크로서비스 구조로 앱을 구현하는 것이 끝은 아니다. 하나의 덩어리였던 앱을 쪼갰다면 각 앱들이 서로 연계되는 구조를 만들어야 한다. 앱끼리 서로 호출하고, 인증·인가를 받아야 하는데 이를 수작업으로 한다면 마이크로서비스 구조는 의미가 없다. 여기서 등장하는 것이 애플리케이션 프로그래밍 인터페이스(API) 게이트웨이나 서비스 메쉬다.
그는 “통상 API 게이트웨이는 내부와 외부 자원간 통신 및 호출에 초점을 둔다. 가령 물리적인 서버, 가상머신, 컨테이너 등과 통신해야 한다면 API 게이트웨이가 요구된다. 반면 서비스 메쉬는 내부 자원들끼리만 통신·호출하면 되는 환경에서 쓰인다. 쿠버네티스(Kubernetes) 기반의 컨테이너로만 구성돼 있다면 서비스 메쉬로 구성한다”며 “다만 최근에는 서로의 기능을 따라가다 보니 기능적인 차이는 점차 없어지고 있다”고 밝혔다.
다른 것은 중앙 집중형 아키텍처냐, 분산 아키텍처냐다. 중앙 집중형 아키텍처인 API 게이트웨이는 L4, L7 스위치처럼 반드시 다중화 구조를 지녀야 하는 반면 분산 아키텍처인 서비스 메쉬는 하나가 장애가 나더라도 서비스에 지장은 없다고 밝혔다.