В предыдущей статье я подробно разбирал, как автоматически разворачивать собственные серверы Hysteria2 через Ansible, получать сертификаты, создавать пользователей и превращать несколько VPS в нормальную воспроизводимую инфраструктуру вместо коллекции команд из истории shell. В результате у нас появились серверы Hysteria2 в нескольких географических точках и готовые URI подключения вида hysteria2://user:password@host:443. Но довольно быстро возник следующий совершенно логичный вопрос: если эти серверы уже существуют, почему через них должен ходить только ноутбук или телефон, а домашняя и серверная инфраструктура продолжает самостоятельно решать проблемы с доступом к внешним сервисам? Предыдущая схема хорошо решает транспортную часть задачи, теперь пришло время поставить над ней нормальный маршрутизатор.
Как я перестал ждать свободный гипервизор и написал четыре симулятора API
Однажды мне понадобилось проверить изменение одного параметра виртуальной машины. В коде это несколько строк, в лаборатории - свободный кластер, доступное хранилище, подходящий шаблон и надежда, что никто параллельно не запустит резервное копирование всего стенда. В такие моменты особенно хорошо понимаешь: инфраструктурная разработка умеет превращать маленькую задачу в огромную проблему на свою голову большое организационное мероприятие.
Я столкнулся с этим, когда занимался проектами, которые собирают сведения об инфраструктуре и управляют ею через API. Сначала хотел сделать небольшой инструмент для собственных тестов, чтобы реже зависеть от лабораторного Proxmox. В результате появились четыре проекта: симуляторы API Proxmox VE, OpenStack, VMware и oVirt.