Рейтинг:0

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

флаг tr

В настоящее время у меня есть традиционный процесс развертывания, который работает следующим образом:

  1. Есть много разных "функционалов". Каждая функциональность работает в своей среде, но существует межфункциональная связь.
  2. Существует хост-компьютер «Deployer», который загружает на него репозитории git и развертывает коды/активы на разных машинах ECS.
  3. «Развертчик» будет развертывать различные функции на разных машинах с помощью автоматизированного сценария bash.
  4. Bash-скрипт «Развертывание» может указать количество машин и какие машины должны быть развернуты для каждой функции.
  5. Для каждой функциональности существует файл конфигурации среды, и код функциональности на реальном компьютере будет ссылаться на него. Bash-скрипт «Deployer» развертывает один и тот же файл конфигурации на серверах с той же функциональностью (в той же среде).
  6. Для каждой функции балансировщик нагрузки будет распределять запросы на соответствующие машины в той же среде в соответствии с правилами балансировки.
  7. На каждой машине работает одна и та же ОС, CentOS7, и есть ручная документация по настройке необходимых утилит (таких как httpd, PHP, NodeJs, MySQL и их файлы конфигурации .etc) для каждой среды. Настройка должна быть выполнена только один раз и может быть выполнена в течение нескольких часов.

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

Насколько я понимаю, ключевыми преимуществами контейнерного развертывания и моими текущими соображениями являются

Возможность развертывания кодов в кроссвендорных облаках.

Моя текущая мысль: поскольку каждое облако поддерживает CentOS7, документация по установке и файлы конфигурации должны работать для каждого облака, верно? (Я нахожусь на стадии разработки и на самом деле не тестировал реальных поставщиков облачных услуг, и это может быть причиной моего непонимания, но теоретически я не понимаю, как это не работает)

Легко масштабировать количество машин

Моя текущая мысль: сценарий bash «Deployer» может указать количество машин для автоматического развертывания и активации для каждой функции.Я не могу придумать, как можно упростить увеличение/уменьшение масштаба при использовании контейнеров.

Более быстрое развертывание

Моя текущая мысль: основные накладные расходы в моем сценарии «Deployer» — это копирование больших файлов активов по сети. Я не вижу, как это может быть значительно уменьшено при использовании контейнеров.

Более комплексное местное развитие

Моя текущая мысль: текущая локальная разработка выполняется с использованием бродячих виртуальных машин (все с CentOS7), а не контейнеров, и я не нахожу это очень неудобным.

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

Я новичок в контейнерах, и я признаю, что я один из тех, кто смотрит на шумиху и рассматривает возможность перехода от процесса разработки/развертывания, с которым я знаком. Однако мои текущие соображения, кажется, предполагают, что я не должен следовать шумихе, возможно, из-за недостатка знаний. Есть ли что-то, что я пропустил, что действительно полезно, если я перейду на использование контейнеров?

флаг us
Как вы поддерживаете синхронизацию рабочей среды и среды разработки в отношении обновлений безопасности и версий программного обеспечения?
cr001 avatar
флаг tr
В настоящее время мы указываем в документации, какую версию программного обеспечения мы используем (например, мы всегда используем php 7.3). Я понимаю вашу точку зрения, но, поскольку обновление версий зависимостей потребует обширной отладки, а иногда и модификации кода, я не собираюсь делать это часто, а скорее буду обновлять только при необходимости.
флаг us
Вам следует перейти с PHP 7.3 на более новую версию, PHP 7.3 больше не поддерживается и не получит никаких обновлений безопасности. С контейнерами спецификации вашей версии будут в самом контейнере, поэтому процесс будет более автоматическим, чем ваш текущий.

Ответить или комментировать

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