Posts 서버리스로 구현한 동영상 스트리밍 사이트
Post
Cancel

서버리스로 구현한 동영상 스트리밍 사이트

동영상

서버리스 아키텍처

서버리스란?

aws 서버리스란?

서버리스는 운영상의 책임을 AWS로 전환하여 민첩성과 혁신을 높일 수 있도록 하는 클라우드의 네이티브 아키텍처입니다. 서버리스를 사용하면 서버를 고려하지 않고 애플리케이션과 서비스를 구축하고 실행할 수 있습니다. 서버 또는 클러스터 프로비저닝, 패치 적용, 운영 체제 유지 관리 및 용량 프로비저닝과 같은 인프라 관리 작업을 덜어냅니다. 거의 모든 유형의 애플리케이션 또는 백엔드 서비스를 서버리스로 구축할 수 있으며, 애플리케이션을 고가용성으로 실행하고 확장하는 데 필요한 모든 사항이 자동으로 처리됩니다.

쉽게 말해서, 개발자는 코드만 작성하면 됩니다. 파이썬이면 파이썬 함수, 자바스크립트면 자바스크립트 코드를요. 나머지 실행 환경은 클라우드 제공업체에서 개발자가 서버를 신경쓰지 않도록 해줍니다. 이걸 가지고 어떻게 서비스를 구축할 수 있을까요? 푸시, 이벤트 기반 파이프라인 설계를 통하여 서비스를 구축합니다.

위 사이트는, 다음과 같은 구조입니다.

장점

  1. 빠른 서비스 구축이 가능해집니다
  2. EC2로 백엔드를 구축하는 것과 달리 서버를 항시 운영하지 않아도 되서 비용이 절감됩니다.
  3. 클라우드 환경의 장점을 온전히 누릴 수 있습니다.

단점

  1. 함수 호출 지연속도가 생긴다. 람다함수는 태생적으로 실제 서버를 운영하는 것에 비해 호출이 느릴 수 밖에 없습니다.

    => 하지만 aws는 콜드, 핫모드를 지원하기 때문에 이 단점도 많이 상쇄된 것 같습니다.

정리

AWS 람다, S3, SNS, API Gateway, auth0와 부트스트랩을 활용하여 간단히 비디오 스트리밍 서비스를 구축해보았습니다. 이 과정의 핵심은 서버를 사용하지 않았다는 점입니다. aws 서비스를 연계하고, 람다 함수는 자바스크립트로 작성했습니다. 그리고 서드파티 라이브러리인 auth0를 통해 회원 인증을 구현했습니다. 간단하게 API로 통신하는 웹서비스를 구축해보았습니다. 이렇게 마이크로서비스의 장점인 유연하고 빠른 개발이 가능해졌습니다. 남은 과제는 프론트엔드 개발, 서버리스 아키텍처 확장입니다. 이 내용은 추후 포스팅하겠습니다.

This post is licensed under CC BY 4.0 by the author.

Vue.js 특징 살펴보기 Javascript와 비교하며

Vue.js 특징 살펴보기 Javascript와 비교하며(2)

Comments powered by Disqus.