Код
#статьи

Облачные сервисы: что это такое, какими они бывают и кому полезны

А‑а‑аблака — белогривые лоша‑а‑адки. Cloud-платформы последние лет десять тоже мчатся без оглядки. Разбираемся в типах и функциях облачных сервисов.

Фото: Rahman Roslan / AFP / Getty Images

Август Вилакия


Ведущий бэкенд-разработчик мобильного приложения «Альфа-Банка».


Ссылки


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

Что такое облачный сервис

Облако (cloud, облачный сервис). В этом случае компания или человек пользуется вычислительными ресурсами и программами, которые расположены не на локальных, а на удалённых серверах и доступны через интернет. Каждый из нас пользуется ими постоянно: «Google Документы», Dropbox — всё это примеры облачных приложений.

Но и компании не брезгуют переводить свою инфраструктуру в такие облака. Типичный пример — хостинг сайтов или платформы вроде Amazon Web Services (AWS), Microsoft Azure, Yandex Cloud.

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

В облачных системах используется технология виртуализации. Один физический сервер («железо») логически делится на несколько виртуальных серверов, каждый из которых для пользователя облака выглядит отдельной «машиной». Это похоже на разбивку жёсткого диска на несколько разделов: вроде бы железяка одна, а дисков в системе отображается несколько. Благодаря виртуализации облачный сервис доступен большому числу пользователей.

Самые известные зарубежные облачные провайдеры — это AWS (Amazon), Microsoft Azure, Google Cloud Platform, из российских игроков больше всего на слуху Yandex Cloud, SberCloud и VK Cloud.

Типы облачных сервисов

Если зайти в тот же Yandex Cloud, то можно увидеть более 380 различных облачных сервисов, поэтому давайте посмотрим, на какие типы они делятся. Это поможет не запутаться в их многообразии.

IaaS (infrastructure as a service) — инфраструктура как сервис. Такие сервисы относятся к низкоуровневым и являются самыми популярными. Пользователю предоставляется «железо» в виде серверов, сети и памяти. Всё это клиент получает в готовом виде, без необходимости заморачиваться насчёт обновления и поддержки. Более того, клиент получает полный контроль над инфраструктурой благодаря специальному пользовательскому веб-интерфейсу или CLI (command line interface, командная строка).

PaaS (platform as a service) — платформа как сервис. Это уже настраиваемая среда выполнения, которая содержит всё необходимое для разработки, тестирования и управления приложением, но всё так же без необходимости управления «железом». PaaS автоматически обновляет программное обеспечение, а также позволяет гибко настраивать политики безопасности через специальный интерфейс, автоматически масштабировать систему, использовать готовый API для взаимодействия с сервисом.

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

Альтернативный вариант (то есть уже PaaS) — подключить Managed Service for PostgreSQL в Yandex Cloud, Amazon RDS в AWS или аналогичный сервис другого облачного провайдера. Теперь всё, что вам нужно, — выбрать необходимую базу данных и настроить её под себя. Остальное будет менеджериться провайдером, никаких заморочек с «железом» у вас уже не будет — вы даже не заметите, что ваше приложение перенесли на другой сервер или подключили к нему другие жёсткие диски.

SaaS (software as a service) — программное обеспечение как сервис. В этом случае вы просто получаете облачное программное обеспечение в пользование. Это может быть сервис для рассылки имейлов, анализа поведения пользователей приложения, офисный пакет и так далее. Основное отличие от использования обычных приложений в том, что вы работаете с сервисом в веб-интерфейсе, а всё остальное для вас скрыто. У облачных провайдеров SaaS чаще всего распространяется через маркетплейсы. Существуют и партнёрские программы, когда каждый производитель ПО может распространять его через маркетплейс облачного провайдера.

DRaaS (disaster recovery as a service) — аварийное восстановление как сервис. DRaaS помогает улучшить показатели целевой точки восстановления (RPO — recovery point objective) и целевого времени восстановления (RTO — recovery time objective). Для DRaaS существуют различные стратегии и наборы сервисов. Например, сервисы бэкапов и автоматического восстановления или зеркала с полной копией вашего приложения, но на более слабом «железе». Если основной сервер перестаёт работать, зеркала переключаются на более мощные серверы и весь пользовательский трафик начинает идти на них.

