Fly.io 핵심 개념 (Fly.io essentials)
Fly.io 플랫폼을 이해하는 데 꼭 필요한 세 가지 큰 개념 — Fly Machines, Fly Launch, Fly Apps — 을 핵심만 알기 쉽게 정리해 드려요. 몇 분이면 앱을 띄울 수 있는 플랫폼이지만, 그 안에서 무슨 일이 일어나는지 더 알고 싶은 분들을 위한 가이드예요.
출처: 문서
본문
Fly.io에서는 정말로 몇 분 만에 앱을 실행하게 만들 수 있어요.
하지만 Fly.io 플랫폼에서 뭐가 뭔지 조금 더 알고 싶다면 계속 읽어 보세요. 요점만 보고 싶다면 용어집으로 건너뛰어도 돼요.
Fly.io가 어떻게 동작하는지 알기 위해 꼭 알아야 할 큰 개념 두 가지와 작은 개념 하나가 있어요: Fly Machines, Fly Launch, 그리고 Fly Apps.
Fly Machines: Fly.io에서 일을 하는 기본 단위
Fly Machines는 빠르게 실행되는 가상 머신(VM)으로, 개별적으로 실행하고 제어할 수 있어요. 우리는 여러분이 제공한 이미지로 Machines를 만들고, 여러분이 지정한 위치에서 실행해요.
Machines는 Fly.io의 컴퓨팅, 우리의 가장 낮은 수준의 오케스트레이션이에요. 특정 크기의 VM을 특정 위치에서 실행해야 할 때, Machines가 바로 그 해답이에요. 개별 VM을 생각하고 있다면 — 즉 VM 그룹으로 이루어진 애플리케이션이 아니라 — Machines를 생각하는 거예요.
Fly Machines에 대해 더 알아보세요.
Fly Launch: Fly Machines 위에 구축된 애플리케이션 관리
Fly Launch는 Machines 위에서 애플리케이션의 전체 라이프사이클을 관리하는 방법이에요. 시작부터 확장, 변경, 재배포까지요. 개별 VM이 아니라 "sandwich-ratings.fly.dev" 같은 애플리케이션을 생각한다면, Fly Launch를 생각하는 거예요.
Fly Launch는 Fly Machines용으로 처음부터 새로 만든 우리의 오케스트레이터예요:
fly launch명령으로 앱을 만들세요. Fly Launch가 프레임워크를 감지해 유용한 기본값을 제공해요.fly.toml설정 파일로 앱의 배포와 서비스를 구성하세요.fly deploy명령으로 앱의 Machines를 그룹으로 배포하세요.fly scale명령으로 앱의 Machines를 수평적으로 또는 수직적으로 확장하세요. 메트릭 기반 확장도 가능해요.
다시 말하지만, Fly Launch는 Machines 위에 구축돼 있어요: Fly Launch로 단일 명령으로 애플리케이션의 규모를 관리하거나, 세밀한 제어를 위해 Machines와 직접 상호작용할 수 있어요.
Fly Launch에 대해 더 알아보세요.
Fly Apps: 우리는 무엇을 만들지 정해 주지 않아요
Fly Apps는 Fly.io 플랫폼에서 Machines를 그룹화하는 방식이에요. Fly App은 웹 앱일 수도, 데이터베이스일 수도, 작업용 Machines 묶음일 수도, 원하는 무엇이든 배포할 수 있어요. 우리의 how-to 문서에서 "your app"이라고 말할 때는 Fly App을 말하는 거예요.
Fly Launch 기능으로 Fly App의 Machines를 그룹으로 관리하거나, Machines API나 fly machine flyctl 명령으로 개별 Machines를 실행하고 관리할 수 있어요. 이 모든 것을 하나의 Fly App에서 할 수도 있어요.
Fly Apps에 대해 더 알아보세요.
Fly.io 용어집 (Fly.io glossary)
Fly.io 플랫폼: Fly.io 공개 클라우드를 구성하는 모든 프리미티브, 제품, 기능.
Fly Apps: Fly.io 플랫폼에서 Machine을 관리·운영 목적으로 그룹화하는 방식.
Fly Launch: 앱 호스팅에 좋은 여러 기능을 포함한 우리의 오케스트레이터. 시작을 위한 fly launch 명령, 구성을 위한 fly.toml, 앱의 모든 Machine을 새 버전/릴리스로 배포하는 fly deploy 명령, Machine을 확장하는 fly scale 명령 등이 있어요.
Fly Machines: Fly.io가 지원하는 어느 리전에서든 빠르게 실행되는 Firecracker microVM이에요. VM(가상 머신)은 물리적 컴퓨터처럼 동작하지만 소프트웨어 기반이에요. 여러 VM이 하나의 물리적 호스트에서 완전히 격리되어 실행될 수 있어요. Fly.io에 앱을 배포했다면 Fly Machines 위에서 실행되는 거예요. Machine을 관리하는 빠른 REST API가 있지만, flyctl — Fly CLI — 로도 명령줄에서 모든 것을 관리할 수 있어요. 그리고 Fly Launch는 flyctl 명령과 공유 구성을 결합해 앱의 Machine을 그룹으로 관리해요.
Fly Volumes: Fly Machines용 로컬 영구 저장소. 각 Fly Volume은 한 번에 하나의 Machine에만 연결될 수 있고 하나의 Fly App에 속해요.
조직 (Organizations): Fly.io의 관리 주체로, 요금 관리를 하고 구성원을 추가·제거해 접근을 제어하며 앱 개발 환경을 공유할 수 있게 해줘요.