Сегодня использование DevOps в больших корпорациях и маленьких компаниях общепринятое и привычное явление. Но прогресс, как известно, не стоит на месте. Что же еще требуется современному production окружению для наилучшего функционирования?

Production окружение и использование DevOps

Не так давно разработчики выделяли несколько особенностей production окружения:

  1. приложение, которое работает на сервере/виртуально;
  2. базы данных размещены на отдельно размещенных серверах;
  3. наличие фронтендов;
  4. дополнительные сервисы инфраструктуры.

Но при широком применении цифровых продуктов в сфере бизнеса возникла необходимость увеличения скорости и объемов IT-разработок. В результате этого изменилась и сама методология, что привело к некоторым сложностям:

  • в командной работе;
  • в управлении зависимостями;
  • в релизах;
  • в решении ошибок в больших приложениях.

Во избежание перечисленных проблем и перешли к использованию практики DevOps.

Результаты эксплуатации DevOps

Начинающие админы, начав использовать инструменты DevOps, отмечают множество «плюсов». Среди них:

  • docker для упаковки софта, который может быть развернут в самых различных production окружениях;
  • фиксированное восстановление усложненной инфраструктуры с «нуля»;
  • оркестровка сервисов;
  • широкий спектр управляющего tooling`a.

Но основное в DevOps для таких специалистов – легкое масштабирование добавленных серверов в случае острой необходимости, так как инфраструктура представляет собой «облако» поверх них. Теперь она с серверами docker-, kube-, на которых по несколько десятков контейнеров. При этом на отдельных железках размещены:

  • общие БД;
  • resource-intensive;
  • latency-sensitive.

Поэтому возникла задача распределения «облачных» ресурсов на сервисы пользователя и автоматического резервного копирования в «облако».

Подход Google App Engine

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

  1. для Cgroups:CPU:
  • необходимость в подборке параметров методом тестирования;
  • рабочая модель распределения ресурсов «слоты + фоновая нагрузка»;
  1. для Cgroups:memory:
  • нет определенного предела;
  • расширенная статистика по утилизации диска определенными группами процессов;
  • необходимость в настраивании приоритетов.

И, как общий вывод, чтобы добиться автоматического резервного копирования в «облако»,  нужно провести несколько тестов.

Поддержка и внедрение devops инструментов, обращайтесь [email protected]