Итоги 2015: контейнерная зрелость и регуляторный год
2015-й прошёл под двумя знаками: Docker перестал быть экзотикой, Kubernetes дал оркестрацию, а ФЗ-242 заставил пересматривать архитектуру с оглядкой на локализацию.
Подведение итогов 2015 года: контейнеры и оркестрация как рабочий инструмент, ФЗ-242 и Let's Encrypt как регуляторные и инфраструктурные сдвиги
Конец года - подходящий момент, чтобы разобраться что реально изменилось, а не просто заполнило конференционные расписания. 2015-й был насыщенным в обоих смыслах: и по технологической плотности, и по регуляторному давлению. Попробуем честно.
Контейнеры: от «интересно попробовать» к «ладно, это в прод»
В январе 2015-го Docker у большинства наших клиентов жил в категории «есть пара инженеров, которые играются». К декабрю картина другая: несколько проектов работают с контейнерами в production, причём без особого героизма - просто как инструмент.
Что изменилось не в маркетинге, а на практике:
- Compose навёл порядок в многоконтейнерных окружениях. Раньше «запустить стек для разработки» - это была устная инструкция в вики на пять шагов. Теперь
docker-compose upи всё. Даже скептики из числа разработчиков оценили. - Kubernetes 1.0 в июле дал оркестрацию с нормальным API. До этого выбор между Swarm, Mesos и самодельными решениями был сугубо экспериментальным. Релиз 1.0 - это не «теперь стабильно навсегда», но это «теперь можно строить на этом что-то серьёзное без ощущения что фундамент уплывёт завтра».
- Приватный реестр перестал быть экзотикой. Nexus с Docker Registry API, GitLab Container Registry в бете - инфраструктура для хранения образов перестала быть проблемой, стала рутиной.
Главная практическая трудность, с которой мы столкнулись у клиентов - не технологии, а организация. Кто отвечает за образ? Кто обновляет базовый образ когда в нём CVE? Кто следит за тем что тег latest не превратился в «нечто неопределённое из прошлого квартала»? Это не вопросы Docker, это вопросы процесса. И без ответа на них контейнеры дают дополнительную сложность, а не меньше.
Swarm мы в этом году щупали вживую, и он закрывает простые сценарии достаточно хорошо. Kubernetes сложнее, требует понимания etcd, scheduler, сети - это не «поставил и поехал», это отдельная дисциплина. Для небольших команд Swarm часто уместнее.
ФЗ-242: архитектурный вопрос, а не юридический
Закон о локализации персональных данных вступил в силу 1 сентября, и первые проверки Роскомнадзора были не столько карательными, сколько ориентационными. Проверяли факт наличия документации и намерения, а не реальное местонахождение данных.
Но готовиться нужно было не к проверке - нужно было понять что вообще делать с архитектурой. У нескольких клиентов обнаружилась одна и та же история: часть персональных данных живёт в SaaS-инструментах с зарубежным хостингом - CRM, helpdesk, маркетинговые платформы. Юридически это проблема. Технически перенести - проект на месяцы.
Самое ценное что мы сделали в рамках подготовки - помогли клиентам сначала разобраться что именно считается персональными данными в их конкретном потоке, а не бросаться переносить всё подряд. ФЗ-242 при внимательном чтении устроен так, что первичная запись должна быть на российских серверах - но это не всегда означает запрет на репликацию. Детали важны, и детали у каждого клиента свои.
Архитектурный итог года: у нескольких клиентов появились выделенные инфраструктурные сегменты под ПДн - отдельные VLAN, отдельное логирование, отдельный аудит доступа. Не потому что регулятор потребовал немедленно, а потому что это правильный способ управлять этим риском.
Let's Encrypt: один из немногих поводов порадоваться без оговорок
Публичная бета в ноябре, certbot как нормальный инструмент - и оправданий держать HTTP больше нет. Это редкий случай когда технология реально убирает класс проблем без компромиссов: раньше TLS стоил денег, времени и бюрократии CA. Теперь - одна команда и cron.
В декабре мы написали Ansible-роль и раскатали её на весь managed-парк. Это было несколько часов работы, после которых внутренние сервисы с самоподписанными сертификатами стали историей.
Автоматизация как единственный способ не утонуть
Если честно подвести черту под годом - главное наблюдение не в конкретной технологии. Количество движущихся частей в типичной инфраструктуре выросло: контейнеры добавили слой образов и оркестрации, ФЗ-242 добавил слой документирования и аудита, Let's Encrypt добавил слой автоматического обновления сертификатов. Всё это управляемо - но только если автоматизировано.
Клиенты, которые в этом году вложились в Ansible-роли, нормальный мониторинг и CI/CD, - у них новая сложность легла поверх работающего фундамента. Те, кто продолжал делать всё руками, - у них нагрузка на команду выросла нелинейно.
Это не мотивационный вывод, это практическое наблюдение. Автоматизация в 2015-м перестала быть «хорошей практикой», которую откладывают на потом. Она стала ответом на конкретное давление.
Что не решили в этом году и продолжаем смотреть: мониторинг контейнерных окружений - Prometheus интересен, но у нас пока только первые пилоты. Как агрегировать метрики из динамически создаваемых контейнеров без ручной настройки - вопрос открытый.
Следующий год обещает быть не проще. Реестр отечественного ПО заработает с января, госзакупки начнут это отражать в тендерах, контейнерная экосистема продолжает двигаться быстро. Скучно точно не будет.
- Kubernetes 1.0: Google объявляет оркестрацию production-ready · 1 июля 2015
- ФЗ-242 и зарубежные SaaS: составляем матрицу рисков до 1 сентября · 4 августа 2015