Недавно ко мне обратился руководитель небольшой недавно созданной компании с просьбой сориентировать его на современном рынке облачных вычислений (англ. cloud computing) или по-простому, облаках. Про облака вроде все слышали, знают что это модно и полезно. Но как использовать облака в ежедневной работе обычной российской компании? Когда стоит использовать облака и почему?
Суть облачных вычислений
Облака появились в IT как отражение общего тренда экономики совместного потребления, которая ориентирована на использование вместо владения и которая уже подарила нам обмен жильем, каршеринг и даже свадебные платья напрокат. Становится все больше вещей и услуг, которыми можно пользоваться и оплачивать только их фактическое использование, без больших капитальных затрат на приобретение в собственность.
В случае с IT-инфраструктурой капитальные затраты могут быть значительными, она предательски быстро устаревает и теряет в стоимости, поэтому использование ее по арендной схеме зачастую оправдано.
Есть существенное ограничение: стабильное интернет-соединение в месте, где вы хотите использовать облако, т.к. вся «облачная магия» поставляется через интернет. Если нет интернета, нет и магии.
Помимо возможной экономии на капитальных затратах есть и другие существенные преимущества:
Скорость. У ведущих поставщиков получить облако можно за несколько минут/часов.
Гибкость. За счет технологий визуализации можно получить столько вычислительных ресурсов, сколько нужно здесь и сейчас. Промахнуться и купить слишком медленный сервер — не страшно.
Экономия на сопутствующих расходах. Бесперебойное электроснабжение сервера, ограничение физического доступа к серверу (+ легко выполняется первое правило ведения бизнеса в России*) и т.п.
В ряде случаев — экономия на обслуживающем персонале (ниже подробнее)
Интересно? Тогда идем дальше.
Какие облака бывают
Чтобы выбрать облачные решение нужно определиться как сильно вы хотите контролировать работу облака сами, а что передаете на аутсорсинг, на обслуживание сторонней организацией (и зависите от нее).
Различают три основных формата облачных решений по модели обслуживания.
Самые понятные для пользователя облака. Вы просто работаете в необходимых программах через интернет (не устанавливая их на своё устройство).
Преимущества:
+ технические детали полностью скрыты. Подключаемся через интернет и пользуемся готовой программой. Обновление, работоспособность и прочие технические вопросы и проблемы решает поставщик услуги.
+ как правило минимальные сроки доступности. Достаточно заказать услугу и можно пользоваться через несколько минут.
Недостатки:
— Не все программы бывают доступны в таком формате по техническим причинам.
— Возможности настройки и изменения программы под свои требования ограничены.
— Сильная зависимость от поставщика услуги и качества его работы.
— Часто вы имеете ограниченный контроль над своими собственными данными.
— Часто выходит дороже других типов облаков/классических приложений, особенно для крупных заказчиков.
Примеры SaaS
Как правило SaaS предоставляют разработчики этих самых приложений. Найти комплексное решение всех необходимых программ от одного поставщика проблематично.
Вы арендуете некую вычислительную платформу, состоящую из виртуальных вычислительных услуг (аналог центрального процессора и оперативной памяти сервера), услуг хранения информации (аналог жесткого диска сервера), услуг передачи данных (потреблённый трафик) и т.п. Золотая середина облачных сервисов. Вы можете конструировать произвольные виртуальные компьютеры с разнообразным системным и пользовательским программным обеспечением. Поставщики — ведущие IT компании с мировым именем — обеспечивают стабильную работу этих компьютеров и программ. Решения в этой области пользуются популярностью у корпоративных заказчиков и разработчиков.
Под малый бизнес данные решения плохо заточены и использовать их в этом контексте неудобно.
Преимущества:
+ потрясающая гибкость — можно собрать компьютер любой мощности (от микро сервера, сравнимого по мощности со смартфоном до кластера из сотен тысяч серверов), и установить на него самые разные приложения.
+ основные поставщики имеют огромные территориально распределенные вычислительные сети, что позволяет легко разворачивать быстрые, массовые и отказоустойчивые приложения
+ имеется возможность дополнительно подключить продвинутые услуги, в которых у Oracle, Microsoft, Google имеются уникальные компетенции — использование искусственного интеллекта, анализ больших объемов информации и т.п.
+ есть возможность оплачивать только фактически потребленные ресурсы.
Недостатки:
— для использования нужно «собрать» систему из виртуальных компонентов-составляющих. Это требует специфических знаний и умений.
— каждая платформа накладывает свои ограничения при реализации, полной свободы в реализации нет
— довольно высокая базовая стоимость
Примеры PaaS
Данные поставщики поставляют весь спектр облачных услуг, однако центральными являются облачные платформы.
Общая стоимость решений складывается как стоимость фактически потребленных вычислительных ресурсов (Compute), занимаемого места в хранилищах (Storage), количества переданных по сети данных (Network). Израсходованные ресурсы периодически подсчитываются и выставляется счет на оплату. Таким образом простаивающий сервер обходится дешево.
Вы арендуете сервер/вычислительные ресурсы. Поставщику услуг гарантирует работоспособность на уровне сервера (электронная начинка сервера, интернет, электропитание и т.п.)/ технологии виртуализации (см. ниже).
Можно выделить три формата предоставления услуги:
Dedicated server — выделенный сервер. По сути аренда отдельного физического сервера, которым можете пользоваться только вы (отсюда и название — выделенный). Отличается относительно высокой стоимостью, но гарантирует, что все вычислительные ресурсы сервера полностью в вашем распоряжении. Поставщик предоставляет полный административный доступ к серверу и ваш специалист настраивает его так, как вы хотите.
IaaS в чистом виде — виртуальный дата-центр. Поставщик на один или несколько серверов устанавливает специальные программы виртуализации, а затем передает доступ к интерфейсу управления этих программ вам. Такой подход отличается большой гибкостью, так как вы можете самостоятельно создавать и настраивать для себя произвольное количество виртуальных серверов.
VPS/VDS — виртуальный приватный/выделенный сервер. Это когда IaaS из п.2 поставщик настроил за вас и передает доступ только к виртуальным серверам, параметры которых вы менять не можете. Важными отличиями здесь являются используемая технология виртуализации (KVM/XEN/OpenVZ/Hyper-V/VMware), а также гарантированная производительность. VPS/VDS отличаются низкой стоимостью, однако из-за оверселлига могут иметь низкую/нестабильную производительность. Производительность у VDS выше чем у VPS при прочих равных условиях. Рынок VPS/VDS насыщенный и высококонкурентный, сервис поиска VPS
Преимущества:
+ «закапывать» деньги в покупку сервера не всегда разумно, т.к. он со временем устаревает. Арендуя сервер вы всегда можете его поменять или обновить с минимальными затратами.
+ можно выбирать и управлять производительностью и параметрами сервера как хочется
+ полная свобода в реализации желаемого. Можно устанавливать любые операционные системы, программы. Настраивать и использовать как заблагорассудится.
+ низкие центы, хорошее соотношение цена/возможности
Недостатки:
— необходим свой специалист для настройки и обслуживания программного обеспечения.
— часто имеется привязка к конкретном характеристикам сервера/технологии виртуализации и немного теряется гибкость.
Примеры IaaS
Цены приблизительные (для условно сопоставимых серверов), уточняйте на сайтах
Hetzner
Выделенные серверы от 45€/месяц (3,4 тыс.руб/месяц)
Виртуальные серверы от 19€/месяц (1,4 тыс.руб/месяц, с производительностью, достаточной для небольшой компании)
OVH
выделенные серверы от 55€/месяц
Виртуальные серверы от 25€/месяц