Современные вычислительные системы состоят из большого количества сложно взаимодействующих компонентов. Каждую такую компоненту можно представить в виде стека технологий. Например, в первом приближении это аппаратура, операционная система, библиотеки, приложения. Как правило, невероятная сложность программно-вычислительных комплексов спрятана от пользователей, администраторов и даже программистов. Любая разработка идет не с нуля. Действия в IT похожи на сборку результата из кубиков, как в конструкторе LEGO.
Масштабирование в небольших размерах выполняется очень легко. Например, когда нужно создать десять новых рабочих мест, точно таких же, как уже есть в другом филиале, это задача уровня Copy/Paste: берем готовое IT-решение, и просто копируем его. Расходы на повторные подключения будут даже меньше, потому что все отлажено и проверено.
Что меняет масштаб
Когда речь идет о создании внутренних (интранет) и внешних (интернет) сетевых ресурсов с ожиданием пиковых нагрузок, с повышенными требованиями к безопасности, одновременно с ростом иерархической сложности ролей пользователей – все обрастает нюансами. Начинают срабатывать технологические, платформенные и программные ограничения. Скорее всего, IT-служба найдет способ все подключить и обеспечить. Но надежность и экономичность, а также быстродействие и другие важные параметры уже будут под вопросом.
При дальнейшем усложнении архитектуры затраты на обслуживание инфосистемы растут нелинейно. Допустим, компания развилась до холдинга. Появилось несколько разных бухгалтерий, различные юридические аспекты. Ушли специалисты, которые создавали и поддерживали систему. Может оказаться, что документация к программному обеспечению была формальной, пользоваться ей в практических целях затруднительно. А главное, дальнейшее масштабирование системы в такой архитектуре вообще под вопросом. И что же делать? Предприятие нельзя остановить, чтобы подумать. Наоборот, когда требуется быстрое расширение, это означает, что открылись какие-то возможности для бизнеса. Их и на растущем рынке упускать крайне нежелательно. А на падающем – смерти подобно.
Проблемы роста необязательно, кстати, связаны с многократным увеличением компании в размерах. Речь может идти об увеличении ассортимента, переходе на новый стандарт качества обслуживания, внедрении CRM или электронного документооборота, любых других изменениях, для обеспечения которых нужно подкрутить гайки в IT.
Проблема в том, что автоматизация, пущенная на самотек, обязательно приводит к лишним усложнениям. Особенно это касается самопальных и единичных IT-решений. Вполне логично, что ресурсы разработки в рамках одной организации на продукт гораздо меньше, чем в компаниях, которые сотрудничают с сотнями и тысячами пользователей, получают гораздо более быструю и полную обратную связь об ошибках, и могут инвестировать в «шлифовку» кода, потому что это окупается с тиража.
Конечно, можно работать по принципу «делаем сами, пока справляемся, а когда прижмет, поищем другие решения». Но зачем закладывать мину в собственную информационную систему? Наоборот, лучше начинать с проверенных рынком и активно обновляемых IT-решений – и только потом, избежав ловушек роста без проблем и срывов, задумываться о собственных или эксклюзивных вариантах автоматизации. В любом случае, речь логично вести не об автономных системах. Облачные решения дают слишком много преимуществ, чтобы ими пренебрегать.
Какие преимущества дает виртуализация
Простой пример. У бизнеса есть потребность в типовом наборе электронных сервисов: почта, файловый архив, сайт компании с функциями для резервирования и продажи. Это минимум, меньше просто некуда. Здесь может быть два основных варианта.
1) Купить свой сервер и поставить его в условную серверную. Нанять админа, который сам или с помощью подрядчиков настроит систему. Потом платить за электричество и откладывать на амортизацию сервера в ожидании того, что он сломается. После неизбежного, рано или поздно, наступления часа Х, инфосистема компании перестанет функционировать. Будет серия авралов, проблем с клиентами, продажами, бухгалтерией, придется быстро приобретать новый сервер и лихорадочно его настраивать. Затем, наверное, предстоит поиск нового администратора.
2) Арендовать VPS (virtual private server) на каком-то хостинге. Нанять админа без опыта борьбы с железом, установить и настроить все необходимое, и в дальнейшем платить только ренту за пользование виртуальным сервером. Ломаться практически нечему, а регулярное обслуживание входит в абонентскую плату.
Здесь уже заметна разница, и она в пользу облачных технологий. Потому что даже при самом аскетичном наборе программного обеспечения, без какого-либо развития и усложнения информационной системы, экономичнее и стабильнее аренда VPS, с делегированием всех проблем с «железом» провайдеру. Но что будет происходить, если от проблем с софтом тоже абстрагироваться не получается?
Возьмем пример чуть посложнее. У бизнеса большой парк компьютерной техники. Файловый сервер, корпоративная почта, сервера для тонких клиентов (не настоящий же отдельный сервер ставить на ресепшен), внутренний специальный софт, бухгалтерские программы, база данных. Очевидно, весь этот зоопарк обслуживается несколькими администраторами. При этом регулярно что-то случается:
- Проблемы с «железом», нужно переносить программы и файлы на другие серверы.
- Выходят обновления систем, в результате все нужно инспектировать и обновлять.
- Сервер недогружен, занимает место и жрет электричество. Значит, предстоит смириться и переплачивать – или нужно догрузить другим сервисом, перераспределить нагрузку.
- Нагрузка выросла, сервисы не справляются. Купить новый сервер? Какой именно, чтобы не переплачивать, но хватило? А куда девать старый?
Заметьте, о развитии бизнеса и информационных систем здесь речь не идет, мы рассматриваем всего лишь поддержку работоспособности. При быстром внесении изменений сложность всех операций будет тоже расти, причем нелинейно. Если часть задач можно поручить виртуальному хостингу, это поможет быстрее наводить порядок и существенно экономить.
Как конкретно достигается экономия
Есть два основных типа облачных решений, у каждого из которых свои преимущества и недостатки:
1. Виртуальные машины. Они объединяют IT-стеки на уровне аппаратуры, безопаснее с точки зрения отказоустойчивости. Эти решения больше подходят для процессной деятельности, когда операции и объемы более-менее однотипны. Можно практически не опасаться того, что чего-то перестанет работать – причем счета за стабильную работу инфосистемы будут минимальны.
2. Виртуальные контейнеры. Эти решения действуют на уровне операционной системы. Они гораздо динамичнее, позволяют быстро менять конфигурацию системы, добавлять новые функции и программы, удалять и перенастраивать их. Это идеально для проектной деятельности. В каждом виртуальном контейнере можно создавать отдельные IT-площадки, и объединять их в произвольных сочетаниях с помощью интерфейсов для обмена данными.
Но независимо от варианта облачного решения, виртуализация дает экономию благодаря целому ряду общих преимуществ:
- «Железа» меньше, потому что виртуальные среды разворачиваются в рамках одного большого сервера. Это снижает себестоимость обслуживания.
- Реже возникают проблемы с аппаратурой, потому что в прямом смысле слова меньше тех участков, где они физически могут возникнуть.
- Сервер не бывает недозагруженым. Виртуализация автоматически консолидирует нагрузку.
- Отчеты по загрузке помогают определить адекватную, действительно необходимую конфигурацию нового сервера, если понадобится upgrade. Кроме того, его можно быстро арендовать у хостера.
- Меньше возникает проблем совместимости, поскольку все виртуальное и работает по принципу «черных ящиков».
- Больше выбор IT-инструментов – их ассортимент для виртуальных сред огромен. Причем новые IT-сервисы разрабатываются в основном не для физических сред, а для виртуальных.
- Экономия на фонде оплаты труда, потому что для администрирования облачных решений не требуются дорогие специалисты, обслуживающие локальный парк техники.
И самое важное, выходящее за рамки прямой экономии: с помощью виртуализации IT можно строить значительно более сложные информационные системы, используя при этом меньше финансовых, кадровых и технологических ресурсов.