Sky Computing은 복잡한 클라우드 환경을 통합해 단일 플랫폼처럼 효율적으로 자원을 활용할 수 있게 하는 새로운 패러다임입니다. 이를 구현한 SkyPilot은 멀티 클라우드 환경에서 AI, LLM등 다양한 워크로드를 최적화된 비용으로 실행합니다. 삼성SDS는 SkyPilot에 SCP를 지원하게 하여 클라우드 활용의 편리함과 비용 최적화를 실현하고 있습니다. 그리고 대용량 데이터 전송을 위한 SkyPlane과 멀티 클라우드 워크플로우 수행을 위한 SkyAirflow를 소개합니다.
복잡한 클라우드 환경에서 꼭 필요한 기술은?
오늘날 클라우드 인프라 환경은 상상을 초월할 정도로 복잡해졌습니다. AWS, GCP, Azure 등 주요 클라우드 서비스만 해도 수십 개의 지역과 수백 개의 가용 영역, 500가지가 넘는 인스턴스 타입, 그리고 On-demand, Reserved, Spot과 같은 다양한 가격 정책이 존재합니다. 여기에 AI와 같이 대규모 연산 자원이 필요한 워크로드*는 여러 클라우드, 다양한 하드웨어, 복합적인 가격 모델을 동시에 활용해야 하므로, 단순히 “가장 저렴한 리전**에서 작업 실행” 같은 기본적인 요구 조차도 엔지니어링 리소스와 비용의 낭비를 초래합니다.
*워크로드: 컴퓨트·스토리지·메모리·네트워크 자원을 소비하는 모든 애플리케이션, 서비스, 기능 또는 프로세스의 모든 작업을 통칭
**리전: 클라우드 서비스 공급자가 동일 지리적 권역에 여러 데이터센터(또는 가용 영역)를 묶은 독립적인 인프라 영역
이러한 복잡성을 해소하기 위해 UC 버클리대 Sky Computing Lab에서 제안한 것이 바로 Sky Computing입니다. Sky Computing은 여러 클라우드 인프라를 하나의 통합된 풀로 묶어, 사용자가 마치 단일 플랫폼처럼 손쉽게 다양한 클라우드 자원을 활용할 수 있도록 하는 새로운 패러다임입니다. 핵심은 두 가지로 요약됩니다. 첫째, 통합 인터페이스를 통해 사용자는 한 번만 작업을 정의하면 여러 클라우드에서 동일하게 실행할 수 있습니다. 둘째, 내장된 최적화 엔진이 실시간으로 가격과 가용성을 분석해 각 워크로드에 최적의 인프라를 자동으로 선택해줍니다. 이로써 클라우드 사용은 훨씬 단순해지고, 비용은 절감되며, 더 넓은 자원 풀을 활용할 수 있게 됩니다.
.
Sky Computing의 시작, SkyPilot으로 열어가는 멀티 클라우드의 혁신
SkyPilot은 Sky Computing Lab에서 Sky Computing 개념을 구현한 첫 번째 오픈소스 프레임워크로 LLM, AI, 데이터 과학 및 배치 작업 등 다양한 워크로드를 어떠한 클라우드에서도 손쉽게 실행할 수 있도록 해주는 프레임워크 입니다. 또한 가장 가격이 저렴한 클라우드를 찾아 작업을 수행하여 비용 절감도 가능하게 합니다.
최초 릴리즈인 버전 v0.1.1이 22년 하반기에 출시되었고 어느덧 2년 반이 흘렀습니다. 삼성SDS 연구소 클라우드 연구팀에서는 23년 상반기에 SkyPilot에 SCP(Samsung Cloud Platform, 삼성SDS의 기업용 클라우드)를 지원하는 기능을 개발하였고 23년 하반기에 v0.4.0 버전에 SCP가 신규 지원 클라우드로 추가가 되었습니다. SCP는 AWS, GCP, Azure, IBM, Lambda Cloud이후 여섯번째로 추가된 클라우드였으며 현재 15종의 클라우드가 지원되고 있습니다.
하지만 다음 버전인 v0.5.0이 24년 상반기에 출시되면서 SkyPilot의 하위 프로젝트인 SkyServe라는 프로젝트가 추가되었고 이로 인해 SkyPilot의 아키텍처가 완전히 바뀌게 되었습니다. 이름하여 SkyPilot v2(개발 프로젝트 버전 v2로 릴리즈 버전 기준 v0.5.0부터가 v2)가 나오게 되었습니다. 그래서 새로 추가되는 클라우드는 SkyPilot v2의 아키텍처에 맞추어 개발을 진행해야 하는 상황이었고 SCP는 SkyPilot v2의 아키텍처가 나오기 전에 추가가 되어 레거시 아키텍처를 따라 개발되어 추가가 되었습니다.

SCP는 SkyPilot v2 아키텍처를 따라 개발되지 않았기 때문에 SkyServe* 기능은 사용할 수가 없는 상태였습니다. 하지만 25년 상반기에 SkyPilot v2 아키텍처에 대한 SCP 지원 코드 개발이 완료되어 현재 SkyPilot 공식 Github에 오픈소스 컨트리뷰션을 완료하였습니다. SkyPilot v2 아키텍처 기반으로 개발되어 SkyServe 기능을 제공한 모습은 그림2와 같습니다. *SkyServe: SkyPilot에 포함된 모델 서빙 프레임워크로, Sky Computing 환경에서 AI·LLM 모델을 여러 리전·여러 클라우드에 동시에 배포하고 운영하도록 돕는 기능을 제공, Sky Computing이 지향하는 “어디서든 이용 가능한 통합 컴퓨팅 풀” 위에 서빙 계층을 올려 비용을 낮추고 가용성을 높이는 역할을 수행

