В 2019 году аналитический портал 451research.com провёл исследование рынка облачных вычислений. 90% респондентов исследования указали что используют облачные сервисы. Эксперты из 451 сделали прогноз, что 69% компаний во всём мире будут использовать полностью облачные или смешанные схемы организации свои IT услуг. Данных на 2021 год я найти не смог, но готов выступить экспертом и сделать осторожное предположение — пандемия и массовая удалёнка сделали своё дело, и компании, которые даже не задумывались об использовании облачных вычислений, вынуждены были начать использовать облачные услуги в том или ином виде.
Эту всю статистику я привожу только для того, чтобы показать: облачные услуги прочно вошли в нашу жизнь, и дома и на работе. В этом материале простыми словами расскажу что же такое облака и расшифрую страшные аббревиатуры.
Определение
«Облако — это просто чей-то компьютер» любят шутить админы. На самом деле, просто взять сервер, установить на него какую-то программу и дать ей пользоваться через интернет — это не облако. Совсем. Национальный институт стандартов и технологий США 1 определил 5 ключевых характеристик облачных вычислений.
- Самообслуживание по требованию. Потребитель должен самостоятельно определить и изменить потребности в вычислительных мощностях — процессорное время, скорость доступа, скорость обработки данных, объем хранимых данных. Без необходимости взаимодействия с представителем поставщика услуг. Говоря простыми словами — должен быть условный «личный кабинет» куда можно было бы зайти и самому выбрать готовый тарифный план или сделать индивидуальную настройку необходимых ресурсов, и при этом не надо было бы звонить в службу поддержки чтобы кто-нибудь что-нибудь настроил для пользователя.
- Универсальный доступ через сеть. Доступ к услуге должен осуществляться через общепринятые стандарты. Проще говоря — я как пользователь должен иметь возможность подключиться к своему облачному серверу через Интернет.
- Объединение ресурсов. Дословно, требование звучит так: поставщик услуг объединяет ресурсы для обслуживания большого числа потребителей в единый пул для динамического перераспределения мощностей между потребителями в условиях постоянного изменения спроса на мощности. Суть этого пункта в том, что одни и те же ресурсы поставщик облачных услуг использует для работы нескольких пользователей. Если совсем упрощать — есть сервер, на котором запущена специальная программа, которая выделяет ресурсы процессора, оперативной памяти, канала доступа в Интернет и место для хранения в зависимости от того кому что (и сколько) нужно. Физически сервер один, но обслуживает много клиентов и умеет балансировать нагрузку.
- Эластичность. Услуги могут быть предоставлены, расширены, сужены в любой момент времени. При этом без взаимодействия с представителем поставщика услуги. Как правило, в автоматическом режиме. То есть, упрощая, у поставщика услуг должна быть специальная программа, которая наблюдает за нагрузкой, которую создаёт пользователь, и может уменьшить выделяемые ресурсы если они не нужны и добавить, если нужно больше.
- Учёт потребления. Поставщик услуг автоматически измеряет потреблённые ресурсы на определённом уровне абстракции и на основе этих данных оценивает объём предоставленных потребителям услуг. То есть вам самим не нужно следить за тем сколько вы арендовали места на диске и сколько оперативной памяти было использовано для ваших нужд — программа на стороне поставщика услуг сама отслеживает, записывает и хранит эту информацию, а потом на основании её вы получаете счёт на оплату.
Облака бывают разные
Описанное в предыдущем разделе определение в значительной мере описывает то, что принято называть «публичное облако». Это такая модель, при которой вы берёте в аренду абсолютно номинальное «серверное время» или условное «количество операций в секунду».
Кроме такой модели, есть так называемое «частное облако», при которой вы берёте в аренду абсолютно конкретные вычислительные ресурсы — процессор определённых параметров, конкретный объём оперативной памяти и конкретный жётский диск — объём места для хранения ваших файлов.
Возможны и гибридные модели — вы берёте в аренду набор ресурсов по модели частного облака, и на сдачу ещё небольшой объём серверного времени для выполнения какой-то специфической деятельности по модели публичного облака.
Буквы всякие разные
Описанное в двух разделах выше называется IaaS — Infrastructure-as-a-Service (инфраструктура как услуга). То есть взятые у кого-то в аренду ресурсы заменяют вам сервер, который вы должны были бы иметь чтобы установить например базу 1С.
Но в таком сценарии вам надо самим заниматься установкой, настройкой и обслуживанием всего что вы настроили на арендованных ресурсах. Можно ли обойтись без этого? Конечно можно. Есть же SaaS — Software-as-a-Service (Программа как услуга). Возьмём например сервис видеоконференций. Представьте, что вашему системному администратору нужно установить и настроить специальный сервер, который будет управлять системой видеоконференций. После этого установить и настроить для связи с этим сервером программу для каждого пользователя, а потом отвечать на неудобные вопросы пользователей «а почему у меня видео дёргалось, а у клиента пропадал звук». Затраты на собственный сервер, программу для сервера и клиента вам вряд ли хочется нести. Поэтому есть zoom. Или Google Meet. Или Microsoft Teams. Вы просто берёте и пользуетесь, причём возможно даже бесплатно. Онлайн бухгалтерия , онлайн CRM, онлайн система управления проектами, домашние финансы — да всё что угодно уже есть онлайн. Берёте и пользуетесь.
Рекомендую к прочтению:
Что-угодно-как-Услуга
А что если мне не нужна сложная онлайн система, или у меня есть своё «железо», но есть часть специфической деятельности, которую я тоже хочу взять в аренду? Например, раз в квартал мне нужно сделать сложный расчёт себестоимости по методу скользящей средней. А свои сервера выполняют эту работу долго, и пока они считают — у всех всё тормозит. Пожалуйста, есть FaaS — Function-as-a-Service (функция как сервис), или так называемые «бессерверные вычисления«. Например, Amazon Lambda. Вы просто загружаете кусок программного кода туда, и вызываете его тогда, когда он вам нужен. Раз в квартал, например. И платите тоже только за то время, пока ваш код работал на арендованных ресурсах.
А оно мне надо?
Есть неоспоримые выгоды использования облачных вычислений — начать работу по любой модели (I, S,F-aaS) очень быстро и просто. Зарегистрировался, оплатил, работаешь. Но всё не так радужно, и небо над облачными услугами (простите за каламбур) немного в тучах. Размещая свои ресурсы у облачного провайдера, вы принимаете на себя следующие риски:
- Нет Интернета — нет работы. Любая задержка с сетью неотвратимо влияет на вашу работу
- Зависимость от поставщика. Представьте, что завтра произойдёт что-то, и поставщик будет вынужден уйти с рынка, закрыться, или просто выкинет вас со своих серверов. Ещё свежа в памяти история с Parler, которых одним кликом мышки (не шучу) выкинул 2 со своей площадки Amazon. А его примеру последовали Google и Apple. И миллионный бизнес вынужден был закрыться.
- Безопасность данных. Хоть все поставщики и утверждают, что не имеют доступа к вашим данным, но гарантировать это нельзя, равно как и проконтролировать. Вы никогда не узнаете, не вынул ли из системы хранения сотрудник жёсткий диск с вашими данными. А кроме прочего — любой человек, который сможет получить учётные данные к вашему облаку получает всю информацию о вашей компании.