서버리스란 개발자가 서버를 관리할 필요 없이 애플리케이션을 빌드하고 실행할 수 있도록 하는 클라우드 네이티브 개발 모델.
서버리스 애플리케이션은 배포되고 나면 필요에 따라 자동으로 스케일 업 되거나 스케일 다운된다.
그래서 웹 애플리케이션을
서버리스(serverless)는 서버가 없는게 아니라 서버에 대한 고민을 안하는 것이다.
오직 애플리케이션 구축 자체에만 집중하는 것이 가능하다.
서버리스가 생기기 전에는 애플리케이션을 배포하려면 직접 하드웨어 서버를 구매해서 구성했다. 이때는 하드웨어와 소프트웨어 둘다 관리를 했어야 했다. 하지만 하드웨어 관리에 많은 시간과 비용을 지불해야 했고 메모리 관리같은 불편함도 있었다.
이런 서버의 하드웨어 관리의 어려움을 해결해 준것이 AWS ec2였다. 이로인해 서버 하드웨어에 대한 관리와 불안감을 덜 수 있게 되었다.
하지만 빌려서 구성한 서버의 소프트웨어도 보안, 업데이트, 백업과 같은 많은 관리 과정이 필요하다. 이때 이런 서버의 소프트웨어 관리의 어려움을 해결하는 방안으로 SERVERLESS가 등장했다.
서버리스 컴퓨팅은 마이크로 서비스 구조의 개발을 구성하기 위해 매우 적합한 형태이다. 모든 마이크로서비스가 Function 단위의 구조로 개발해야하는 것은 아니지만, 여려 Function들을 구성하고 이들을 독립적인 API형태로 구성하여 배포하면 마이크로서비스 형태의 애플리케이션이 될 수 있다.