~/VibeHandbook
$39

인프라

aws.amazon.com

Virtual Machines

개요

가상 머신(VM)은 소프트웨어로 존재하며 제공업체의 하드웨어 위에서 실행되는 완전한 컴퓨터입니다. 완전히 제어할 수 있는 운영체제를 받게 됩니다. 로그인해서 원하는 것을 무엇이든 설치하고, 물리적 머신에서 하듯이 정확히 그대로 앱을 실행합니다. 호스팅 선택지 중 가장 직접 손을 많이 대는 방식입니다.

강점

  • 완전한 제어 — 전체 운영체제, 임의의 소프트웨어, 임의의 설정.
  • 예측 가능한 성능. 임대하는 동안 그 머신은 온전히 당신 것입니다.
  • 서버리스나 엣지와 달리 실행 시간이나 런타임 제한이 없습니다.
  • 무엇이든 실행: 데이터베이스, 레거시 소프트웨어, 커스텀 데몬, 장시간 작업.
  • 수십 년간의 툴링을 갖춘 성숙하고 잘 이해된 모델.

트레이드오프

  • 모든 것을 직접 관리합니다: OS 업데이트, 보안 패치, 백업, 모니터링.
  • 머신이 바쁘든 놀고 있든 비용을 지불합니다.
  • 확장은 수동입니다. 직접 크기를 조정하거나 머신을 추가합니다.
  • 움직이는 부품이 많다는 것은 고장 날 수 있는 방식도 더 많다는 뜻입니다.
  • 함수나 컨테이너에 비해 프로비저닝이 가장 느립니다.

언제 사용하나

완전한 제어가 필요하거나 더 가벼운 선택지로는 충족할 수 없는 요구 사항이 있을 때 VM을 사용하세요. 특수한 소프트웨어, 영속적인 상태, 셀프 호스팅 데이터베이스, GPU 워크로드, 또는 다시 작성하지 않고 기존 앱을 마이그레이션하는 경우 등이 그렇습니다.

바이브 코딩 적합성

VM은 AI 에이전트에게 가장 넓은 캔버스를 주지만 그만큼 가장 큰 책임도 줍니다. 그러니 수동 클릭 대신 코드형 인프라(infrastructure-as-code)에 기대세요. SSH로 서버를 손으로 설정하는 대신, 에이전트가 프로비저닝 스크립트(cloud-init 파일이나 셸 셋업 스크립트)를 작성하게 해서 머신 전체가 재현 가능하고 리뷰 가능하도록 만드세요. 팁: 에이전트에게 셋업을 단일 부트스트랩 파일로 스크립트화하고 자동 보안 업데이트를 설정하게 하세요. 그러면 설정을 잃지 않고 언제든 VM을 파괴하고 다시 생성할 수 있습니다.

#!/usr/bin/env bash
# bootstrap.sh — Ubuntu VM 프로비저닝
set -euo pipefail

apt-get update && apt-get upgrade -y
apt-get install -y nginx
systemctl enable --now nginx

# 무인 보안 업데이트 활성화
apt-get install -y unattended-upgrades
dpkg-reconfigure -f noninteractive unattended-upgrades
# 새 서버에서 부트스트랩 실행
scp bootstrap.sh user@my-server:/tmp/
ssh user@my-server "sudo bash /tmp/bootstrap.sh"