48
새롭게 떠오르는 소비시장, 액티브 시니어
49

서버 없는 세상, 서버리스가 가져올 클라우드의 혁신

2024.05.03

서버 없는 세상, 서버리스가 가져올 클라우드의 혁신


목차


  1. 서버리스란?
  2. 서버리스의 시장 성장률
  3. 서버리스 핵심 구성요소
  4. 서버리스 장점과 고려사항
  5. 서버리의 사용 예시
  6. 이모션글로벌이 생각하는 앞으로의 기대효과



서버리스란 ?


서버리스란 ?
이미지 출처: https://www.sharedit.co.kr/posts/6005

서버리스 (Serverless)는 ‘서버가 없다’ 라고 직역할 수 있습니다.


하지만 어떤 서비스든 저장소와 서버는 필요하기 때문에 정확히 말하자면, 실제 서버가 없는 것은 아니고 클라우드 컴퓨팅의 한 형태로, 개발자가 서버 또는 백엔드 인프라를 *프로비저닝(Provisioning)하거나 관리하지 않고도 애플리케이션을 설계하고 실행을 클라우드 서비스 제공 업체(CSP)가 자동으로 실행해 주어 개발자는 코드 실행에 더 집중할 수 있도록 하는 아키텍처 패러다임입니다.


*프로비저닝이란? 필요한 리소스를 준비하고 애플리케이션을 실행할 수 있는 상태로 만드는 것을 의미합니다.


여기서 잠깐! 클라우드 서비스 업체(CSP) TOP3와 서비스는 무엇이 있을까요?


TOP3제공업체와 서비스는 아래와 같습니다.


  • Amazon: AWS Lambda
  • Microsoft: Azure Functions
  • Google : Google Cloud Functions

CPC 3대 업체의 특징
이미지 출처 : https://www.skcc.co.kr/insight/trend/144


서버리스 시장 성장률


본격적인 소개에 앞서 서버리스의 앞으로의 전망을 먼저 확인해볼까요?


시장조사기관 AMR (Alied Market Research) 가 발표한 ‘글로벌 서버리스 아키텍처 시장 보고서 2018-2025’에 따르면 서버리스 아키텍처 시장이 매년 27.8%씩 꾸준히 성장해 2025년에는 219억 8800만 달러에 이른다고 전망됐습니다.


서버리스 시장의 성장은 스마트폰 수의 급증, *BYOD(Bring Your Own Device) 채택 증가, 애플리케이션 수의 증가 등의 기반한 것으로 분석됐다고 합니다. 배포환경 측면에서는 2017년 전체 시장 점유율의 3/4을 차지했으며, 애플리케이션 측면에서는 2017년 전체 시장 점유율의 거의 절반을 차지했다고 합니다. 이는 2025년까지도 높은 비율을 유지할 것으로 예상하고 있습니다.



22 4분기 글로벌 클라우드 시장 점유율 TOP5
이미지 출처: https://www.consumerpost.co.kr/news/articleView.html?idxno=304935

글로벌 서버리스 아키텍처 시장을 이끌고 있는 기업들로는 아마존 웹 서비스, 알리바바, 구글, 오라클, 마이크로소프트, IBM 등이 있습니다.


*BYOD 란? 회사나 조직에서 직원들이 자신의 디바이스를 업무에 활용할 수 있도록 허용하는 정책




서버리스 핵심적인 구성요소

앞으로의 성장율을 확인했으니 본격적으로 서버리스가 어떤 것인지 살펴보도록 하겠습니다.


서버리스의 핵심적인 구성요소는 크게 Baas (Backend as a Service), FaaS(function as a Service) 두가지로 나누어집니다.


BaaS와 FaaS

이미지 출처 : https://www.samsungsds.com/kr/insights/1232763_4627.html



BaaS (Backend as a Service)

보통 애플리케이션을 만들 때 이를 서비스하기 위해 데이터 저장하고, 다른 기기에서 접근하며 공유하기 위해서 백엔드 서버 개발을 진행하게 됩니다.


데이터의 기록 및 관리, 사용자 인증이나 서비스 등록과 같은 기능이 서버에 구현됩니다. 필수적이고, 중복되는 기능들을 클라우드 서비스 업체들이 사전에 제공하는 것이 BaaS입니다.


위 요소 덕분에 백엔드에 필요한 기능들을 클라우드에서 직접 호출해 사용할 수 있으며, 개발에 소용되는 시간과 에너지를 아낄 수 있게 됩니다.


