Serverless Web Application

Serverless Web Application

아키텍처 소개

Serverless는 말 그대로 서버를 관리하지 않고 애플리케이션과 서비스를 구축하고 실행할 수 있는 환경을 의미합니다. 네이버 클라우드 플랫폼의 Cloud Function은 완전 관리형 서비스로 상태 비저장 코드를 실행합니다. 대체로 주기적인 Job을 처리하는 Scheduler로 사용하거나, Object Storage와 같은 다양한 Cloud 상품과의 연동 또는 Cloud DB 테이블의 데이터 입력 및 변경 을 처리합니다. API Gateway는 마이크로 서비스를 정의하는 핵심 Component로 단일 접점 역할을 담당하여 외부로 엔드포인트 노출을 차단할 수 있습니다. Serverless 컴퓨팅을 적용하면 애플리케이션 개발에 집중할 수 있고 요청 시에만 컴퓨팅 리소스를 사용하여 비용 효율적입니다. 특히 마이크로 서비스 아키텍처와 같이 세분화 된 서비스에 보다 적합합니다.


아키텍처

연동 부가 서비스

솔루션 적용 및 비즈니스 효과

서버 관리 부담에서 탈피
서버를 프로비저닝 하거나 관리할 필요가 없습니다. 코드를 작성하고 액션으로 등록함으로써 손쉽게 코드를 Cloud Functions 에서 실행할 수 있습니다.
개발 속도 향상
서버에 배포하거나 구동하는 작업을 할 필요 없이 오직 비즈니스 로직의 개발에만 집중할 수 있기 때문에 개발 속도가 향상됩니다. 액션의 코드를 수정하면, 그 즉시 수정된 코드가 반영되어 실행됩니다.
On-demand Execution
서버를 확장하는 데 신경 쓸 필요가 없습니다. 항상 요청과 동일한 횟수의 코드 실행이 보장 되며, 요청이 없을 경우 코드가 실행되지 않기에 비용이 절감됩니다.
다양한 작동 방식
Cloud Functions과 연동하여 다양한 서비스 구축이 가능합니다. 서버 없는 백엔드를 구축하여 웹, 모바일, IoT등 다양한 API 요청을 처리가 가능하며 향후, 다양한 네이버 클라우드 플랫폼 서비스와 연동 예정입니다.
API Gateway를 이용한 엔드포인트 관리
API Gateway를 사용하여 애플리케이션에서 사용하는 API를 게시하고 유연하게 관리할 수 있습니다. API Gateway를 통해 특정 웹서버에 요청을 보내거나, Cloud Functions와 같은 다른 네이버클라우드플랫폼의 상품과도 유연하게 연결이 됩니다.
API를 손쉽게 관리하고 모니터링할 수 있는 서비스 제공
API Gateway를 통해 API 호출과 관련된 모든 작업들을 편리하게 진행할 수 있습니다. API를 안정적으로 실행하기 위한 다양한 관리 기능들과 API 사용 현황을 실시간으로 확인할 수 있는 대시보드를 제공합니다. 또한 API의 lifecycle, versioning을 정의하고, API Gateway 의 Throttling 설정과 캐시 설정을 통해 백엔드 서비스로 유입되는 트래픽을 제어할 수 있어 안정적이고 효율적인 서비스 관리가 가능합니다.