Kubernetes и контейнеры – двигатель приложений завтрашнего дня

Контейнеры упрощают внедрение облачных приложений, поскольку они содержат всю информацию, необходимую для их запуска в управляемых пакетах. Как отмечает Роман Волков, глава представительства Pure Storage в России/СНГ и стран Балтии, «в сентябре 2020 года мы объявили о приобретении Portworx – ведущей платформы в отрасли сервисов данных Kubernetes. Это обошлось нам примерно в 370 млн долларов США. Поэтому можно с уверенностью сказать, что мы осознаем важность этой технологии. Давайте посмотрим, как мы пришли к этому».

Kubernetes и контейнеры – двигатель приложений завтрашнего дня

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

Важность центричности данных

Данные лежат в основе будущего бизнеса. Ведущие диджитал-организации используют новый стек облачных технологий cloud native для преобразования данных в ценность и понимание. Cloud-native приложения специально разработаны для работы в облачной среде – будь то общедоступное либо приватное облако, – начиная с первого дня использования. Их можно развернуть и исправить быстрее, их легко перенести в другую среду. Cloud-native приложения обычно состоят из микросервисов (подробнее о них позже) и упакованы в контейнеры. Cтек облачных технологий «cloud native» включает новый набор приложений, которые анализируют потоковые данные в режиме реального времени, индексируют огромные объемы данных для поиска и обучают алгоритмы машинного обучения на все более внушительных наборах данных. Несомненно, что революция cloud-native технологий основана на комбинации контейнеров и Kubernetes.

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

Внедрение контейнеров говорит само за себя

Темпы внедрения этого нового «облачного» стека были ошеломляющими. По данным 451 research, 95% новых приложений разрабатываются в контейнерах. Предприятия развивают свои облачные стратегии в направлении мультиоблачности, и контейнеры также играют в этом ключевую роль. По данным Gartner, 81% предприятий уже являются мультиоблачными и работают с более чем двумя облачными провайдерами. Gartner также прогнозирует, что к 2025 году 85% всех мировых предприятий будут использовать контейнеры в производстве, что значительно больше, чем 35% в 2019 году.

Это все еще молодой рынок с огромным потенциалом роста, поэтому трудно предсказать, как он будет развиваться. Но IDC прогнозирует, что коммерческий рынок только программного обеспечения для контейнерной инфраструктуры достигнет 1,5 млрд долл. США к 2022 году, и предприятия, естественно, обращают на это внимание.

Микросервисы и контейнеры – безупречный match

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

Когда в последний раз вы получали уведомление об обслуживании от вашего любимого стримингового сервиса, о том, что вы не сможете получить доступ к сервисам? Такого не бывает. Не существует подходящего времени для обновления этих сервисов, потому что кто-то постоянно смотрит новое шоу. Принцип микросервисов гласит, что вы должны разбить приложение на более мелкие части, взаимодействующие через API, где каждая часть может обновляться независимо от других частей. В результате, если стриминговому сервису нужно обновить функцию сброса пароля, ему не нужно отключать миллионы пользователей. Эта функция представляет собой отдельный микросервис, который может обновляться независимо. В результате все счастливы, и разработчики, и пользователи.

Микросервисы будут только развиваться и станут основой приложений завтрашнего дня. В какой среде их следует запускать? Контейнеры – это идеальный строительный блок для микросервисов. Они представляют собой легкую, устойчивую среду для микросервисов, которая может сопровождать приложение от рабочего стола разработчика до тестирования и окончательного развертывания. Кроме того, контейнеры могут работать на физических или виртуальных машинах, а их запуск занимает секунды или даже миллисекунды, что быстрее, чем у виртуальных машин.

Упаковка приложений с их зависимостями

Традиционно пакеты программного обеспечения включают весь код, необходимый для запуска приложения на определенной операционной системе, например, Windows или Linux. Однако для работы приложения нужен не только код приложения, но и другие приложения. Например, приложение для поиска цен на акции может использовать библиотеку для преобразования названий компаний в тикеры (символы, присвоенные ценным бумагам) и наоборот. Эта функциональность является общей и не добавляет ценности, но она все равно важна, чтобы пользователь мог набрать «Apple» и получить акции «AAPL». Библиотека – это пример зависимости. Без ведома ИТ-специалистов любое приложение может иметь сотни подобных зависимостей.

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

Не все контейнерные сервисы созданы одинаковыми

Что касается проблем, то первое поколение приложений cloud-native было спроектировано так, чтобы быть без статических данных. Использовались контейнеры, которые выполняли работу приложения, но не нуждались в хранении постоянных данных в связанных томах. По мере развития использования контейнеров разработчики все чаще создают приложения, сохраняющие состояние внутри контейнеров – приложения, которым необходимо хранить данные в объеме, который должен быть постоянным и сохраняемым. Именно здесь мир хранения данных становится сложным. Гибкость и открытость контейнеров оборачивается препятствиями и узкими местами на уровне хранения, а простые возможности хранения, которые мы годами считали само собой разумеющимися в традиционном стеке приложений (высокая доступность, аварийное восстановление, резервное копирование, шифрование), становятся проблемами в мире контейнеров. Хуже того, часто происходит так, что каждое приложение разрабатывает свою собственную стратегию хранения, что делает невозможным внедрение стандартов и обеспечение соответствия данных в организации.

Именно поэтому в качестве лучшей практики мы рекомендуем выбирать решение, предоставляющее нативные для Kubernetes сервисы данных, необходимые как облачным, так и традиционным приложениям (поскольку традиционные приложения в ближайшее время не исчезнут). Это означает предоставление услуг блочного, файлового и объектного хранения данных с различными классами производительности, предоставляемых по требованию в соответствии с требованиями Kubernetes. Это означает обеспечение мгновенного доступа к данным, защиту от всех типов сбоев, возможность мобилизации данных между облаками и даже в/из облака, а также надежную защиту независимо от того, где путешествует приложение. Если организации сделают это, они сами поймут, почему Kubernetes стал не самым секретным фирменным соусом для современных организаций.

Подписывайтесь на наши группы, чтобы быть в курсе событий отрасли.

Перейти к началу страницы

Подпишитесь на новости индустрии

Нажимая на кнопку "подписаться", вы соглашаетесь с


политикой обработки персональных данных