Контейнеризация все шире внедряется в ИТ-архитектуры, и поэтому ИТ-командам необходимо этому обучаться, пишет на портале InforamtionWeek Мэри Шеклет, президент консалтинговой компании Transworld Data.

Программные контейнеры впервые были коммерциализированы в начале 2000-х. С тех пор идея контейнеризации приложений набирает обороты, поскольку программные контейнеры позволяют ускорить развертывание приложений и, во многих случаях, сократить время работы ИТ-специалистов.

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

Один контейнер, созданный для работы с Linux, содержит ядро ОС и все необходимые исполняемые файлы, двоичный код, библиотеки и файлы конфигурации, необходимые для запуска приложения. Разработчику ПО достаточно загрузить приложение в контейнер Linux, и в идеальном мире не требуется никакой дополнительной «ручной интеграции» или настройки. Согласно исследованию Forrester, 74% компаний используют контейнеры как в локальных, так и в облачных средах.

Однако при использовании контейнеров возникают проблемы, которые ИТ-специалистам приходится решать.

Хотя контейнеризация может сделать приложения более гибкими и избавить от болезненных инфраструктурных интеграций, проблемы интеграции переходят на другие области.

Вот вопросы, на которые должны ответить ИТ-специалисты:

  • Есть ли у меня нужные инструменты для управления контейнерами, а если нет, то какие новые инструменты мне нужны и как интегрировать знания об этих инструментах в текущий набор моих навыков?
  • Какие сетевые и системные передовые практики необходимо изменить для управления контейнерами, и как интегрировать эти новые практики в нашу текущую методологию?
  • Существуют ли способы автоматизации операций с контейнерами, и как эта новая автоматизация повлияет на текущую практику?
  • Как контейнеры меняют мою философию сохранения и восстановления данных?
  • Рискуем ли мы создать больше бесполезной траты ИТ-ресурсов?
  • Как это отразится на существующих схемах безопасности и сетях с нулевым доверием?

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

Разработка успешной контейнерной среды

Ключом к развертыванию контейнеров является целостный подход к процессу.

Как контейнеризация влияет на разработку и развертывание приложений, квалификацию персонала, ИТ-инфраструктуру, управление и выбор инструментов?

Методы разработки и развертывания приложений изменятся, поскольку разработчику больше не придется думать об интеграции приложения с базовой ОС и соответствующей инфраструктурой. Это связано с тем, что контейнер уже имеет правильную конфигурацию всех этих элементов. Если разработчик приложений хочет сразу же установить свое приложение и в Linux, и в Windows, он может это сделать.

Более сложная работа ложится на плечи системного и сетевого персонала, который должен поддерживать контейнеры.

Например, как поддерживать согласованность внутри каждого контейнера, когда существует так много динамических взаимодействий между множеством битов и частей ПО, которые сконфигурированы в каждом контейнере? Можно ли делать это с помощью существующих инструментов?

Большинство ИТ-специалистов пришли к выводу, что для управления контейнерами нужны специализированные инструменты, а привычные инструменты они использовать не могут. Инструменты для управления контейнерами предоставляют Kubernetes, Dynatrace и Docker, но для освоения этих инструментов требуется обучение ИТ-персонала.

Безопасность и управление также представляют собой проблемы в контейнерной среде, поскольку каждый контейнер использует собственное ядро ОС. Если обнаруживается уязвимость в системе безопасности ОС, образы ядра ОС во всех контейнерах должны быть синхронно исправлены с помощью патча безопасности. В таких случаях идеально иметь средства автоматизации процесса исправления, но поначалу, возможно, придется делать это вручную.

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

Наконец, существуют вопросы сохранения и восстановления данных, а также предотвращения нерационального использования ИТ-ресурсов.

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

Заключение

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

Задача состоит в том, чтобы подготовить ИТ-персонал к оптимизации этой инновационной технологии и подготовиться к изменениям в ИТ-инфраструктуре, которые контейнеризация, несомненно, вызовет.