서버리스 아키텍처 완벽 가이드 - FaaS의 이해

서버리스란

서버리스는 서버 관리 없이 코드를 실행하는 클라우드 모델입니다. 40년간 인프라를 다뤄온 저로서는 서버리스가 인프라 관리 부담을 크게 줄인다고 평가합니다. 서버가 없는 것이 아니라 개발자가 서버를 관리하지 않는다는 의미입니다. 사용한 만큼만 비용을 지불합니다.

FaaS(Function as a Service)

FaaS는 함수 단위로 코드를 실행합니다. AWS Lambda, Google Cloud Functions, Azure Functions가 대표적입니다. 이벤트(HTTP 요청, 큐 메시지, 스케줄)에 의해 트리거됩니다. 자동으로 확장되고 0으로 축소됩니다. 콜드 스타트(처음 실행 지연)가 있을 수 있습니다.

서버리스의 장점

인프라 관리가 불필요합니다. 확장성이 자동입니다. 사용량 기반 과금으로 비용 효율적입니다. 개발 속도가 빠릅니다. 운영 오버헤드가 적어 작은 팀에 적합합니다. 이벤트 기반 아키텍처와 잘 어울립니다.

서버리스의 단점

콜드 스타트로 지연이 발생할 수 있습니다. 실행 시간 제한(Lambda 15분)이 있습니다. 상태 유지가 어렵습니다. 벤더 종속(vendor lock-in)이 발생합니다. 로컬 개발과 디버깅이 복잡합니다. 비용 예측이 어려울 수 있습니다.

서버리스 적합 사례

API 백엔드, 웹훅 처리에 적합합니다. 배치 작업, 스케줄 작업에 좋습니다. 이벤트 처리, 데이터 파이프라인. 빠른 프로토타이핑. 부적합: 장시간 실행 작업, 실시간 통신, 일정한 고부하. 서버리스와 컨테이너를 조합하는 것도 좋은 전략입니다.

댓글

0
첫 번째 댓글을 작성해보세요!
← 목록으로