Структура облачных сервисов: как они работают?
Облачные сервисы — основа современного бизнеса, позволяющая экономить средства на ИТ-инфраструктуре и обеспечить надежность работы компании. Хотите узнать, как работают облачные сервисы? Мы расскажем!
Облако организовано по типу пирамидальной структуры, где верхний слой довольно прост в применении, а для работы с нижними требуется девопс-инженер, или целая команда:
Как видите, облачные сервисы возрастают по сложности и уровню контроля над событиями по мере продвижения к основанию:
- SaaS (Software-as-a-Service) — слой пользовательских приложений, таких как Facebook или Uber. Это слой, с которым наиболее часто взаимодействуют конечные пользователи продукта, и он предоставляет функционал, необходимый этим пользователям: общение в соцсетях, совместная работа в документах, заказ машины или комнаты на ночь.
- Настройка облачных сервисов в этом слое возможна только в пределах их функционала, и пользователь не имеет практически никакого контроля над используемыми приложением ресурсами. Но рядовой пользователь получает то, зачем он пришел — функционал.
- PaaS (Platform-as-a-Service) — слой облачных платформ, API и бэк-енда, позволяющий разработчикам создавать и размещать приложения, применяемые рядовыми пользователями. В этом слое клиенты облачных платформ типа AWS или Azure используют функции, доступные им в контрольной панели поставщика услуг.
-То есть, разработчики могут сконфигурировать требуемые им для работы приложения ресурсы в рамках, установленных облачной платформой (выбрать необходимое количество ОЗУ, дисковое пространство или количество ядер процессора, и т.д.).
- Этот уровень требует большего понимания структуры вашего приложения и происходящих в нем процессов, но подавляющая часть контроля за облачными ресурсами выражается в виде простановки галочек в контрольной панели — или вообще недоступна.
- IaaS (Infrastructure-as-a-Service) — слой облачной инфраструктуры. На этом уровне работают девопс-инженеры (и да, DevOps отличается от сисадмина). Они используют специфический набор инструментов девопса (Kubernetes, Terraform, Docker, Ansible, ELK, Prometheus+Grafana и т.д.) для настройки виртуальных серверов и конфигурации требуемой отказоустойчивой облачной инфраструктуры.
- Основная часть работы DevOps команды состоит в автоматизации процессов разработки, тестирования и запуска в пользовательские среды вашего продукта, чтобы максимально быстро, без ошибок и простоя донести новую версию приложения для конечных пользователей.
- На этом уровне девопс-инженеры имеют максимальный контроль над облачными ресурсами и решают задачи балансировки нагрузки, динамического резервного копирования, хранения версий и автоматического восстановления виртуальных серверов из чистого состояния, что требует самого высокого уровня понимания процессов и архитектуры облачных сервисов.
Подведем итоги: как работают облачные сервисы
Как видите, пирамида облачных сервисов — на самом деле довольно простая для понимания структура. Конечный пользователь работает в верхнем слое и получает необходимый ему функционал и не имеет контроля над ресурсами. Разработчик продукта (или хозяин бизнеса) может выступать в роли администратора своего профиля на облачной платформе, и управлять требуемыми ему для работы приложения ресурсами. При этом, работа по поддержанию работоспособности этого слоя остается заботой команды техподдержки поставщика облачных услуг.
Но если вы хотите использовать все возможности облака (автомасштабирование, бесперебойная работа при обновлениях продукта, высокая доступность приложений под нагрузкой и пр.), вам лучше заказать переезд бизнеса в облако у опытной команды поставщиков DevOps-услуг. Это позволит правильно спроектировать требуемую для вашего продукта инфраструктуру, построить ее с минимальными затратами и автоматизировать ее обслуживание для обеспечения максимальной эффективности работы.