본문 바로가기

블로그

LG CNS 기술블로그 DX Lounge에서 최신 IT 소식을 만나보세요!

클라우드

시스템 구축을 하루 만에? 효과적 AM을 위한 서버리스 활용법

2023.01.10

서버가 없다? 서버리스 아키텍처의 오해

급변하는 비즈니스 환경 속 민첩한 대응을 위해 서버리스 아키텍처(Serverless Architecture)와 MSA(Micro Service Architecture)에 대한 관심이 날로 높아지고 있습니다. 클라우드 인프라 구성과 배포가 더욱 편리해지고, 성능이 향상됐습니다. 이번 글에서는 서버리스 아키텍처란 무엇인지, 서버리스 아키텍처의 특징과 장점 그리고 단점까지 낱낱이 파헤쳐 보겠습니다.

서버리스 아키텍처는 말 그대로, 서버가 없다는 뜻일까요? 골치 아픈 인프라 구성도 필요 없을까요? 대답은 ‘아니다’ 입니다. 이는 대표적인 서버리스 아키텍처에 대한 오해입니다.

서버리스 아키텍처에는 서버를 포함한 인프라 구성요소가 없는 것이 아닙니다. 개발자가 인프라 구성 시 고민해야 할 사항을 CSP(Cloud Service Provider, 클라우드 서비스 제공업체)에서 대신 관리하고, 개발자는 비즈니스 업무에 집중할 수 있도록 한 것이죠. 애플리케이션 품질을 향상시키고, 빠른 개발과 배포로 비즈니스 민첩성을 높일 수 있도록 말입니다.

서버리스 아키텍처도 다른 클라우드 서비스와 동일하게 클라우드 기반의 실행환경을 제공합니다. 또한, CSP에서 리소스를 동적으로 할당하고 코드를 실행하는 데 사용된 시간과 리소스의 양에 대해서만 비용을 청구하는 실행 모델을 제공합니다.

서버리스 코드는 일반적으로 △HTTP 요청 △데이터베이스 이벤트 △queue 서비스 △모니터링 경고 △파일 업로드 △예약된 이벤트(cron 작업) 등 다양한 이벤트에 의해 트리거될 수 있는 마이크로 컨테이너 내에서 실행됩니다.

클라우드에서 실행되는 서버리스 코드는 일반적으로 함수 형태입니다. 따라서 서버리스는 ‘FaaS(Functions as a Service)’라고도 합니다.

예를 들어, AWS의 Lambda를 활용해 사용자로부터 주문 입력을 받아, 주문 생성 및 데이터베이스에 저장하는 데 필요한 코드를 개발하는 방식입니다. 이 코드는 구성, 권한, 환경 변수 그리고 런타임이 모두 포함된 Lambda 함수로 패키지돼 AWS에 업로드 및 실행됩니다.

효과적인 AM 구축을 위한 서버리스 아키텍처 활용

AM(Application Modernization, 애플리케이션 현대화) 측면에서 서버리스 아키텍처의 특징을 살펴보겠습니다.

  1. 서버리스를 통해 자연스럽게 MSA 구성이 가능하며 개별 서비스의 배포 및 이노베이션이 가능하다.
  2. 사용한 만큼 비용을 지불하기 때문에 비용 효과적이다.
  3. 마이크로 서비스 간 API Driven 특성을 가지며 API별 비즈니스 재사용이 가능하다.

그렇다면 서버리스 아키텍처의 장점은 무엇일까요?

  1. 비즈니스의 민첩성을 높이기 위해 서비스 단위로 다양한 최신·최적 기술 적용
  2. 개발자가 온전히 비즈니스에 필요한 개발을 집중해 코드 품질 향상
  3. 서버 프로비저닝 및 관리의 부담 경감
  4. 자동 확장(Automatic scaling)이 가능해 스파이크 현상이 발생해도 유연하게 대응
  5. 사용한 만큼 비용 지불
  6. CSP에서 제공하는 고가용성 사용

이러한 특징과 장점만 보면 서버리스 아키텍처가 마치 특효약처럼 생각될 수도 있습니다. 하지만 서버리스 아키텍처에도 여전히 단점은 존재합니다. 서버리스 아키텍처 구축 시 이 점 역시 고려해야 합니다.

  1. CSP 기술에 Lock-in 발생
  2. CSP에서 제공하는 기술에 따라 차이점은 있지만 런타임 실행 시간 제약 및 리소스 제약
  3. 최초 요청 시 처리를 위해 준비 시간이 필요한 콜드 스타트

3년 전 코로나19가 처음 발생했을 때, LG CNS는 임직원의 건강 상태를 수집하고 최신 정보를 빠르게 전달할 수 있는 시스템이 필요했습니다. 사용자의 요청 사항이 특정시간에 집중돼 가용성 확보가 필요했죠.

만약 전통적인 온프레미스 환경이었다면, 아래와 같은 과정을 수개월에 걸쳐 진행했을 겁니다.

  1. 비즈니스 요구사항 수집
  2. 필요한 서버 견적 및 발주
  3. 랜선 연결 등 인프라 공사
  4. 서버가 입고된 후 필요한 OS 및 프로그램 설치
  5. 가용성을 고려한 애플리케이션 개발
  6. 테스트 및 배포

하지만 골든타임이 있었기에 수개월을 기다릴 수 없었습니다. LG CNS는 AM을 적용해 단 하루만에 시스템을 구축했습니다.

서버리스 아키텍처에 적합한 AM 시스템은 아래와 같습니다.

  1. 비즈니스 민첩성이 높은 시스템
  2. MSA 환경 필요
  3. 평상시에는 사용자 요청이 미미하나 특정 시간에 사용자 요청이 집중되는 업무
  4. 클라우드 서비스의 이상 감지 또는 배치 Job 등 클라우드 자원의 이벤트에 따른 모니터링이 필요한 시스템

반면, 서버리스 아키텍처의 단점으로 인해 아래의 특성을 가지는 AM 시스템의 경우에는 적합하지 않습니다

  1. 단 한 건의 예외를 인정하지 않고, 수백 밀리세컨드로 응답해야 하는 경우
  2. 비즈니스 한 건 처리를 위해 몇 시간을 필요로 하는 시스템 (예: 1시간 이상 실행이 필요한 배치 Job을 처리해야 하는 경우)
  3. 365일 24시간 동안 지속적으로 대량의 데이터를 처리해야 경우, 비용 효과적인 측면 고려

지금까지 살펴본 것처럼 서버리스 아키텍처는 AM 시스템으로의 특징과 많은 장점을 가지고 있습니다. 서버리스 아키텍처를 한 문장으로 요약한다면 이렇게 말할 수 있습니다.

‘인프라 관리를 CSP에 위임해 비용 효과적이며, 빠르게 AM 시스템을 구축할 수 있는 유연한 아키텍처’

미래의 비즈니스는 지금보다 더 빠르게 변화할 겁니다. 빠른 변화에 대응하기 위해선 AM 시스템 구축이 필요합니다. AM 시스템 구축에 특화된 서버리스 아키텍처를 통해 비즈니스 민첩성을 높여보세요.

글 ㅣ LG CNS 빌드센터 마이크로서비스개발팀 노승갑 책임

챗봇과 대화를 할 수 있어요