~/VibeHandbook

Инфраструктура

aws.amazon.com

Virtual Machines

Что это такое

Виртуальная машина (VM) — это полноценный компьютер, существующий как программное обеспечение и работающий на оборудовании провайдера. Вы получаете операционную систему, которую полностью контролируете — вы входите в неё, устанавливаете всё что хотите и запускаете своё приложение ровно так, как делали бы это на физической машине. Это самый «ручной» из вариантов хостинга.

Сильные стороны

  • Полный контроль — целая операционная система, любое ПО, любая конфигурация.
  • Предсказуемая производительность; машина ваша на всё время аренды.
  • Никаких ограничений на время или среду выполнения, в отличие от serverless или edge.
  • Запускает что угодно: базы данных, устаревшее ПО, кастомные демоны, долгие задачи.
  • Зрелая, хорошо понятная модель с десятилетиями инструментария.

Компромиссы

  • Вы управляете всем: обновлениями ОС, патчами безопасности, резервными копиями, мониторингом.
  • Вы платите за машину, занята она или простаивает.
  • Масштабирование ручное — вы сами изменяете размер или добавляете машины.
  • Больше подвижных частей означает больше способов что-то сломать.
  • Самое медленное выделение ресурсов по сравнению с функциями или контейнерами.

Когда использовать

Используйте VM, когда нужен полный контроль или есть требования, которые более лёгкие варианты не могут удовлетворить: специализированное ПО, постоянное состояние, самостоятельно размещённая база данных, нагрузки на GPU или миграция существующего приложения без переписывания.

Подходит для вайб-кодинга

VM дают ИИ-агенту самый широкий холст, но и наибольшую ответственность, поэтому опирайтесь на инфраструктуру как код, а не на ручные клики. Пусть агент напишет скрипт развёртывания (файл cloud-init или скрипт настройки в shell), чтобы вся машина была воспроизводимой и проверяемой, вместо настройки сервера вручную по SSH. Совет: попросите агента собрать настройку в единый bootstrap-файл и настроить автоматические обновления безопасности — так вы сможете в любой момент уничтожить и пересоздать 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
# Запустить bootstrap на свежем сервере
scp bootstrap.sh user@my-server:/tmp/
ssh user@my-server "sudo bash /tmp/bootstrap.sh"