플랫폼의 일부로, 서버 관리를 최소화하고 개발자가 애플리케이션을 구축하고 호스팅할 수 있는 방식을 제공하는 Firebase, AWS Amplify, Backendless 등을 대표적인 서비스로 볼 수 있습니다.



FaaS (Function as a Service)

“함수를 서비스로 제공한다” 라는 의미로 클라우드에서 이미 제공된 기능을 활용하기 보다 직접 서버에서 수행되는 기능들을 개발자가 작성하고 이를 클라우드에 업로드해 필요시 호출하여 사용하는 것이 FaaS입니다.


클라우드 상의 서버를 할당 받거나 확장하고, 데이터베이스를 관리하는 등 백엔드에서 필요한 작업을 신경 쓸 필요가 없게 되는 것입니다. 따라서 개발자와 IT업계 프로그래밍 로직에만 집중할 수 있도록 하는 것이며 서버리스의 주요 개념으로 서버리스라는 용어는 FaaS를 지칭하는 협의의 의미로 주로 사용되기도 합니다.


대표적인 서비스로는 AWS Lambda, MS Azure Function 가 있습니다.




서버리스 장점과 고려사항

서버리스 장점으로는 크게 4가지로 볼 수 있습니다.


서버리스 동작원리

이미지출처 : https://velog.io/@wisdom0122/%EC%84%9C%EB%B2%84%EB%A6%AC%EC%8A%A4Serverless



개발생산성 향상

앞서 서버리스 설명할 때 언급했듯이, 서버리스는 개발자가 서버나 인프라 관리하지 않아 코드에 집중할 수 있어 더욱 빠르고, 품질 높은 애플리케이션 개발 및 출시가 가능합니다.



운영 비용 절감

IaaS (Infrastructure as a Service), PaaS (Platform as a Service) 와 같이 상시 운영 중인 서버와는 달리 요청에 따라 사용량에 대해서만 처리되기 때문에 유휴 자원이 발생하지 않습니다.



스케일링 용이성

요청이 들어올 때만 실행되고, 동적으로 자원을 할당하기 때문에 가용성이 높고 자동으로 스케일링 되기 때문에 서비스의 성능을 유지하면서도 비용을 절감할 수 있습니다. 이는 급격한 트래픽 변화에 유연한 대응이 가능합니다.



빠른 개발 및 배포

기능이 함수 단위로 개발되기 때문에 기능별로 빠르게 수정하고 적용할 수 있습니다.



위 장점들을 활용한 대표적인 사례로는 코카콜라로 볼 수 있습니다.


슈퍼볼 광고로 인해 웹 사이트 트래픽이 급증하면서 서버가 과포화 되었고, 이를 계기로 코카콜라는 클라우드로 전환하기로 결정했습니다. 이후 트래픽의 유연한 대응은 물론 전 세계 자동 판매기의 결제 처리를 위해 laas에서 서버리스 컴퓨팅 서비스인 AWS Lambda로 전환한 뒤 월 약 3,000만 건의 호출을 빠르게 처리하고 비용을 기존의 3/1수준으로 절감했습니다.




서버리스 고려사항

서버리스 아키텍처는 많은 이점을 제공하지만, 그 외에도 고려해야 할 사항들이 있습니다.



로컬 데이터를 사용할 수 없습니다. (Stateless)

하나의 작은 기능으로 나뉘어진 함수들은 요청마다 새로 기동 되어 호출되기 때문에 전후 상태를 공유할 수 없습니다. 또한 데이터를 로컬 스토리지에서 읽고 쓸 수 없습니다. (이는 서버리스 벤더에 따라 추가 서비스를 통해 극복이 가능하지만, AWS S3, Azure Storage등 일반적인 서버리스는 불가능합니다.)


쉽게 다시 말하자면
서버리스 함수로 덧셈을 요청 시 두 숫자를 받아 덧셈을 수행하고 결과를 반환합니다.


그러나 서버리스 함수는 요청마다 새로운 인스턴스로 실행되므로, 이전 요청에서 계산한 결과를 다음 요청에서 사용할 수 없습니다. 따라서 계산된 결과는 각각의 요청에 대해 새롭게 생성되고 반환됩니다. 이 때문에 이전 계산 결과와 관련된 상태를 공유할 수 없으며, 모든 계산은 새로운 인스턴스에서 독립적으로 수행됩니다.



디버깅의 어려움

서버리스는 처리될 때마다 새로운 인스턴스로 추가되어 처리되기 때문에 서버리스 함수를 디버깅하고 수정하는 데에 필요한 데이터를 수집하기가 어렵습니다. 때문에 전략, 도구 및 접근 방식이 필요할 수 있습니다.



