한국전자통신연구원 /?강동재?수석
기술 개요
ㅇ API 단위 응용 개발 및 자원 할당, 사용량 측정 기능을 제공하고, 클라우드 서비스 확장성 및 개발 과정 단축을 지원하는 이벤트 기반(Event-driven)으로 동작하는 컴퓨팅 방식
※ API 단위 응용을 기반으로 사용한 시간만큼 비용 지불을 위한 자원 사용량 측정이 가능하고 시스템 관리 이슈는 전적으로 서비스 제공자 측에서 전담하는 모델
※ 이벤트 예 : API Gateway를 통한 사용자 요청, 스토리지/DB의 데이터 변경 및 업로드, SNS 메시징, 클럭 이벤트, 음성입력 등의 다양한 이벤트에 대응 가능
- 서버리스 컴퓨팅 환경에서는 개발자가 API 단위 응용이 실행될 서버 및 운영에 관해 전혀 신경 쓸 필요가 없고, API 단위 응용의 실행 준비 시간이 짧아 언제든지 즉시 실행이 가능하며, API 단위 응용이 실행된 실제 시간만큼만 사용료를 지불하여 비용 절감이 가능
- 개발자가 서버시스템이나 운영에 대한 어떠한 고려도 없이 API 단위 응용을 쉽게 개발하고 빠르게 실행할 수 있도록 API 응용 개발 프레임워크를 제공하고 또한 API 단위 자원 할당, 사용량 측정이 가능한 컴퓨팅 자원 자동 관리*, 고확장성?고가용성을 지원
* 가상 서버와 운영체제 유지 관리, 자원 프로비저닝 및 자동 조정, 코드 및 보안 패치 배포, 코드 모니터링 및 로깅 등의 컴퓨팅 자원 동적 관리
[그림] 서버리스 컴퓨팅의 장점
서비스 플랫폼 및 컴퓨팅 측면의 비교
ㅇ 서비스 플랫폼 측면
- (서버호스팅) 실제 컴퓨팅 서버 기반 서비스 플랫폼
- (클라우드) 물리적 서버풀을 가상화하는 클라우드 관리 플랫폼을 적용, 가상시스템(Virtual machine, Container) 기반의 서비스 플랫폼
※ 클라우드 관리 플랫폼 : OpenStack, Amazon EC2, MS Azure, SWARM, Kubernetes 등
- (서버리스) 컨테이너(Container) 환경를 기반으로 서버리스컴퓨팅 프레임워크를 적용한 기능 단위 서비스 플랫폼
ㅇ 컴퓨팅 측면
- (가상머신) 시스템(OS + 응용)이 확장단위
※ CPU, 스토리지, 네트워크 및 OS를 선택 구성
- (컨테이너) 응용이 확장 단위
※ 서버는 실행만하고 응용을 구성하고 확장 및 제어
- (서버리스) 클라우드 함수(마이크로 서비스)가 확장 단위
※ 기능 중심의 개발과 필요시, 해당 코드만 실행
주요 구성 기술
ㅇ 사용자 요청 및 이벤트의 고속 처리를 위한 API 단위 응용 제어
ㅇ API 단위 응용의 고속 런치 및 실행을 위한 API 단위 응용 성능 가속
ㅇ API 단위 응용의 최적 실행 보장을 위한 컴퓨팅 자원 생명 주기 관리
ㅇ API 단위 응용 개발을 위한 사용자 중심의 개발 프레임워크
ㅇ 서버리스 컴퓨팅 플랫폼 운영자 중심의 관리 프레임워크
ㅇ API 단위 응용 실행 지원을 위한 서버리스 플랫폼 연동 인프라 관리
ㅇ API 단위 응용과 클라우드 기반 응용 서비스 바인딩
대표적 기술보유 기관 및 솔루션
ㅇ Amazon - AWS Lambda (‘14)
ㅇ Microsoft - Azure Function (‘16)
ㅇ Google ? Google Cloud Function (‘16)
ㅇ IBM - Bluemix OpenWhisk (‘14)
현재 대표적 사용 분야
ㅇ (데이터 처리) 데이터 저장소나 메시지 버스에 스트리밍되는 데이터 처리
ㅇ (앱 백엔드 개발) Web, 모바일, 디바이스, 음성인식 등의 서버 비즈니스 로직 실행
ㅇ (시스템 제어) 시스템의 상태 및 데이터 변경에 대한 응답 및 응답 워크플로우 제어
기술 동향
ㅇ 국내
- 인공지능 및 빅데이터, 사물인터넷 등의 영향으로 인한 다양한 서비스와 접목되어 수요가 발생하고 있으나 관련 기술의 원천핵심기술 확보는 미미한 상황으로, 주로 외산 솔루션을 기반으로 환경을 구성하고 있음
※ (국내, 로켓펀치) 웹기반 비지니스 네트워킹 플랫폼을 제공하는 ‘로켓펀치’사는 채용 공고를 위젯 형식으로 제공하는 서비스 운영을 위해 AWS Lambda를 활용, 200만 건의 request를 월 8,000원의 운영비용으로 해결함
※ (국내, 코오롱사) IoT 백엔드 구성에 서버리스 컴퓨팅 아키텍쳐를 적용하여 하늘채 아파트의 스마트 홈 구축 및 Echo 연동을 구현함
- 일부 대학에 의해 오픈 소스 기반 서버리스 컴퓨팅 플랫폼에 대한 기술 조사 및 상용 서버리스 컴퓨팅 플랫폼과의 성능 비교에 대한 기초연구가 진행되고 있으며 다수의 마이크로 단위 기반 클라우드 서비스 연동 관련한 국내 표준화 활동이 태동기에 있음
ㅇ 국외
- 전세계 클라우드 서비스 선도기업인 아마존웹서비스(AWS)는 서버리스 컴퓨팅 서비스 개발을 통해 서비스 과금 방식을 기존 시간 및 분 단위에서 초 단위로 변경하는 등 경쟁사인 구글과 마이크로소프트(MS) 등에 비해 서버리스 컴퓨팅 기술 및 서비스 선점
※ 특히, 아마존은 AWS 람다 서버리스 컴퓨팅 기술을 통해 모바일, 웹, 기업용 또는 IoT 애플리케이션 등에서 이벤트 기반 서비스를 개발자가 손쉽게 생성, 배포, 유지관리 및 모니터링 가능
- IBM은 Bluemix Cloud의 서버리스 컴퓨팅 플랫폼 Openwhisk의 오픈 소스(Apache)화를 통하여 클라우드 Lock-in 문제 해결을 시도하였음, 로지컬 실행 및 컨테이너 통합 기능 제공 등으로 차별화 시도
- 마이크로소프트는 서버리스 플랫폼 Azure Functions을 2016년 공개 및 서비스
※ 서버리스 서비스는 C#, node.js, PHP 등 다양한 언어 지원할 뿐만 아니라 인공지능, 사물인터넷, 데이터 서비스 등 거의 모든 서비스를 서버리스 개념으로 개발 박차
- Google은 이벤트 기반 서버리스 서비스 제공을 위해서 클라우드 Function 서비스 개발에 집중
※ Google 클라우드 백엔드 및 웹 애플리케이션 개발 SDK인 파이어베이스(Firebase)에 서버리스 기능 개발 및 서비스 제공 중
ㅇ 공개SW
- (IronFunctions) Iron.io이 개발, AWS Lambda와 통합 기능 제공 가능
- (OpenWhisk) IBM이 개발, IBM의 PaaS 클라우드 서비스인 BlueMix를 통해 제공
- (Fission) Platform9이 개발, Container orchestration 툴인 Kubernetes 기반 개발환경 제공
- (기타) Gestalt, OpenLambda
지식재산권 동향
*출처 : NDSL 서버리스 컴퓨팅 관련 특허 통계자료
ㅇ 2018년 현재 기준으로, 서버리스 컴퓨팅 관련 17년간의 특허 건수는 208개에 달하고 있고 연도별 추이를 보면, 2010년 이전 급속한 출원 및 등록 수를 가진 이후 점차 줄어드는 현상을 보이고 있음
ㅇ 2018년 현재, 각 국가별로 살펴보면 전체 미국이 차지하는 비중이 64% 정도를 차지하고 유럽 일본 한국 순서로 파악 되고 있고 한국의 경우 전체 비중은 5%정도로 낮은 특허 보유를 나타내고 있음
ㅇ 2018년 현재, 출원인별 통계를 보면 마이크로 소프트가 94건으로 압도적으로 많고 그 다음 Maranti Networks(US)가 5건으로 2위이며 EMC, Hitachi가 그 뒤를 잇고 있으며 국내의 경우 특허는 전무한 것으로 나타남
필요성 및 기대효과
ㅇ (서비스 개발자/사업자 측면) 개발, 테스트, 배포 등의 서비스 개발 및 유지보수에 필요한 복잡한 문제를 제거함으로써 아이디어 기반의 신속한 서비스 개발 프로세스 지원 가능
- 개발 시스템의 OS, 패치, 접근권한, 시스템 예산, 장애, 필요한 컴퓨팅 파워 등에 대한 고려 불필요
ㅇ (기존 클라우드 사업자 측면) 기존 클라우드 인프라(IaaS) 및 플랫폼(PaaS) 사업자가 차기 클라우드 서비스로 대두되는 서버리스 기반의 서비스 시장진입을 위한 기반 마련 및 신규 서비스 모델 발굴 가능
- 기존 보유 시스템 인프라로 더 많은 사용자를 수용할 수 있으므로, 인프라 효율성 극대화 가능
ㅇ (사용자 측면) 할당되는 컴퓨팅 수단(가상머신/컨테이너) 없이, 필요한 기능(마이크로 서비스) 사용시에만 과금이 되므로 동일 업무 처리 비용 최소화
- 기능 단위의 개별 컨테이너는 이벤트(호출) 발생시 구동되었다가 기능 수행 후 다시 해제되는 형태로 동작
ㅇ (클라우드 산업적 측면) 서버리스 기반의 클라우드 서비스 제공은 현재 인공지능 및 4차산업 혁명 기반의 다양한 서비스와 접목되어 클라우드 산업을 활성화 시킬 수 있는 계기로 전망
- Amazon, MS, IBM, Google 등 글로벌 기업들은 AI를 포함한 다양한 신규 서비스들을 서버리스 기반으로 변환, 제공하고 있으며 현재도 진행중임
국내 적용/활용 방안
ㅇ (클라우드 인프라 서비스 사업자) 기존, IaaS 서비스 제공 사업자 분야
- 정체된 인프라 서비스 사업자들에게 신규 서비스 창출 기회
- 서버리스 컴퓨팅 기반 서비스는 기 구축 인프라의 증설 없이, 더 많은 서비스 사용자의 수용이 가능하고, 서버리스 서비스 모델에 적당치 않은 서비스는 기존 비즈니스 모델을 유지하는 방식으로 서비스 제공
ㅇ (플랫폼 사업자) 보유 플랫폼 기반의 서비스 생태계 구축 사업자
- 생태계 구축을 위한 다양한 기능 API의 공유 프레임워크로 활용가능
- 플랫폼 사업자가 서비스 생태계 점유를 위하여 특정 기능(지도, 음성, 번역 등)을 제공하는 비즈니스 모델과 유사성이 높고, 동일 서비스 대비 운영비용 절감
ㅇ (BaaS(Backend-as-a-Service) 사업자) 서비스(게임, 모바일 등)의 백엔드에 공통적으로 사용되는 기능을 클라우드 서비스로 제공하는 사업자
- 기존 BaaS 사업자의 보유 기능 모듈을 서버리스 서비스 모델로 전환함으로써 개발, 유지, 보수 프로세스 효율화 및 서비스 운영비용 절감 가능
ㅇ (솔루션 사업자) 특정 서비스 개발, 제공, 유지보수 사업자
- 기능 단위의 서비스 유지보수 방식으로 SW 개발 프로세스의 효율화
- 서비스 솔루션 전체 제공방식에서 기능 모듈별 제공 방식으로 다각화 가능
ㅇ (스타트업, 벤처) 클라우드 시장 신규 진입 사업자
- 아이디어의 구현을 위하여 요구되는 인프라 장비의 수량 감축 및 활용 가능한 서버리스 컴퓨팅 API 기반의 신속한 솔루션 개발, 배포로 시장진입의 적시성 개선
ㅇ (서비스 구축 기관) 서버리스 컴퓨팅 플랫폼을 도입, 서비스 구축/활용 기관
- 서비스 사용자 수 대비, 적은 장비/인프라를 활용하여 서비스 제공 가능하고, 구축된 서비스에 대한 관리(추가개발, 업그레이드, 보수) 편의성
ㅇ (응용 개발자) 서버리스 컴퓨팅 기반의 공개된 API를 활용하는 앱, 웹 개발자
- 필요로 하는 동일 기능 사용 시에 비용 절감이 가능하고, 개발 환경에 대한 관리 이슈가 없으므로 개발 효율성 개선 가능
