Есть один старый анекдот про мужчину, которому не удается зажечь спичку, на что ему говорят: «Очень странно. У меня получилось ее зажечь буквально минуту назад».
Эта шутка актуальна и для разработчиков программного обеспечения, которые иногда сталкиваются с тем, что приложение нормально работает в их тестовой системе, но перестает работать, как только его пытается запустить кто-нибудь другой. В таком случае проблему довольно расплывчато классифицируют как ошибку пользователя. В большинстве случаев, связанных с программным обеспечением, суть проблемы сводится к зависимостям. Многие приложения не работают должным образом без конкретной версии операционной системы, платформы, библиотеки или иного ресурса. И если этот элемент отсутствует в системе, вам просто не повезло. Клиенты часто сталкиваются с этой неприятностью при попытке развернуть свои рабочие нагрузки в облаке.
Положись на меня
Контейнеры призваны решить эту распространенную проблему. Они дополняют приложение всеми зависимыми объектами, обеспечивая его стабильную работу в любой среде. Развертывание ПО с ноутбука разработчика в облаке оказывается куда более простой задачей, поскольку это происходит в облачной инфраструктуре, где располагаются все необходимые ресурсы. В отличие от виртуальных машин, у контейнеров есть два больших преимущества: легкость и быстрый запуск. Поэтому они становятся оптимальным выбором при внедрении микросервисов, где крупные приложения поделены на более мелкие приложения, которые сообщаются друг с другом и могут запускаться в нужное время для оптимального потребления ресурсов.
Многие поставщики облачных услуг (CSP) уже используют контейнеры для собственных приложений, поэтому у них есть необходимый опыт для внедрения платформы «контейнеры как услуга» (Containers-as-a-Service, CaaS). Оптимизированная для контейнеров инфраструктура облегчает клиентам процесс развертывания рабочих нагрузок в облаке и устраняет проблемы, связанные с исправлением зависимостей и построением контейнерной инфраструктуры с нуля.
Благодаря более эффективному развертыванию с помощью контейнеров CSP будут получать меньше звонков в службу поддержки и в конечном счете повысят лояльность клиентов. На данном этапе развития рынка у CSP есть множество возможностей для дифференциации с помощью CaaS, что поможет привлечь новых клиентов.
Разнообразие
Для построения инфраструктуры на базе контейнеров доступна богатая экосистема решений, и CSP могут выбирать оптимальные инструменты для каждого элемента. Например, инструмент оркестрации используется для планирования контейнеров в кластерах виртуальных машин и помогает обеспечить их доступность. Здесь есть несколько вариантов. Узел Docker Swarm* оказал огромное влияние на популяризацию контейнеров, а система Apache Mesos* часто использовалась для рабочих нагрузок больших данных на базе Apache Hadoop* или Apache Spark*. Но явным лидером рынка является разработанная корпорацией Google платформа Kubernetes*, которая сейчас быстро завоевывает звание фактического стандарта.
Доступны также несколько разных сетевых инструментов, позволяющих контейнерам обмениваться данными друг с другом. Calico* — популярный вариант, обеспечивающий коммуникацию с управлением на основе политик, что может позволить CSP взимать дополнительную плату за управление политиками. Flannel* предлагает простую оверлейную сеть, упрощая преобразование портов.
CSP могут также выбрать различные решения для обнаружения сервисов, мониторинга и регистрации данных, DevOps, шины передачи сообщений, а также непрерывной интеграции и предоставления услуг.
Если у вас небольшой опыт работы с открытым исходным кодом, сделать выбор может быть довольно сложно, но вы можете купить готовое решение вместо того, чтобы строить архитектуру с нуля. Такие компании, как Red Hat и Pivotal, предлагают платформу с поддержкой контейнеров, которая уже включает различные элементы экосистемы.
Еще быстрее!
Как при создании, так и при покупке программной инфраструктуры CSP необходимо учитывать производительность используемого аппаратного обеспечения. Новый масштабируемый процессор Intel® Xeon® предлагает в 1,46 раза более высокую пропускную способность памяти по сравнению с процессорами предыдущего поколения, обеспечивая более высокую плотность контейнеров, повышенную производительность и оптимальное использование ресурсов сервера. Многие CSP могут значительно повысить скорость инфраструктуры благодаря замене устаревших процессоров более ранних поколений на новые и получить все упомянутые преимущества.
Чтобы узнать больше о том, как использовать контейнеры для предложения новых сервисов, загрузите электронное руководство «Using Containers to Grow Your Cloud Services Business» (Использование контейнеров для развития бизнеса по предоставлению облачных сервисов). Дополнительные ресурсы для CSP доступны на веб-сайте: intel.ru/csp.