FaaS(Function as a Service)
- 사용자는 코드를 구성하는 함수 하나를 만들면 됨.
Step1) 구동하고싶은 동작을 포함하는 함수를 하나 만들고
Step2) 클라우드 호스팅 플랫폼에 등록
Step3) GET 요청이 들어오면 함수가 실행될 수 있도록 명시해줌
Step4) 함수를 실행하여 data를 읽어와서 사용자에게 응답을 보내줌
서버 관리의 부담X: 서버리스 아키텍처는 개발자가 서버 인프라를 관리하지 않아도 되기 때문에, 개발자는 더욱 비즈니스 로직에 집중할 수 있습니다.
우수한 확장성: 서버리스 아키텍처는 자동 스케일링을 제공하여 애플리케이션 트래픽의 요구에 맞추어 서버 셋업과 용량 조정을 자동으로 수행합니다. 이는 애플리케이션 성능을 높이는 데 도움이 되며, 개발자는 서버 관리에 덜 신경 쓰고 더 많은 시간을 애플리케이션 개발에 투자할 수 있습니다.
저렴한 비용: 서버리스 아키텍처는 사용한 만큼만 비용을 지불하므로, 개발자는 불필요한 서버 비용을 지불할 필요가 없습니다.
빠른 배포 속도: 서버리스 아키텍처는 개발자가 코드를 빠르게 업데이트하고 배포할 수 있도록 도와줍니다. 이는 빠른 개발 주기를 유지하면서도 애플리케이션의 신뢰성을 유지하는 데 도움이 됩니다.
다양한 클라우드 제공 업체에서 지원됩니다: 서버리스 아키텍처는 AWS Lambda, Azure Functions, Google Cloud Functions 등 다양한 클라우드 제공 업체에서 지원됩니다. 이는 개발자가 다양한 클라우드 제공 업체를 선택할 수 있으며, 자신이 가장 편안하게 작업할 수 있는 환경을 선택할 수 있다는 장점이 있습니다.
👩🏻💻 느낀점)
내가 프로젝트를 하면서 편하게 이용했던 Vercel과 Nelify도 AWS Lambda를 기반으로 호스팅된 클라우드 플랫폼이라는게 신기했다.
서버리스 클라우드를 사용하면, 개발자가 직접 서버관리에는 크게 신경쓰지 않을 수 있다는 점이 아주 큰 장점인 것 같다. 현재까지도 사용하고 있는 플랫폼은 AWS Lambda 인데, Lambda 함수를 사용하기위한 resource에 제한이 있기 때문에 너무 크고 무거운 코드가 아니라면 계속해서 이용할 것이다.
그러나 상태관리에 대한 부분은 저장이 되지 않으므로 그부분은 어떻게 해결할 건지 고민을 해봐야겠다.