Не бойтесь путешествия: как эти компании отказались от своих центров обработки данных в пользу Kubernetes в облаке

Опубликовано: 3 Марта, 2023
Не бойтесь путешествия: как эти компании отказались от своих центров обработки данных в пользу Kubernetes в облаке

Kubernetes — одна из самых быстрорастущих технологий на сегодняшний день. В то время как Docker начал революцию контейнеров, Kubernetes действительно загнал отрасль в угол, поскольку он является уровнем управления контейнерами и, что важно, не зависит от поставщика. Направление и развитие Kubernetes, управляемое CNCF, не контролируется какой-либо одной организацией. Многие поставщики в индустрии облачных вычислений объединились, чтобы убедиться, что Kubernetes является лучшим решением для любой организации, стремящейся модернизировать свои приложения и инфраструктуру. Несмотря на такой импульс, для Kubernetes все еще рано. Каждая компания, которая сегодня использует Kubernetes в производственной среде, является первопроходцем. У них нет ответов на все вопросы, но они увидели достаточно, чтобы сделать решительный шаг. Они ежедневно сталкиваются с проблемами и на лету находят новые решения. Kubernetes в облаке — это мощный инструмент, но он передает всю эту мощь в руки тех, кто им управляет, и требует, чтобы они контролировали его производительность на каждом этапе. Если вы рассматриваете возможность перехода на Kubernetes в облаке или уже запускаете кластеры Kubernetes в производственной среде, вам следует изучить аналогичные организации, которые сегодня используют Kubernetes, и извлечь из них уроки. Это то, что мы обсуждаем здесь.

В мае в Копенгагене прошел KubeCon + CloudNativeCon. Здесь многие организации поделились своими историями работы с Kubernetes в продакшене. Это сборник лучших из тех историй. Полностью выступление можно посмотреть и на YouTube.

The New York Times: переход в облако

Изображение 434
Викимедиа

The New York Times не нуждается в представлении, так как это одна из ведущих глобальных новостных организаций. The New York Times, известная тем, что раскрывает некоторые из самых громких историй и оказывает влияние на популярную культуру, прошла интересный путь, стремясь модернизировать свою технологическую инфраструктуру — как интерфейсную, так и серверную.

С 1990-х годов The New York Times поддерживает свои собственные центры обработки данных, и они вполне освоились со своим способом управления и эксплуатации этих центров обработки данных. Однако в 2010 году они окунули свои пальцы в общедоступную облачную платформу и с тех пор начали рассматривать возможность постепенного перехода к облаку. В 2016 году они решили начать этот переход и начали закрывать свои центры обработки данных и переносить все свои приложения в облако.

Для управления этими приложениями в облаке им потребуется надежный инструмент управления. Они смотрели на Kubernetes как на этот инструмент. Кроме того, им потребуется множество вспомогательных инструментов, выполняющих различные функции, дополняющие Kubernetes. Прежде всего, они поняли, что им нужен культурный сдвиг, если этот переход будет успешным.

Они использовали цепочку инструментов, таких как GitHub, для запуска GitOps прямо в начале конвейера. Они были активными пользователями Jenkins, но устали от больших налогов на управление, которые это влекло за собой. Вместо этого они выбрали более минималистское решение CI Drone.io. Они решили использовать AWS в качестве своей облачной платформы и увидели возможность автоматизировать операции в AWS. Для этого они использовали Terraform, который позволяет использовать шаблоны для создания, настройки и удаления ресурсов AWS. Наконец, они поняли, что им нужен специальный инструмент для обработки секретной информации, такой как пароли. Для этого они обратились к Vault, чтобы гарантировать, что разработчики не будут делиться секретами в Slack и других платформах, которые видны многим пользователям в организации.

Они создали децентрализованную сеть доставки контента (CDN), которая позволила разработчикам иметь возможность самообслуживания, а не полагаться каждый раз на Ops для предоставления ресурсов. Они даже организовали свою работу в проекты и определили бюджет для каждого проекта. Этот бюджет был введен в файл YAML, откуда команды могут получать уведомления о расходах бюджета прямо из Slack. Чтобы улучшить внимание разработчиков, они агрессивно отключали службы, которые больше не были нужны или которые можно было заменить более новыми и обновленными службами. Они использовали Prometheus для мониторинга и Istio для работы в сети.

