서버리스

majungha·2023년 5월 2일
1

메모

목록 보기
55/57

오늘의 공부 👍

오늘은 서버리스에 대해서 알아보겠습니다.

📝 서버리스


  • 서버를 직접 관리할 필요가 없는 아키텍처를 뜻해서 서버리스 아키텍처(Serverless Architecture)라고 부른다.
  • 서버를 관리하거나 신경 쓸 필요가 없다는 뜻이다.

▷ 구현 방식

▶ BaaS (Backend as a Service)

  • 일반적으로 SPA, 안드로이드와 같은 클라이언트 중심으로 개발된 애플리케이션이다.
  • 클라이언트단에서 Baas가 제공하는 인증, DB, 사용자 관리 등과 같은 외부 서비스를 사용해서 대부분의 비즈니스 로직을 처리한다.

▶ FaaS (Function as a Service)

  • 무상태(Stateless) 함수가 서버 측 비즈니스 로직을 포함한다.
  • 백엔드를 작은 함수단으로 나눠서 사용자가 직접 관리하지 않는 서버로 올린다.
  • 함수들은 특정한 조건 또는 주기, 요청 등으로 트리거 되어서 서버가 알아서 실행되고 종료된다.
  • 주로 서버리스라 하면 FaaS에 더 가깝다.

▷ 장점

  • 일정 주기, 조건 등에 함수를 호출하므로 리소스를 낭비하지 않게 되어서 비용이 저렴하다.
  • 인프라 구성, 운영, 보안 등에 신경쓰지 않고 비즈니스 로직에 집중할 수 있다.
  • 자동 스케일 업 및 스케일 다운이 가능하다.
  • 릴리즈 주기가 감소한다.

▷ 단점

  • 실시간 서비스에는 적합하지 않다.
  • 항시 실행 중인 서버랑 달리, 트리거에 의해 서버를 실행하고 종료하기를 반복하기 때문에 실행 대기 시간이 오래 걸린다.
  • 클라우드 서비스 업체에 종속적이다.
  • 디버깅이나 테스팅에 불편하다.
  • 로컬 데이터를 사용할 수 없다. (Stateless)

마무리 👍


출처 및 참고
나무위키
서버리스 아키텍쳐(Serverless)란?
서버리스(Serverless)란 무엇인가?

profile
개발자 블로그 / 항상 겸손한 자세로 배우면서 성장하자 할 수 있다!

0개의 댓글