클라우드 제공 업체에 종속적

일반적으로 Lock-in이라고 부르는 상황이 발생할 수 있습니다. 클라우드 공급 업체로부터 서비스를 제공받는 만큼 의존성이 생겨 업체 함수 내에서 사용할 수 있는 최대 메모리, 최대 처리 가능 시간 등의 제약을 두게 되면 그대로 수용해야 합니다.


콜드 스타트(Cold Start) 지연시간

서버리스 함수들은 평상시에는 수면상태에 있습니다. 클라이언트의 요청사항이 들어오면 함수를 깨우고 실행하는 데에 시간이 걸리게 됩니다. 때문에 실시간처리 또는 빠른 응답 속도로 처리해야 하는 서비스에서는 적합하지 않을 수도 있습니다.

(AWS Lambda는 자주 쓰이는 함수는 항상 깨어 있도록 유지 가능합니다.)


서버리스의 고려사항들은 있지만, 이를 보완할 수 있는 다양한 툴 (데이터 보호 및 암호화 도구, 보안 모니터링 및 로깅 도구 등)들이 나오고 있는 점과 앞서 봤던 서버리스의 성장율을 비추어 볼 때 앞으로 더 유용한 방식으로 적용될 거라 생각이 듭니다.




서버리스 사용사례

서버리스의 이점들을 통해 실제 사용된 사례를 살펴보겠습니다.



자동화 서비스

특정 시간에 수행되던 기능을 서버리스로 손쉽게 변경할 수 있습니다. 넷플릭스는 동영상 업로드 시 파일의 인코딩과 검증, 태깅 이후에 공개되는 작업을 AWS Lambda를 통해 자동화 했습니다. 이외로 실시간 비디오 스트리밍 앱 개발사인 페리스코프(Periscope)도 동영상 유해성여부 확인하는 기능을 AWS Lambda를 통해 운영하고 있습니다.



분석과 모니터링 기능

미국 온라인 패션 매거진 버슬 (Bustle)은 하루 약1억건의 데이터 분석과 이벤트 처리 리포팅에 서버리스를 적용해 84%의 비용을 절감했습니다.



챗봇(Chat-Bot) 서비스

챗봇을 서버리스로 구현하게 되면 API 호출할 때 요청을 처리하고 유연한 확장이 가능하기 때문에 많은 사용자에게 안정적인 서비스를 제공할 수 있습니다.


또한 슬랙(Slack)을 기반으로 하는 챗봇 애플리케이션이나 AmazonEcho 그리고 AWS Lambda를 이용한 음성인식 애플리케이션이 늘어나고 있습니다.



트래픽에 대한 유연한 대처

리씽크 (Re:think)는 해마다 100%의 성장을 이뤄내고 있었지만, 높은 인기에 따라 발생한 트래픽 과부화를 감당하지 못해 ‘AWS 서버리스 컴퓨팅’ 환경으로 전환했습니다. 기존 시스템 대비 600% 이상 응답속도가 개선되어 페이지 뷰와 구매 전환율 수가 증가했고, 인프라 관리에 투입되는 자원이 줄어들어 비용 또한 절감되었습니다.


이로 2022년 5월10일 기준 아마존 웹서비스의 서버리스 컴퓨팅 환경 우수 구축사례로 선정됐습니다




이모션글로벌이 생각하는 앞으로의 기대효과

이모션글로벌에서 진행 중인 프로젝트에서 사용자가 업로드한 영상 및 이미지의 썸네일 추출 작업을 AWS Lambda 서비스를 활용하여 처리하고 있습니다. 이 서비스를 통해 자동화 처리로 보다 손쉽고 빠르게 처리할 수 있습니다.


또한 서버를 직접 관리할 필요가 없어진다는 점에서 개발자는 코드와 서비스 품질에 집중할 수 있고, 이에 따라 비용 절감 효과도 확인할 수 있습니다.


이외 확장성, 유연성, 신속한 데이터처리에 대한 장점을 가진AWS SQS(Simple Queue Servicce) 를 활용한 로그 수집 및 적재 처리를 통해 대규모의 로그 스트림을 안정적으로 처리할 수 있습니다.



빠르게 변화하는 시장에 유연하게 대응하기 위해 서버리스 서비스를 앞으로도 적극 활용한다면 비용 절감은 물론 업무 생산성과 효율성이 개선된 서비스를 신속하게 배포하여 경쟁 우위를 확보할 수 있을 것으로 기대됩니다.






참고




이모션글로벌 사이트 배너
신현주Developer
CP1e·motion
49
48