본 포스트에서는 서버리스 (Serverless)에 관해 알아보도록 한다.
서버리스 아키텍쳐는 서버를 직접 구축하지 않고도 서버를 문제없이 사용할 수 있게 해주는 웹 서비스 구조를 말한다.
서버리스 컴퓨팅은 이러한 구성의 아키텍쳐를 제공하기 위한 서비스인데,
즉, 클라우드 공급자가 고객을 대신하여 서버를 관리하며, 필요에 따라 기계 리소스를 할당하는 클라우드 컴퓨팅 서비스이다.
(출처 : 위키피디아)
기업과 개발자는 서버 관련 문제를 이러한 서버리스 컴퓨팅을 통해 해결할 수 있는데, 그렇다면 이 서버리스는 어떤 특징이 있는지, 서버리스를 어떤 시나리오에 적용할 수 있는지 등에 대해 간단히 살펴보는 시간을 갖도록 하자.
서버리스 (Serverless)의 장점
-단일 시스템 오류로 인해 서비스 중단이 발생하지 않도록 가용성 이중화
-여러 군데에 데이터를 저장해놓음으로 인해 장애 발생 시에도 문제 없이 서비스 제공 가능
-리소스를 효율적으로 사용하기 위한 로드 밸런싱 및 요청 라우팅
-시스템 확장 또는 축소 등 수요에 의한 자동 스케일링
-서비스가 잘 진행되고 있는 지에 대한 실시간 모니터링
-디버깅 또는 성능 조정에 필요한 메시지를 기록하는 로그
-보안 업데이트 등의 시스템 업데이트
-새 인스턴스로 마이그레이션할 때 지체 없이 곧바로 사용 가능
서버리스 서비스를 사용하는 이유
서버리스는 기업과 개발자의 서버 유지 관리 수고를 덜어주기 때문인데, 서버리스를 사용한다면 개발과 운영이 통합된 서버리스 아키텍쳐인 DevOps를 고려할 필요가 없다.
즉, 기업과 개발자는 어플리케이션 개발과 운영 및 유지,관리에만 신경쓰며 비즈니스에 온전히 집중할 수 있다.
서버리스 적용 가능한 시나리오
-이벤트 트리거 계산
서버리스는 휴대폰 및 PC와 같은 다양한 파일 유형에 액세스하는 여러 장치와 관련된 시나리오에 적용할 수 있다.
-실시간 비디오 방송의 유연한 크기 조정 서버리스
서버리스는 실시간 비디오 방송 시나리오에 적용될 수 있는 최적화된 서비스이다.
예를 들어, 방송을 위한 오디오 및 비디오 녹화본을 뜨고 멀티플랙싱을 위해 이를 기능 컴퓨팅으로 보낸다. 서버리스의 대표 기능, 함수 계산 (FC)을 통해 수집된 데이터를 합성을 위해 다중화 서비스로 보내고, 합성된 비디오 스트림을 CDN (Content Delivery Network)을 통해 송출한다. 이를 통해 시청자는 실시간으로 추출되는, 다중화 및 합성된 비디오를 볼 수 있다.
-사물 인터넷 데이터 처리
사물 인터넷 (IoT) 시나리오에 적용할 수 있다.
-공유 배달 시스템
고객은 일정 플랫폼을 사용하여 음식 주문, 제품 구매 등 판매자가 제공하는 다양한 서비스를 이용할 수 있다. 이렇게 플랫폼을 통하여 소비자가 서비스를 이용할 시, 가장 가까운 배송 직원에게 가장 가까운 판매자로부터 해당 상품을 꺼내 고객에게 배송하도록 알린다.
Alibaba Cloud 서버리스 아키텍쳐
Alibaba Cloud Serverless 아키텍쳐는 함수 컴퓨팅, 객체 스토리지, API 게이트 웨이, 테이블 스토리지, 로그 서비스 및 배치 컴퓨팅으로 구성된다.
-함수 계산
기능 계산 (Function Compute)은 서버리스, 완전 관리자형 운영 환경으로, 고객은 코드를 작성하고 실행만 하면 유연하고 안전한 운영이 가능한 조건을 설정할 수 있다. 함수 컴퓨팅은 서버 자원, 네트워크 자원, 메시지 분배, 로드 밸런싱 등의 기능을 자체적으로 유지하며, 함수 컴퓨팅은 실행 시간에 따라 과금되며 실행되거나 지불되지 않는다.
-Object Storage
Object Storage (Object Storage Service, OSS)는 99.99999999%의 데이터 신뢰성을 제공하는 대용량, 보안, 저비용, 고신뢰성 클라우드 스토리지 서비스를 제공합니다. RESTful API를 사용하면 인터넷 어디에서나 저장 및 액세스할 수 있으며 용량 및 처리 용량을 유연하게 확장할 수 있으며 다양한 저장 유형을 통해 이용자는 저장 비용을 최적화할 수 있다.
-API Gateway
API Gateway는 API 게시, 관리, 운영 및 유지 보수, 판매의 전체 수명 주기 관리를 포괄하는 API 호스팅 서비스를 제공한다. 사용자가 마이크로서비스 통합, 프론트엔드 및 백엔드 분리, 시스템 통합을 간단하고 빠르게, 위험도가 낮은 방식으로 실현하고 해당 기능과 데이터를 파트너와 개발자에게 공개할 수 있도록 지원한다.
-테이블 저장소
테이블 저장소 (Table Store)는 99.99% 고가용성 데이터 119의 표준 설계 신뢰성을 기반으로 알리 클라우드 분산 시스템에 분산 NoSQL 데이터 저장소 서비스를 구축하고 있다. Table Store는 데이터 샤딩 및 로드 밸런싱 기술을 사용하여 데이터 규모의 원활한 확장 및 액세스 동시성을 달성하고 대용량 구조화된 데이터에 대한 스토리지 및 실시간 액세스를 제공한다.
-로그 서비스
로그 서비스 (줄여서 Log)는 Alibaba Group의 수많은 빅 데이터 시나리오에서 강화된 로그 데이터에 대한 원스톱 서비스이다. 사용자는 개발 없이 데이터 수집, 소비, 전달, 쿼리 분석 등의 기능을 빠르게 완료할 수 있으며, 동시에 DT 시대에 운영 및 유지 관리, 운영 효율성 향상에 기여하고 대용량 로그 처리 기능을 구축할 수 있다.
-배치 컴퓨팅
배치 컴퓨팅 (Batch Compute)은 대규모 병렬 배치 처리 작업에 적합한 분산 서비스이다. 많은 수의 동시 작업을 지원할 수 있으며, 시스템은 자원 관리, 직업 일정 및 데이터 로드를 자동으로 완료하고 실제 사용량에 따라 유연하게 사용할 수 있다. 영화 애니메이션 렌더링, 생물학적 데이터 분석, 금융 보험 분석 등 많은 분야에서 널리 사용된다.