BaaS (backend as a service) — бэкенд как сервис. Такие сервисы имитируют работу бэкенда и реализуют базовую функциональность приложений. Регистрация пользователей, вход через социальные сети, рассылки на электронную почту в ответ на действия пользователя, профиль пользователя, отправка уведомлений — вся эта функциональность универсальна для большинства приложений, а значит, её можно не разрабатывать самостоятельно, а отдать на управление BaaS-сервису.

Разница в ответственности между работой в облаке и использованием собственной инфраструктуры
Инфографика: Яндекс.Облако

Типы облаков

Существуют не только разные типы облачных сервисов, но и разные типы самих облаков. Перечислим их.

Публичное облако. В этом случае все облачные сервисы управляются провайдером, а доступ к ним предоставляется через интернет большому количеству пользователей. Это самый распространённый сценарий: вы просто переходите на сайт AWS, Google Cloud или Yandex Cloud и начинаете использовать имеющиеся у провайдера сервисы.

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

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

Кому полезны облачные сервисы

Выгоду от использования облаков могут ощутить как крупные компании, так и стартапы.

Если же говорить о ситуации в России, то проблемы с поставками «железа» будут сохраняться в ближайшие годы. За последнее время импорт серверного оборудования для дата-центров в нашу страну упал в несколько раз, а серверное оборудование отечественного производства подорожало в полтора раза. В таких условиях самый логичный выход — миграция в облако.

Однако переход на облачные сервисы даёт преимущества не только для компаний, но и для IT-специалистов: это и новые специализации, и возможность прокачивать экспертность, чтобы повысить конкурентоспособность на рынке труда. Выпуская тот или иной сервис, российские облачные провайдеры стараются сделать его похожим на уже существующие решения западных компаний, проверенные временем и востребованные среди клиентов (легко можно провести параллели между разными сервисами: SberCloud, «Яндекс Облака» и VK Cloud).

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

Плюсы и минусы облаков

Преимущества облачных сервисов:

  • Невысокая цена облачных решений. Вы платите только за те ресурсы, которые фактически используете. В среднем работа над проектом в облаке сокращает расходы на 37% по сравнению с работой со своей инфраструктурой.
  • Скорость выхода решения на рынок. Вы можете запускать новые серверы или выводить их из эксплуатации за считаные секунды, что позволяет ускорить разработку и тестирование.
  • Большая гибкость. Вы можете быстро увеличить количество серверов или необходимой памяти без инвестиций в физическую инфраструктуру. Аналогичным образом можно быстро сократить количество используемых серверов или других ресурсов, если они не используются, — и это тоже ничего не стоит, а лишнее оборудование не будет пылиться на складе.
Основные причины перехода компаний на облачную инфраструктуру
Инфографика: Яндекс.Облако

Однако облачные сервисы — это не панацея, и у них тоже есть недостатки:

  • Возможные проблемы у провайдера. Проблемы с доступностью у вашего облачного поставщика могут стоить вам денег. Как пример, отключение одного сервиса AWS стоило его клиентам сотен миллионов долларов.
  • Вендор-лок, или зависимость от поставщика. Ситуация, когда стоимость перехода к другому поставщику слишком высока из-за привязки уже написанного кода к сервисам конкретного провайдера (платформозависимый код), вынуждает клиента оставаться с прежним поставщиком, даже если условия уже не устраивают.
  • Потеря данных из-за форс-мажорных ситуаций на стороне провайдера. В 2021 году разработчик игры Rust потерял данные миллионов пользователей из-за пожара у облачного провайдера.

Airbnb, Pinterest и Netflix — примеры компаний, которые получили возможность быстрого развития, так как не были ограничены технологическими ресурсами. Если им нужны новые серверы, память для хранения информации или база данных для Юго-Восточной Азии, то они просто добавляют это всё по клику мышки. И в этом их конкурентное преимущество. А ещё возможность вести разработку в облаке и там же выкатывать свои технические решения открыла миру много новых бизнес-моделей.

Изучайте IT на практике — бесплатно

Курсы за 2990 0 р.

Я не знаю, с чего начать
Научитесь: Профессия Java-разработчик Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована