IT Study/시스템 인프라 및 네트워크

📱 서버리스 아키텍쳐(Serverless Architecture)

cs_bot 2025. 4. 2. 16:26

1. 개요

  • 클라우드 환경에서 서버 관리 및 운영 책임을 클라우드 제공자에게 위임하는 구조
  • 물리적 서버의 존재를 개발자 및 사용자에게 드러내지 않는 아키텍처

2. 특징

1. 서버 운영의 추상화

  • 개발자는 서버 하드웨어, 운영체제, 네트워크 등의 관리 불필요
  • 자동으로 리소스 프로비저닝 및 스케일링 지원

2. 이벤트 기반 실행 모델

  • 이벤트(Event) 발생 시 트리거(Trigger)를 통해 코드 실행
  • 사용자 요청이나 시스템 이벤트에 따라 동작

3. 종량제 과금 방식

  • 실제 사용한 리소스에 대해서만 비용 청구
  • 자원 효율성 향상 및 비용 절감

4. 확장성과 유연성

  • 트래픽 변화에 따른 자동 리소스 확장 가능
  • 부하 변화에 능동적이고 빠르게 대응

3. 구성요소

1. 함수형 서비스(FaaS: Function as a Service)

  • AWS Lambda, Azure Functions, Google Cloud Functions 등
  • 작은 코드 단위로 기능을 분리하여 배포 및 실행

2. 백엔드 서비스(BaaS: Backend as a Service)

  • 데이터베이스, 인증, 스토리지 등의 백엔드 서비스 제공
  • AWS DynamoDB, Firebase, Azure Cosmos DB 등

3. 이벤트 및 트리거 관리 서비스

  • 이벤트를 관리하고 적합한 함수를 호출하여 처리
  • AWS EventBridge, AWS API Gateway, Azure Event Grid 등

4. 장점

1. 인프라 관리 효율성

  • 서버 유지보수 및 관리 부담 경감
  • 비즈니스 로직 및 서비스 개발에 집중 가능

2. 개발 및 배포 속도 향상

  • 신속한 코드 개발 및 배포 지원
  • 마이크로서비스 구조를 통해 유지보수 용이성 확보

3. 비용 효율성

  • 자원 낭비 최소화로 운영 비용 절감
  • 실제 사용량 기반 과금 체계로 합리적 비용 관리 가능

5. 단점 및 고려사항

1. Cold Start(콜드 스타트) 문제

  • 최초 함수 실행 시 지연 발생 가능
  • 지연 민감 애플리케이션에 부적합할 수 있음

2. 제한된 실행 시간과 자원 할당

  • 클라우드 서비스 제공자의 자원 사용 제한 존재
  • 장기 실행 및 고성능 요구 작업 시 제약 발생 가능

3. 디버깅과 모니터링의 복잡성

  • 분산 환경에서 오류 추적 및 디버깅 어려움
  • 전문화된 모니터링 및 로그 관리 시스템 필요

6. 활용 사례

1. 웹 및 모바일 애플리케이션 백엔드

  • 사용자 인증, 데이터 관리 및 실시간 처리 등

2. IoT 및 실시간 데이터 처리

  • 센서 데이터의 즉각적 수집 및 처리

3. 자동화 및 배치 작업

  • 반복적이고 정기적인 작업 자동화 구현

7. 결론 및 발전 방향

  • 서버리스 아키텍처 기술의 지속적 발전 및 사용 범위 확대 예상
  • 인공지능(AI), 빅데이터 분석 등 고성능 컴퓨팅 분야와 결합 확장 가능
  • 기술적 한계 극복을 위한 지속적 연구 개발 필요