본문으로 바로가기 본문 바로가기
WIKI 기술 지식 베이스

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의 관리 주체로, 요금 관리를 하고 구성원을 추가·제거해 접근을 제어하며 앱 개발 환경을 공유할 수 있게 해줘요.

더 알아보기 (Learn more)