서버리스 컴퓨팅
- IT 인프라를 데이터 센터 혹은 클라우드에 별도 준비 없이, 필요한 기능을 함수(function) 형태로 구현하고, 자동 스케일링 방식으로 시시각각 변하는 자원 수요를 지원하며 전통적인 백엔드 대신 사용합니다.
- 따라서 서버리스 컴퓨팅을 FaaS(Function as a Service)라고도 하며, 백엔드 시스템을 보이지 않는 서비스로 추상화하였기 때문에 BaaS(Backend as a Service)라고도 합니다.
서버리스 컴퓨팅의 작동 원리
- 서버리스 컴퓨팅은 클라우드 사업자가 운영하는 가상화된 컨테이너에서 실행됩니다.
- 미리 필요한 기능을 서버리스에 원하는 프로그래밍 언어로 함수의 형태로 구현을 해두고, 이벤트 드리븐 방식으로 필요에 따라 이 함수를 호출하여 사용합니다.
- 초기의 서버리스 함수는 스크립트 형태의 언어인 Node.js만을 지원했지만 현재는 파이썬, 자바스크립트, C#, Java 등의 대표적인 객체지향 프로그래밍 언어와, 자체 개발한 라이브러리 패키지를 일반적으로 지원합니다.
- 서버리스 함수는 또 다른 API를 호출하거나, 필요한 데이터를 데이터베이스에 저장 후 분석 작업 등을 할수 있고, 동시 트랜잭션의 순차 처리를 위한 메시지큐나, 다른 클라우드 서비스와도 연계가 됩니다.