Недавно автор искал работу, ходил на собеседования и общался с инженерными командами из десятка компаний. И заметил, что по сравнению с поиском пять лет назад теперь буквально все сидят на Kubernetes. Раньше было три лагеря: редкие пользователи K8s, любители systemd на VM/VPS/EC2 и serverless (Lambda, Cloud Run и прочее). Сейчас эти лагеря почти исчезли из вакансий, а K8s просто выиграл.
Автора это удивило: у него самого Big Tech-масштаб, так что K8s там очевидно нужен. Но стартап из десяти человек с двумя сервисами, без микросервисов и высоких нагрузок, тоже сидит на кластере. Он спросил CTO напрямую, зачем. Ответы везде оказались одинаковыми, и они касаются не техники.
Первая причина — единообразие. Каждый сервис деплоится одинаково. Никто втихаря не держит платёжный сервис на голой VM с проклятым bash-скриптом из 2019 года, пока API висит на Docker Compose. Один способ деплоя — для всего.
Вторая — стандартизированные знания. Kubernetes стал лингва-франка. В первый же день на новой работе автор открыл репу с Helm-чартами и Kube-конфигами и за час понял всю архитектуру. Знания лежат в YAML, а не в голове у кого-то одного. Если человек уходит, замена не тратит три недели на разбор полётов. На текущей работе автора дежурные SRE могут поднять любой сервис, даже если никогда его не видели: они знают K8s, а паттерны везде одинаковые.
Третья — отслеживаемость, с compliance или без. Никто не делает kubectl apply -f прямиком в кластер. Толкаешь Helm-чарт в git, появляется трек, процесс утверждения MR, а FluxCD или ArgoCD уже катает деплой. Ничего не происходит в тени. Это отлично ложится на ISO-сертификацию: GitOps с K8s даёт её почти бесплатно.
Вывод, который сделал автор: CTO решают не технические, а организационные проблемы. Они платят за сложность K8s ради единообразия, стандартизированного найма и traceability. Вероятно, в их манифестах нет topologySpreadConstraints, HPA или Pod Disruption Budgets, у них просто столько же нод, сколько было бы VM. Автор считает, что это нормально, но большинству компаний стоит всё-таки начинать без K8s. Когда ты ещё продаёшь продукт следующему клиенту, грязный git pull на VPS — валидный экстренный фикс. А разбираться, почему под висит в CrashLoopBackOff за два часа до звонка с заказчиком, совсем не хочется.
Почему рынок переключился именно сейчас? Автор предполагает: managed K8s (EKS, GKE, AKS) стали зрелыми, а пул талантов перевернулся — нанять человека под VM стало сложнее, чем под K8s. И Helm сделал «просто возьми чужой чарт» реальной опцией. Личный порог автора — момент, когда в компании появляется второй инженер. Как только CTO перестаёт быть единственным разработчиком, проблемы, которые решает K8s, становятся настоящими: новому человеку надо деплоить, нужен доступ, и он когда-нибудь уйдёт, забрав знания. Вот тогда система должна хранить их, а не люди.