서버리스 컴퓨팅
서버리스 컴퓨팅이 확장성, 비용 효율성, 신속한 배포를 통해 AI/ML을 혁신하는 방법을 알아보세요. 지금 더 스마트하고 빠르게 구축하세요!
서버리스 컴퓨팅은 클라우드 공급자가 서버 할당 및 프로비저닝을 동적으로 관리하는 클라우드 실행 모델입니다. 이 접근 방식을 통해 개발자는 기본 서버 인프라에 대해 생각하지 않고 애플리케이션과 서비스를 빌드하고 실행할 수 있습니다. 개발자는 서버를 프로비저닝하고 관리하는 대신 함수 형태로 코드를 배포합니다. 이러한 함수는 공급자가 온디맨드 방식으로 실행하며, 하루에 몇 건의 요청에서 초당 수천 건까지 자동으로 확장됩니다. 이 종량제 모델은 머신 러닝(ML) 애플리케이션의 일반적인 시나리오인 가변적이거나 예측할 수 없는 트래픽이 있는 워크로드에 매우 효율적입니다.
서버리스 컴퓨팅의 작동 방식
서버리스 컴퓨팅의 핵심은 FaaS(Function-as-a-Service) 모델입니다. 이 설정에서 애플리케이션 로직은 특정 이벤트에 의해 트리거되는 소규모의 단일 목적 함수로 세분화됩니다. 이벤트는 웹 애플리케이션의 HTTP 요청, 대기열의 새 메시지, 클라우드 스토리지에 업로드되는 파일 등이 될 수 있습니다.
트리거 이벤트가 발생하면 클라우드 플랫폼은 즉시 해당 기능을 실행합니다. 이 플랫폼은 컴퓨팅 인스턴스 프로비저닝, 운영 체제 관리, 고가용성 및 확장성 보장 등 리소스 관리의 모든 측면을 처리합니다. 기능 실행이 완료되면 리소스가 해제됩니다. 이렇게 하면 유휴 서버 시간을 없애고 애플리케이션이 소비하는 정확한 컴퓨팅 리소스에 대해서만 비용을 지불할 수 있습니다. 이것이 최신 MLOps의 기본 원칙입니다.
AI 및 머신 러닝 분야의 애플리케이션
서버리스 아키텍처는 특히 AI/ML 수명 주기의 다양한 단계, 특히 모델 추론에 적합합니다.
- 자동화된 데이터 파이프라인: 서버리스 함수는 데이터 전처리 작업을 자동화할 수 있습니다. 예를 들어, 새 이미지가 Amazon S3와 같은 스토리지 서비스에 업로드될 때마다 함수가 트리거될 수 있습니다. 그러면 함수가 자동으로 이미지의 크기를 조정하고 픽셀 값을 정규화하며 모델 학습에 사용할 수 있는 형식으로 저장할 수 있습니다.
- 비용 효율적인 모델 제공: 많은 AI 애플리케이션은 지속적인 대용량 처리를 필요로 하지 않습니다. 컴퓨터 비전 모델을 위한 서버리스 엔드포인트를 사용하면 지속적으로 실행되고 종종 비용이 많이 드는 서버를 유지하지 않고도 Ultralytics YOLO와 같은 모델을 배포할 수 있습니다. 이 기능은 요청이 있을 때 요청을 처리하기 위해 가동되고 이후에는 종료되므로 운영 비용이 크게 절감됩니다. 이 접근 방식은 간헐적인 사용 패턴을 가진 애플리케이션에 대한 모델 배포를 간소화합니다.
실제 사례
- 온디맨드 이미지 분석: 모바일 앱을 통해 사용자는 식물의 사진을 업로드하여 식별할 수 있습니다. 사진을 업로드할 때마다 API 게이트웨이를 통해 서버리스 기능이 트리거됩니다. 이 기능은 이미지 분류 모델을 로드하고 사진을 분석하여 식물 종을 식별한 다음 결과를 사용자의 앱으로 반환합니다. 이 모든 과정은 전용 서버 없이 몇 초 만에 이루어집니다.
- 실시간 챗봇 처리: 고객 서비스 챗봇에서 각 사용자 메시지는 서버리스 기능을 트리거하는 이벤트입니다. 이 함수는 자연어 처리(NLP) 모델을 호출하여 사용자의 의도를 파악합니다. 분석 결과에 따라 이벤트 중심 아키텍처에 따라 데이터베이스를 쿼리하거나 다른 API를 호출하기 위해 다른 함수가 트리거될 수 있습니다.
서버리스 대 관련 개념
서버리스 컴퓨팅과 관련 기술을 구분하는 것이 중요합니다:
- 클라우드 컴퓨팅과 서버리스: 클라우드 컴퓨팅은 인터넷을 통해 컴퓨팅 서비스를 광범위하게 제공하는 것입니다. 서버리스는 서버 관리를 완전히 추상화하여 자동 리소스 관리를 강조하는 클라우드 컴퓨팅 내의 특정 실행 모델입니다. 서비스형 인프라(IaaS) 와 같은 다른 클라우드 모델에서는 여전히 사용자가 가상 머신을 프로비저닝하고 관리해야 합니다.
- 컨테이너화 대 서버리스: Docker와 같은 컨테이너화 도구는 애플리케이션과 그 종속성을 패키지화합니다. Kubernetes와 같은 오케스트레이션 플랫폼은 이러한 컨테이너의 배포와 확장을 자동화합니다. 이렇게 하면 운영 부담이 줄어드는 반면, 기본 클러스터 인프라는 여전히 관리해야 합니다. 서버리스 플랫폼은 이 계층을 완전히 추상화하여 함수 코드만 관리합니다. Docker와 Ultralytics를 함께 사용하는 방법을 알아보세요.
- 엣지 컴퓨팅과 서버리스: 엣지 컴퓨팅은 데이터 소스 근처의 디바이스에서 로컬로 데이터를 처리합니다. 반면 서버리스 컴퓨팅은 중앙 집중식 클라우드 데이터 센터에서 기능을 실행합니다. 이 둘은 상호 보완적으로 사용될 수 있으며, NVIDIA Jetson에서 실행되는 엣지 AI 디바이스는 초기 필터링을 수행한 다음 클라우드에서 서버리스 기능을 트리거하여 보다 집중적인 분석을 수행할 수 있습니다.
대표적인 서버리스 플랫폼으로는 AWS Lambda, Google Cloud Functions, Azure Functions가 있습니다. 이러한 서비스는 서버리스 AI/ML 애플리케이션을 효과적으로 구축하고 실행할 수 있는 인프라를 제공합니다. 울트라리틱스 허브와 같은 플랫폼은 서버리스 설정을 포함한 다양한 아키텍처 내에서 모델의 배포와 관리를 더욱 간소화할 수 있습니다.