Системы управления конфигурациями в эксплуатации веб-приложений

Особенности современной инфраструктуры веб-приложения как одного из трендов в области разработки программного обеспечения. Использование систем управления конфигурациями (Configuration Management) при эксплуатации IT-инфраструктуры на примере "Ansible".

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 10.12.2016
Размер файла 238,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Пензенский государственный технологический университет

Системы управления конфигурациями в эксплуатации веб-приложений

Чинков М.Ю., студент-бакалавр

2016 г.,

В статье рассматривается проблема оркестрации инфраструктуры современных веб-приложений, системы управления конфигурациями (CM) как возможное решение данной проблемы, а также практический пример применения Ansible как одной из CM-систем в инфраструктуре веб-приложения.

Ключевые слова: Continuous Integration, сборка, развертывание, Jenkins, веб-приложение, разработка программного обеспечения.

Введение

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

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

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

Решением данной проблемы является использование систем управления конфигурациями (Configuration Management) в эксплуатации веб-приложений.

Описание систем управления конфигурациями

Системы управления конфигурациями - программные комплексы, позволяющие централизованно управлять конфигурацией множества разнообразных разрозненных операционных систем и прикладного программного обеспечения, работающего в них. Главной целью конфигурационного управления является описание инфраструктуры целевой системы в программном коде с возможностью многократного воспроизведения. Главными достоинствами систем конфигурационного управления являются высокая скорость внедрения изменений, автоматизация рутинных процессов, гибкость управления инфраструктурой, идемпотентность (можно запускать систему неограниченное количество раз, получая одинаковый результат), а также декларативность используемой CM-системы (в системе описывается только вопрос "что сделать? ”, а не "как сделать? ”).

История систем управления конфигурациями в том виде, что мы имеем сейчас, начинается с 1993 года, когда появилась первая версия системы CFEngine. Основной задачей данной системы являлось управление рабочими станциями, работающими на разнообразных Unix-подобных системах. Далее развитие методологии конфигурационного управления привело к существованию устойчивого рынка программных продуктов четырех наиболее популярных решений на рынке. Этими продуктами являются Ansible, Chef, Puppet и SaltStack.

Все вышеперечисленные системы, несмотря на общую цель, имеют собственные специфические концепции, а также собственный язык управления - domain-specific language (DSL).

приложение конфигурация управление инфраструктура

Использование систем управления конфигурации в эксплуатации IT-инфраструктуры на примере Ansible

В рамках данного научного исследования был выбран продукт Ansible в виду простоты написания кода и четкого выполнения требований по декларативности и идемпотентности.

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

В рамках практической реализации была поставлена задача по установке как ПО, необходимого для работы веб-приложения (прокси-сервер Nginx, база данных PostgreSQL, интерпретатор Node. js со специфической версией 4.4), так и клиентских программ, позволяющих следить за нодами через различные системы мониторинга (агенты Zabbix, Filebeat, Consul). Данная задача была решена посредством написания на языке конфигурации шести отдельных ролей, где поэтапно описаны все шаги по установке и конфигурации программного обеспечения. Роли были собраны в двух сценариях (один для веб-серверов, один для всех серверов инфраструктурного парка) и были запущены командой ansible-playbook.

Путем дополнительной отладки удалось создать программное окружение веб-приложения с возможностью дальнейшего масштабирования и быстрого внесения изменений за довольно короткий временной срок. На рисунке 1 показан снимок процесса управления конфигурациями Ansible по настройке клиента системы сбора журнальных файлов Filebeat.

Рис. 1. Запуск системы управления конфигурациями Ansible

Заключение

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

Литература

1. Morris K. Infrastructure as Code: Managing Servers in the Cloud. - 2016.

2. Limoncelli T. The Practice of Cloud System Administration: Designing and Operating Large Distributed Systems, Volume 2. - 2015. - С.243-275.

3. Hochstein L. Ansible: Up and Running. - 2014.

Размещено на Allbest.ru


Подобные документы

  • Проблема управления инфраструктурой веб-приложения с микросервисной архитектурой. Тенденции к созданию программного обеспечения. Ключевые направления в разработке веб-приложений. Архитектура спроектированной системы мониторинга. Эффективность сервиса.

    статья [532,1 K], добавлен 10.12.2016

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

    реферат [176,2 K], добавлен 27.08.2009

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

    курсовая работа [636,2 K], добавлен 23.08.2011

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

    контрольная работа [480,4 K], добавлен 25.10.2010

  • Разработка программы для вычисления составной функции с использованием "радиокнопок" функций и "переключателей". Работа с элементом управления "Комбинированный список" (ComboBox). Создание MDI-приложения для формирования и просмотра данных из файла.

    контрольная работа [45,6 K], добавлен 01.05.2015

  • Характеристика особенностей автоматизации управлением IT-инфраструктуры из нескольких серверов путем внедрения в процесс системного администрирования методологии "Infrastructure as Code". Подробное описание инструментов, которые используются на практике.

    статья [196,3 K], добавлен 10.12.2016

  • Средства и технологии разработки приложений баз данных. Компоненты управления доступом к БД. Описание программного окружения доступа к данным. Механизм получения и отправки данных. Специфика связи внутреннего представления с интерфейсом приложения.

    презентация [29,4 K], добавлен 19.08.2013

  • Использование моделирования в программной инженерии в процессе разработки программного обеспечения. Основные этапы процесса разработки программного обеспечения, их характеристика. Моделирование процессов, их определение фазами и видами деятельности.

    реферат [2,2 M], добавлен 25.12.2017

  • Мониторинг сервисов веб-приложения. Проблема отслеживания большого количества сервисов, поддерживающих работу веб-приложения, ее решение с помощью "Service discovery"-инструментов. Применение программного инструмента Consul как клиент-серверной системы.

    статья [184,4 K], добавлен 10.12.2016

  • Система контроля и управления доступом как базовый компонент интегрированных систем. Структура и основные элементы систем видеонаблюдения. Области применения и обзор программного обеспечения систем видеонаблюдения. Интегрированные системы безопасности.

    дипломная работа [1,8 M], добавлен 25.07.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.