Платформа Imagenarium: вся инфраструктура как код — в одном контейнере

Логотип компании
Платформа Imagenarium: вся инфраструктура как код — в одном контейнере
Серьезный аргумент за то, чтобы использовать российскую платформу Imagenarium вместо сложных решений на базе Kubernetes, — она сама представляет собой простой контейнер, что значительно упрощает взаимодействие с ней.

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

В зависимости от инфраструктуры и ее масштабов разработчикам приходится выбирать между очень простыми решениями, которые не предоставляют нужный функционал, и очень сложными и дорогостоящими. Среди разработчиков сформировался даже некий стереотип о контейнерных платформах: «Если ваша инфраструктура выросла до нескольких десятков серверов или виртуальных машин, то для управления процессами деплоя ПО на них вам необходимо внедрить платформенное решение на базе Kubernetes».

В 2022 году тренд на развитие российский программных продуктов приобрел еще большие масштабы, а на рынке появилось множество новых решений. Увидев пресс-релиз о новой контейнерной платформе на российском рынке, я ожидал увидеть и новый продукт. Но, как оказалось, платформа под названием Imagenarium существует с 2017 года, поэтому не является продуктом “новой волны” импортозамещения, имеет свою историю и предлагает интересный функционал для разработчиков.

Всё свое ношу с собой

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

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

Важное преимущество запуска задачи внутри контейнера по сравнению с активацией исполняемого файла непосредственно в ОС заключается в том, что пользователю (либо администратору на клиентской стороне) нет необходимости явно удовлетворять все требуемые данным ПО зависимости, начиная от версии и сборки используемой среды программирования и заканчивая полным ассортиментом внешних библиотек. Всё необходимое для запуска данного приложения уже заведомо присутствует в контейнере, предоставленном разработчиком. И потому заказчику, внешнему или внутреннему, нет надобности тратить средства и время на поиск и устранение загадочных неисправностей, вызванных тем, что некий требуемый для нормальной работы ПО ресурс в его операционной среде отсутствует.

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

Так, Imagenarium реализует такие традиционные для контейнеров сервисы, как мониторинг и распределение нагрузки, работа с хранилищами и DRBD, автоматическое развертывание и откаты на предыдущие версии, самопроверка, автоматизированное распределение нагрузки и наличие API, обеспечивающего доступ ко всем функциям платформы.

Платформа Imagenarium: вся инфраструктура как код — в одном контейнере. Рис. 1

Богатый внутренний мир

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

Такая несложная, на первый взгляд, задача, как подготовка тестового контура (аппаратно-программного комплекса) для проверки очередной версии разрабатываемого ПО, может занимать дни и даже недели. Однако контейнеризованное приложение запустится буквально на любом (поддерживающем совместимую ОС) «железе» за считанные минуты, что позволит тестировщикам сразу приступить к исполнению своих задач, не тратя время на ожидание реконфигурации и донастройки тестового контура.

Принципиальное отличие Imagenarium от классических средств оперирования контейнерами на платформе Kubernetes в том, что сама она размещается в одном-единственном контейнере. При этом шаблоны развертывания задач в Imagenarium просты и понятны, что позволяет специалистам заказчика быстро осваивать их — и сразу же переходить к деплойменту собственных решений. Развитый же API с детальным и внятным интерфейсом, о котором уже упоминалось, дает возможность интегрировать Imagenarium в любые сценарии автоматизации CI/CD. Платформа имеет гибкую политику лицензирования, причем доступ к ограниченной версии Imagenarium Community Edition предоставляется бесплатно.

Сделай сам (в контейнере)

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

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

Предусмотрена также централизация работы платформы, развернутой на различных системах внутри контура заказчика, за счет интеграции с корпоративным порталом посредством SSO. Дополнительно возможно также использование LDAP, если по каким-то причинам это удобнее. Без приобретения каких бы то ни было лицензий Imagenarium работает под ОС семейства Windows, на основе ядра Linux (включая Астра Linux и RED OC), под OSX и FreeBSD; поддерживаются процессоры архитектуры ARM 8 и проприетарные ЦП разработки Apple Silicon в составе новейших MacBook.

Самое же значительное преимущество Imagenarium с точки зрения разработчика — создает ли тот ПО для внутренних или внешних заказчиков — в том, что данная платформа обеспечит сохранение полной инфраструктуры среды разработки, включая десятки сервисов, несколько СУБД, всевозможные очереди и сервисные шины в виде кода, полностью соответствуя концепции IaC (Infrastructure as Code). Слепок этой конфигурация будет сбережен в чрезвычайно удобном формате Git, знакомом сегодня практически любому программисту, и в ходе установки контейнера в среде заказчика развернут именно в первоначальном виде, оптимальном для исполнения рабочего кода, — насколько бы сильно итоговое окружение не отличалось от исходного.

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

Выводы

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

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

Опубликовано 24.01.2023

Похожие статьи