Друзья! Мы долго и напряженно работали и теперь нам, уже честно, нравится то, что получилось. А получилось просто, удобно и понятно, для всех и везде. Вся конфигурация сложного и мощного Битрикс серверного окружения (серверы приложений, реалтайм-чаты, кэши, системы хранения и др.) из дюжины контейнеров и микросервисов описана полностью декларативно исключительно в форматах Dockerfile, Docker-compose и .env-файлов - нет никаких скриптов с кодом настройки, многоуровневых меню и императивщины. Мы выложили результат нашего труда в официальный git-репозиторий вендора и залили официальные образы контейнеров в официальное хранилище предсобранных образов (docker images). Смело качайте, устанавливайте "Управление сайтом" и "Битрикс24" любой редакции за "пару-тройку" (С) минут (хоть самую "навороченную" редакцию "энтерпрайз") где хотите, от рабочего стола разработчика до мощного кластера серверов (включая оркестраторы типа "кубернетес") и наслаждайтесь прозрачной и быстрой работой системы в контейнерах!
От переполняющего меня ощущения радости и льющихся из глаз потоков слез счастья я буду дальше предельно краток и скуп на картинки. Картинок - не будет. Я просто, "на пальцах", понятным языком, в виде ответов на вопросы, расскажу, какие возможности открывает перед вами официальное контейнерное окружение Битрикс от вендора и почему ваша жизнь может круто измениться и стать на порядок более эффективной через несколько минут!
Что такое "контейнеры"?
Сложно объяснить, особенно если не разбираешься в теме - легко. А вот объяснить просто - сложно! :-)
"Контейнеры" - это самый современный и быстрый способ распространения простых и сложных программ, позволяющий быстро запустить их где угодно - от рабочего стола разработчика и тестировщика, до кластера кубернетес. "Контейнеры" на порядки снижают сложность и время развертывания, кратно увеличивая качество решения для конечного пользователя. Не нужно больше тратить, иногда, дни и недели на развертывание - запуск Битиркс из контейнеров даже в самой сложной конфигурации "энтерпрайз" с Postgres и "всеми наворотами" занимает несколько минут.
Персональный совет: приходите к любому вендору с первым и главным вопросом "вы поддерживаете контейнеры?", как с лакмусовой бумагой. Если вендор современный и продвинутый, он их поддерживает в своих продуктах или планирует поддержать в ближайшее время. Запомните, практически весь самый популярный и полезный в мире софт доставляется в "контейнерах". Отлично, идем дальше по вопросам!
Сколько может быть "контейнеров" в приложении?
Простые приложения могут распространятся в виде одного "контейнера", который создается из одного "образа" - например nginx или mysql. Сложные приложения, типа Apache Superset, могут содержать в себе 2-3 и более контейнеров для разных микросервисов. Битрикс содержит дюжину контейнеров и микросервисов (их число постоянно добавляется, следите за новостями), в зависимости от конфигурации дистрибутива и редакции.
Внутри нашей сборки есть одобренные и протестированные вендором образы "nginx", "php", "mysql", "postgres" и множество других. Все эти образы "контейнеров" тщательно описаны нами в Dockerfiles, куда при сборке кладутся подготовленные наши и легко читаемые простыми смертными конфигурационные файлы.
А можно запустить "контейнеры" на нескольких серверах?
По умолчанию, Битрикс запустит все свои контейнеры и микросервисы на одном сервере (или рабочем столе разработчика, тестировщика, администратора, безопасника) так, как описано в декларативном Docker-compose. Но легко можно разделить систему на части и некоторые контейнеры и микросервисы можно, при желании, запустить на выделенных серверах, например контейнеры для MySQL, Postgres, Sphinx. Еще нередко выносят на отдельные серверы контейнеры и микросервисы для чатов и быстрых коммуникаций.
А можно запустить "контейнеры" Битрикс в Kubernetes?
Легко! Обычно достаточно одного вечера и хорошо заваренного чайника с зеленым чаем, чтобы из имеющихся и тщательно подготовленных нами Dockerfiles и Docker-compose подготовить конфигурационные файлы Pods, Deployments и Ingress-Controllers для развертывания системы в Kubernetes. Ведь самое сложное в развертывании в Kubernetes - это подготовить качественные образы "контейнеров" и конфигурационные файлы, что мы уже и сделали для вас и будем поддерживать их в актуальном состоянии, как вендор (шепчу на ухо: активно пользуйтесь этим преимуществом).
А можно не собирать образы "контейнеров", а сразу скачать образы, подготовленные вендором, и запустить?
Многие спрашивают об этом и ответ - да! Ведь самостоятельная сборка образов может занять определенное время (в зависимости от мощности железа, наличия и качества работы вашего реестра образов контейнеров) и требовать определенных навыков, а при наличии доверия к вендору (или отсутствия времени или желания) можно образы и не собирать, а сразу их скачать из нашего официального репозитория образов и запустить. Вот пишу это, а у самого слюнки капают, как же я ждал этого.
А что такого сложного в самостоятельной сборке образа контейнера PHP, Nginx или NodeJS для запуска Битрикс?
Скажу честно - в подготовку конфигурационных и Docker-файлов того же образа PHP нами вложено немало сил и тестирования совместимости. Очень, очень много тонкостей нам пришлось учесть, чтобы Битрикс работал у вас с этой контейнерной конфигурации как новенький iPhone работает с новенькими AirPods. Аналогично, непросто было делать и тестировать в разных редакциях и условиях образ с специализированными модулями для Nginx, предназначенными для максимально быстрой работы Битрикс. Дам совет - если хотите снизить технологические риски и получить максимально быструю работу Битрикс - берите наши образы и конфиги контейнеров, иначе что-то может потом работать не так или не так быстро.
А как дела с информационной безопасностью?
ИБ - это важно. Мы уделили особое внимание вопросам обеспечения информационной безопасности контейнерной сборки, фанатично проработав с внутренним отделом информационной безопасности Dockerfiles и защитив все потоки данных в продукте внутри контейнерной сборки. Но, тем не менее, мы настоятельно рекомендуем, для разворачивания контейнерной сборки "на проде" собрать внутреннее совещание с вашими системными администраторами и безопасниками, просмотреть глазами все конфигурационные файлы контейнерной сборки еще раз, все "понять и простить" (С) и только когда все потоки данных и настройки будут понятны, переходить к переносу контейнерной конфигурации "на бой". Обратите внимание, в нашем официальном репозитории - очень, очень подробная документация, и ее нужно всю прочитать (и перечитать). Если же вам требуется гибкое управление микросервисами и автоматическое восстановление после падения серверов, я рекомендую потратить еще один вечер и аккуратно портировать наши конфигурационные файлы контейнеров в конфигурационные файлы Pods и Deployments кубернетес и запуститься там - вам понравится опыт и, поверьте, обратно в Docker-compose вы больше не вернетесь! :-)
"Полюбит, не полюбит"?
Контейнерную сборку Битрикс, я уверен, полюбят разработчики, т.к. теперь, чтобы запустить "Управление сайтом" или "Битрикс24" на рабочем столе, потребуется пара минут (я серьезно, проверьте прямо сейчас). У разработчика все многочисленные контейнеры и микросервисы "Управление сайтом" и "Битрикс24" теперь перед глазами - видны все логи, метрики использования процессора, памяти, сети, диска, все теперь совершенно ясно, не нужно "делать доступ к логам на сервер" и ждать его две недели и не дождаться.
Новую официальную контейнерную сборку, я убежден, полюбят и тестировщики. Все контейнеры и микросервисы тестируемого веб-сайта теперь у тестировщика перед глазами на рабочем столе и/или внутри Docker-Desktop. Видны все ошибки и предупреждения в логах. Все то, что запущено у тестировщика на рабочем столе, будет один к одному запущено "на бою". "У меня работало, а у клиента - нет" (С), останется в прошлом. Качество тестирования увеличится в разы, это проверено моей личной практикой не раз.
Контейнерную сборку беззаветно полюбят безопасники. Теперь у них весь "Битрикс24" перед глазами - видны все логи всех контейнеров и потоки данных. Все пароли и конфиги. Не нужно договариваться с системными администраторами и ждать неделю доступ к логам и конфигам на серверы (и не дождаться) - все можно оперативно проверить на рабочем столе и практически все то же самое будет и "на бою".
Обычно контейнерные сборки тепло воспринимают и продакты. Вы легко сможете показать продакту или бизнес-менеджеру развернутый за минуты на рабочем столе (или сервере) веб-проект на "Управлении сайтом" или "Битиркс24", наполненный контентом, с работающими админками, чатами, звонками и уведомлениями. Это сильно снижает риски внедрения и поощряет эксперименты с добавлением других популярных контейнеров с полезным открытым софтом, поверьте мне.
А вот кто реально затаит на вас обиду, так это наши любимые бесценные системные администраторы (я, конечно, шучу!). Ведь теперь любой сможет за 2 минуты запустить у себя на рабочем столе перед совещанием "Битрикс24-энтерпрайз" с Postgres и Sphinx и проверить, как в нем работает реал-тайм поисковая индексация сообщений в живой ленте. Но героических сисадминов ждут впереди новые и интересные вызовы - нужно учиться эффективно обновлять контейнеры, перезапускать при необходимости, управлять их логами, выделять им необходимое количество ресурсов и учиться дергать глазом, когда разработчики передадут им не Docker-compose, а полноценный Helm Chart с глубоко кастомизированным Ingress-Controller - но это уже совсем другая история! :-) (не пугайтесь, я одной ногой сисадмин, поэтому все что написано выше - чистая неправда)
Итого
Надеюсь, друзья, было интересно это все читать и все было предельно понятно и ясно, особенно где тут для вас бизнес-польза и увеличение эффективности труда и снижение рисков. Контейнеры принесли простоту и скорость внедрения, увеличив его качество в разы. А официальные контейнеры от вендора - еще большее благо, т.к. вендор берет на себя большую часть рисков их сопровождения и поддержки. Рекомендую прямо сейчас запустить у себя контейнерную сборку Битрикс внутри Docker-Desktop на рабочем столе и прочувствовать простоту и эффективность технологии и наслаждаться.
Задавайте, пожалуйста, побольше вопросов и удачных вам проектов!
Комментарии (2)
hayk4500
23.06.2025 06:14Сделайте гибких роботов в задачах в Битриксе. Чтобы можно было скрипты писать прям в настройках роботов проекта. А то если честно не слишком гибко сейчас, большинство идеи невозможно реализовать без нагромождений нескольких роботов.
Скрытый текст
hitmany
Ура товарищи! Спустя столько лет российский вендор монополист наконец начал слушать пользователей. Спасибо всем кто к этому был причастен