그림 2의 수행 화면을 보면 1개의 Controller*와 4개의 Replica*가 모두 SCP 인스턴스를 사용한 모습입니다. 여기서 Controller는 사용자의 프롬프트를 입력 받아 로드밸런싱**을 통해 4개의 Replica중 하나에 프롬프트를 보내어 답변을 받은 후 사용자에게 전달을 합니다. Replica는 실제 LLM 모델을 수행하여 입력 프롬프트에 대한 답변을 생성합니다.
*Controller(컨트롤러), Replica(레플리카): 컨트롤러는 사용자의 응답을 받아 실제 서비스를 수행하는 레플리카를 생성하고 오토스케일링 기능을 통해 레플리카의 수를 트래픽 양에 따라 조절, 지속적인 서비스를 제공하며 레플리카에 대한 로드밸런싱을 수행, 레플리카는 여러 리전·여러 클라우드 상에서 생성되며 이를 컨트롤러가 관리함
**로드밸런싱: 여러 대의 서버(또는 컴퓨팅 자원)로 들어오는 네트워크 트래픽을 균등하게 분산해 단일 서버의 과부하를 방지하고 애플리케이션 가용성·응답성을 최적화하는 기술
이로써 SkyPilot v2 아키텍처에서 개발된 SCP 지원 기능이 정상적으로 동작하는 모습을 확인할 수 있습니다. 또한 버전 v0.8.0부터는 수행하는 배치 작업들을 대시보드에서 실시간으로 확인하는 기능이 추가되었습니다. 그림3의 대시보드에서는 AWS, GCP, SCP의 작업들이 수행되는 모습을 확인할 수 있습니다.

이렇게 수행중인 작업과 수행 완료된 작업을 대시보드 형태로 편하게 시각화하는 기능을 제공하여 멀티 클라우드를 활용하여 작업을 수행하는 것이 더욱 편해진 모습입니다.
대용량 데이터 전송을 빠르고 간편하게
다음으로 SkyPlane에 대해 이야기해 보겠습니다. SkyPlane은 클라우드 환경에서 대용량 데이터를 빠르고 효율적으로 전송하기 위해 개발된 오픈소스입니다. 이 프로젝트의 핵심 목표는 AWS, GCP, Azure 등 다양한 클라우드의 오브젝트 스토리지 간에 대규모 데이터를 빠르고 비용 효율적으로 이동시키는 것입니다.

SkyPlane은 전송 속도를 극대화하기 위해 클라우드에 여러 대의 가상머신을 자동으로 프로비저닝*하여, 데이터를 병렬로 압축 및 전송합니다. 이 과정에서 대역폭 계층화와 압축을 활용해 비용도 최소화합니다. 삼성SDS 연구소 클라우드 연구팀에서는 23년 하반기에 SCP 지원 기능을 개발하였습니다. *프로비저닝: 사용자가 요청한 서버·스토리지·네트워크·소프트웨어 같은 IT 자원을 즉시 쓸 수 있는 상태로 미리 생성·할당·설정해 두는 전 과정을 뜻함
한 번에 끝내는 멀티 클라우드 워크플로우
마지막으로 24년 상반기에 삼성SDS 연구소 클라우드연구팀이 Sky Computing Lab에 제안한 프로젝트로 SkyAirflow가 있습니다. SkyAirflow는 Apache Airflow*에 SkyPilot을 Provider로 제공하여 멀티 클라우드 환경의 워크플로우를 수행할 수 있도록 해주는 공식 Provider 패키지입니다. 이를 활용하면 Airflow의 워크플로우 내에서 AWS, GCP, SCP 등 다양한 클라우드의 작업을 SkyPilot을 통해 작업을 수행할 수 있습니다. * Apache Airflow: 워크플로우(데이터·ETL·ML 파이프라인 등)를 DAG(Directed Acyclic Graph) 형태로 정의하여 수행, 예약, 모니터링 할 수 있게 해 주는 오픈소스 플랫폼

삼성SDS 연구소가 Sky Computing으로 준비하는 미래
사용자는 어떻게 하면 더 편하고, 더 저렴하게, 더 좋은 성능으로 클라우드 서비스를 사용할 수 있을지가 항상 고민입니다. 앞으로는 다양한 클라우드 서비스를 조합해 사용하는 것이 상식인 시대가 올 것으로 예상합니다. 삼성SDS 연구소가 추구하는 Sky Computing은 이러한 고민을 해결하고 상식에 부합하는 가까운 미래의 모습입니다. 미래의 클라우드 서비스는 사용자는 어떤 클라우드를 쓰고 있는지 몰라도 될 뿐 아니라 복잡한 과정을 거칠 필요 없이 원하는 서비스만 신청하면, 최적의 클라우드 환경에 배치/실행 될 수 있을 것 입니다. 물론, 이러한 과정의 모든 정보는 사용자에게 투명하게 공유될 것 입니다.
오픈소스
https://github.com/skypilot-org/skypilot
https://github.com/skyplane-project/skyplane
https://github.com/skypilot-sds/airflow-provider-skypilot