С таким набором новых инструментов и процессов это было немалым изменением — это был полный пересмотр того, как The New York Times обрабатывала доставку приложений. Kubernetes в облаке был в центре всего этого, что позволяло управлять контейнерами, на которых работало более 300 приложений в облаке, но наряду с этим существовало множество инструментов, таких как Drone.io, Terraform, Vault, Prometheus и Istio и сделал всю операцию не только возможной, но и успешной. New York Times перешла от низкой скорости развертывания в эпоху центров обработки данных к 12 000 сборок всего за четыре недели. Забегая вперед, они хотят улучшить автоматизацию тестирования с помощью Blazemeter и расширить использование сервисной сетки для работы в сети. The New York Times — отличная история о переходе от устаревшего стека, работающего на аппаратных серверах, к перемещению в облако и максимальном использовании этого перехода с использованием контейнеров и Kubernetes в облаке. Для этого нужны правильные инструменты, подход и культура. Полный разговор можно посмотреть в видео ниже:

[tg_youtube video_id="Tm4VfJtOHt8"]

Caicloud: обработка триллионов платежей в Китае

Caicloud — консалтинговая компания, которая специализируется на облачных вычислениях, уделяя особое внимание использованию Kubernetes и TensorFlow для преобразования функционирования предприятий. Работая с одним из крупнейших национальных банков Китая, перед Caicloud была поставлена задача модернизировать процесс обработки платежей банком. Появились более мелкие и гибкие решения для мобильных кошельков, которые де-факто стали способом осуществления платежей в Китае. Чтобы отреагировать на это, банковский клиент Caicloud захотел улучшить работу своего собственного кошелька под названием Union Pay.

Большая проблема в том, что серверная инфраструктура банка очень устарела. Это была заброшенная установка, в которой доминировали виртуальные машины и управлялась OpenStack. Было несколько процессов, запускаемых контейнерами, но для этих контейнеров не было уровня управления. Учитывая устаревшую технологию, все делалось вручную, нигде не было автоматизации.

Чтобы модернизировать эту настройку, очевидным способом был Kubernetes, поскольку он позволяет работать в облачной среде. В то время как готовый Kubernetes предоставляет некоторые ключевые базовые функции, такие как пространства имен, сервисы и DNS, банк, будучи крупным предприятием, имеет особые потребности в управлении, такие как мультикластерные зоны, мультитенантность, мультисетевое место, сложное SDN и более. Это вещи, которые Caicloud нужно будет настроить поверх ванильного Kubernetes.

Caicloud приступил к работе и помог создать надежную платформу управления облаком для своего банковского клиента на базе Kubernetes. Они создали конвейер CI/CD и помогли клиенту реализовать проверку кода, лучше спланировать выпуски, управлять ветвлением репозиториев и даже управлять версиями. Они подготовили подробные отчеты о тестировании и убедились, что каждое решение соответствует политике банка. Решения не всегда принимались на основе технологических соображений, и иногда эта политика накладывала свои собственные ограничения. Но Кайклауд преодолел эти ограничения.

Они привели к переходу от монолитной структуры к архитектуре микросервисов, основанной на контейнерах. В результате появились две разные платформы — IaaS и контейнерная платформа. Однако вместо того, чтобы позволить этим различиям фрагментировать систему, они создали единую панель управления для всех ресурсов, будь то контейнерная платформа или платформа IaaS. Они настраивают единый вход (SSO), чтобы пользователи могли получать доступ к определенным для них ресурсам. Они также определили иерархию ролей, таких как системный администратор, администратор арендатора и группа/команда и пользователь. У каждой роли были разные роли и обязанности, и это было важно для обеспечения того, чтобы вся команда функционировала как единое целое. Они нашли интегрированные решения для хранения. Они даже использовали TensorFlow поверх Kubernetes, чтобы помочь команде прогнозировать поведение клиентов.

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

Полный разговор можно посмотреть в видео ниже:

[tg_youtube video_id="OS5DKWffn9s"]

От тяжелого оборудования до Kubernetes в облаке

The New York Times и Caicloud — отличные примеры организаций, использующих передовые технологии Kubernetes. Тем не менее, их истории очень похожи на истории любой современной организации. Их путь лежит от устаревшей инфраструктуры, в значительной степени ориентированной на оборудование, к облаку, основанному на контейнерах и Kubernetes. Когда вы совершаете этот переход, ищите вдохновения в таких организациях, как The New York Times и Caicloud. Вы не одиноки на пути к мастерству в Kubernetes.