
Я задумывал раздел Coding на этом сайте для своих конспектов по новым инструментам, которые я изучаю. Аналог тетрадки в универе, которую отсканировали и поместили в сеть. На этой неделе внезапно решил наконец-то разобраться с облаками, и по традиции фиксирую всё, что узнал.
В этой статье основные понятия на тему облаков: типы, модели развёртывания, преимущества и недостатки разных типов.
Облачные сервисы – те, в которых используются не локальные ресурсы, а удалённые, доступные по сети. Главная ассоциация с облаками – удалённые хранилища, вроде Яндекс Диска или Apple iCloud. Именно с такими облачными сервисами я встретился первыми, но их на самом деле гораздо больше. Иногда можно даже не задумываться, что пользуетесь облачными вычислениями, и что это не какая-то мистическая сложная технология.
Преимущества облаков
Снижение затрат. Не нужно покупать и обслуживать свои серверы, или устанавливать приложения на каждую машину в офисе. Можно выбрать подходящую подписку и платить за то, что реально используешь (pay-as-you-go).
Быстрый старт и масштабирование. Можно развернуть новый сервер в пару кликов (горизонтальное масштабирование), а при росте нагрузки облако масштабируется автоматически (вертикальное масштабирование).
Доступность. Приложениями и данными из облаков можно пользоваться с нескольких устройств из разных точек мира. Удалённая работа становится проще.
Надёжность (сомнительно). Провайдеры обещают отказоуствойчивые дата-центры по всему миру, дублирует данные и поставляет инструменты для резервного копирования и восстановления. Но не всегда хочется верить корпорациям, и в этом случае можно развернуть более надёжное облако самостоятельно (см. ниже частные облака).
Автоматизация. Простая настройка CI/CD пайплайнов.
Доступ к современным технологиям. Многие провайдеры не только регулярно обновляют свои приложения, но и предоставляют доступ к современным технологиям, вроде AI-сервисов.
Типы облаков
Облака бывают перистыми, слоистыми, перистыми….
Но нас больше интересуют типы SaaS, IaaS, Paas.
SaaS (Software as a Service)
Примеры: Google Workspace, Salesforce, MS Office 365
Даёт доступ к уже готовым приложениям, которые доступны через API или браузер. Часто заменяют локальные CRM и ERP-системы, офисные приложения.
Из плюсов: нет необходимости устанавливать и поддерживать (обновлять) приложения локально. Обновления автоматические и беспрерывные (continuous). Бизнес экономит также на хранилище, ведь теперь для хранения этих файлов и приложений не нужно место на локальной машине. Большинство таких приложений доступны с любого устройства, поэтому работать с ними удобно и с мобильных телефонов, и с личного компьютера, и с рабочих устройств.
Среди минусов: нет кастомизации приложений. Вы получаете ту версию и в том виде, в котором вам её предоставляют.
IaaS (Infrastructure as a Service)
Примеры: AWS, Microsoft Azure, Google Cloud
Предоставляет доступ к виртуальным ресурсам: сервера, хранилище, сети.
Среди плюсов: контроль над операционными системами, базами данным и прочим — большая гибкость.
Из минусов необходимость понимать, что вообще происходит, и уметь всё это настраивать и делать правильный выбор среди всех опций. Нужен админский опыт.
PaaS (Platform as a Service)
Примеры: Heroku, Amazon Amplify, Google App Engine
Дают платформу для разработки и запуска приложений.
Делают разработку более экономичной для бизнеса.
PaaS также позволяет разработчикам находиться в чётко определенной среде, которая ограничивает возможность совершать ошибки. Это можно считать и минусом – не все любят работать даже в столь заботливо созданных песочницах.
FaaS (Function as a Service) и Serverless
Примеры: AWS Lambda, Google Cloud Functions, Azure Functions
Не совсем тип облака, но всё же включу FaaS в этот список, потому что название очень уж похожее. FaaS – это конкретная реализация serverless, где разработчик загружает функцию, и облако запускает её только по событию.
Смысл FaaS (и Serverless) в том, что разработчику совсем не нужно заботиться о серверах. Конечно, они где-то есть, но где и какие – нас не должно волновать. Всё управляется и масштабируется автоматически.
Все FaaS Serverless, но не все Serverless FaaS. Бывают также Serverless CI/CD, базы данных и т.д.
Модели развёртывания
Публичное облако (Public Cloud)
Примеры: AWS, Microsoft Azure, Google Cloud
Публичные облака хостятся провайдером, а вы получаете их сервисы по интернету. Вы арендуете их ресурсы за оплату.
Из плюсов: возможная экономия, лёгкая масштабируемость, автоматические обновления сервиса.
Из минусов: у вас нет контроля над сервером, и далеко не во всех компаниях можно так бездумно грузить данные абы куда.
Как выбрать публичный облачный сервис
И при всём изобилии разных провайдеров нужно знать, на какие моменты обращать внимание при выборе подходящего. Все они соотносятся к преимуществами облаков. Грубо говоря, чем лучше преимущества представлены, тем лучше конкретный провайдер.
Обратить внимание нужно на следующие аспекты:
- Стоимость
- Безопасность
- Производительность
- Масштабируемость (сервис может подстраиваться под смену нагрузки без задержек)
- Хранение данных
- Интеграция и совместимость (подходит ли этот сервис к существующей инфраструктуре)
- Техподдержка (оказывает ли провайдер поддержку и насколько она бывает полезна)
- Покрытие (работает ли вообще провайдер в вашей стране? Где находятся серверы? Не будет ли задержек при передаче данных?)
- Инновационность (есть ли и нужны ли вам инновационные сервисы?)
- Простота миграции (что если вы захотите перейти к другому провайдеру?)
Частные облака (Private Cloud)
Частные облака разворачиваются компаниями самостоятельно (или с помощью наёмных работников).
Из плюсов: контроль над физическими серверами, полный контроль над системой, за сохранность данных отвечает сама компания.
Из минусов: часто это более дорогое решение, которое также требует наличия специалистов. Масштабируемость также может быть сложнее и дороже.
Гибридные облака (Hybrid Cloud)
По названию ясно, что в таких конфигурациях используются и частные и публичные облака. Например, большая компания может использовать CRM-систему в облаке, но хранить важные данные на своих серверах.
Такие системы более сложные, поэтому их обслуживание и создание может стоить дороже. Зато они более гибкие и подходят под конкретные требования клиента.
Общественные облака (Community Cloud)
Видел, что также выделяют такой тип, но я не готов его принять. Это облачная инфраструктура, совместно используемая группой организаций, у которых есть общие цели и скорее всего одна и та же отрасль. Так сказать, облако для друзей. Не хочу я выделять этот тип, потому что он, скорее, про тип пользователей (они не относятся к одной компании, а к нескольким связанным), чем про модель развёртывания.
Для начала хватит. Конечно, для получения сертификатов Гугла или Майкрософта этого не хватит, но общее понимание концепций уже должно быть.
2 Comments