Сегодня мы поговорим об образах. Но не о тех, которые нужны поэтам, музыкантам и художникам, а о тех, что для бородатых админов: об образах ОС.

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

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

Зачем нужен образ установленной операционной системы

У этой технологии есть три основных способа применения:

  1. Автоматизация рутинной работы

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

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

Готовые образы операционной системы дают принципиально иной подход к автоматизации. Админ один раз устанавливает ОС на сервер и конфигурирует все необходимые сервисы вручную. После этого ОС со всеми потрохами сохраняется в образ. Когда надо запустить новый сервер, админ распаковывает файл образа на новой машине — и вуаля! Все необходимые сервисы и программы со всеми настройками сразу же появляются на новой машине под Windows, Linux или любой другой нужной ОС. Красота!

  1. Готовые приложения в один клик от сторонних разработчиков

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

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

Провайдеры облачных решений создали большое количество готовых виртуальных образов операционной системы для автоматизации рутинных нужд IT-команд — преднастроенные серверы баз данных, веб-серверы, заранее сконфигурированные системы сбора статистики и среды для запуска серверных приложений. У нас (VK) базы данных подключаются здесь, а другие многие другие настроенные средства разработки — на маркете приложений.

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

Просто клик мышью — и всё работает!

  1. Резервное копирование инфраструктуры

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

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

Рассмотрим типичный пример из админской практики.

Допустим, вы проводите перенастройку вашей инфрастуктуры в дата-центре. Процесс перенастройки довольно трудоёмок и включает в себя правки десятков и сотен конфигурационных файлов различных сервисов. Если в ходе работ что-то пошло не так, то придётся разбираться в изменениях конфигов и искать в них правки, вызвавшие сбои.

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

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

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

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

Зачем вам знать про образы ОС?

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

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

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

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