[GDSC/AWS] Ch01 서버리스 | 06 서버리스를 도입하면 NoOps인가? & 07 FaaS를 이용하면 서버리스인가? & 08 서버리스를 사용하는 이유는? & 09 서버리스는 비싸다? & 10 FaaS의 단점은?
참고자료: AWS Lambda로 시작하는 서버리스
6. 서버리스를 도입하면 NoOps인가?
📌NoOps: 관리자가 없다는 의미이다. 인터넷이 발전하며 클라우드를 통해 시스템 운영자 없이도 개발자가 네트워크 및 서버 등 다양한 설정을 습득하여 직접 처리할 수 있는 환경이 되었고 직접 개발한 시스템의 장애 발생 또는 요구사항의 대응과 처리 속도가 빠르고 효율적으로 변화하며 관리자의 필요성이 줄어들어 탄생한 용어이다.
👉🏻관리포인트가 줄어들긴 하지만 없다는 것은 아니다. 때문에 운영 중인 시스템에서 문제가 발생하면 해결 전략이 필요하고, 시스템 관리자는 이를 대응하는 방법을 제시해야한다.
👉🏻때문에 초기에는 NoOps가 가능하더라도 서비스의 크기가 커질수록 운영이 필요한 시기가 온다.
7. FaaS를 이용하면 서버리스인가?
📌서버리스 아키텍처: 서버리스를 이용한 아키텍처 설계 방식이다.
📌서버리스: 필요할 때 일시적인 컴퓨팅 서비스를 받는 것이다.
👉🏻FaaS는 서버리스가 맞지만 서버리스 아키텍처와 별개로 보는 것이 맞다.
8. 서버리스를 사용하는 이유는?
👉🏻클라우드 서비스는 '서버리스 전과 후로 나뉜다'
👉🏻서버리스 이전까지 클라우드 서비스는 온프레미스 환경을 그대로 클라우드 환경으로만 옮겨 사용하는 사례가 대부분이었다.
👉🏻서버리스 이후에는 이를 이용해 프론트엔드와 백엔드를 구축하고 혹은 대용량 처리 프로세스를 구축하기도 한다.
9. 서버리스는 비싸다?
👉🏻시스템을 서버리스로 구축하면 비용이 저렴하다. AWS Lambda는 요청 수, 실행시간에 따라 비용이 발생한다. 서버리스로 구성하면 애플리케이션 전체를 배포하는 것이 아닌 특정 함수만 배포하면 되기 때문에 조금 더 가볍고 능동적으로 유지보수가 가능하다.
✍🏻넷플릭스도 이미지 프로세싱을 Lambda로 처리하는데 이로 인해 응답이 가능한 새 인스턴스 시간이 3분에서 2초로 줄었고 비용도 1000달러에서 100달러로 줄었다.
10. FaaS의 단점은?
- 상태유지가 되지 않는다.
- 컨테이너는 잠시 실행되는 환경으로 상태 비저장을 의미한다. 보완방법으로는 DB를 이용하는 방법이 있다.
- 함수가 실행되기 위해 항상 준비된 상태가 아니다.
- 실행 시 약간의 지연시간이 발생하는데 이를 '콜드 스타트'라고 한다.
- 서비스 제공사에 의존적이다.
- AWS를 이용하다가 Azure나 GCP로 변경하기 쉽지 않다.
✍🏻웜 스타트(Warm Start): 준비되어 있어 처음 호출할 때 발생하는 지연시간이 발생하지 않는다. 함수를 실행하면 함수를 실행한 컨테이너는 잠시 대기상태가 되고 이때 다시 실행하면 웜 스타트이다.