Облачные технологии уже стали привычной частью нашей жизни. Как повседневной, так и профессиональной. Мы не только производим и продаем подобные продукты, но и сами потребляем их. Используем Яндекс.Диск вместо флешек. Выезжая к заказчикам, обращаемся к сервисам, размещенным на наших серверах и доступным через интернет. Предоставляем вычислительные ресурсы в аренду. Или дистанционно устанавливаем ИТ-решения на виртуальном оборудовании, которое заказчики арендуют у других поставщиков. Поэтому нам есть что рассказать о cloud service.
Облако, клауд — что это такое? Существует 6 основных видов развертывания ИТ-архитектуры в зависимости от того, кто и за что отвечает. Из них только три можно отнести к облачным сервисам.
Для развертывания приложений раньше нужно было покупать и настраивать физические серверы, затрачивая ресурсы на их содержание и обслуживание. С появлением облачных технологий стало возможным без покупки железа и софта быстро получать удаленный доступ к вычислительным мощностям и готовым сервисам. В этом случае оборудование находится у провайдера, который с помощью специального программного обеспечения — гипервизора — управляет запущенными на сервере виртуальными машинами.
Что значит облачный сервис? Можно взять за основу определение, данное Национальным институтом стандартов и технологий США. Облако — это модель сетевого доступа к общему набору настраиваемых вычислительных ресурсов, которые предоставляются потребителю по запросу с минимальными усилиями с его стороны по управлению ими и взаимодействию с поставщиком услуг.
Получается, что у облачной модели есть несколько главных особенностей:
Cloud service уходит своими корнями в 1960-е годы. Вскоре после появления первых ЭВМ возникла идея о подключении к общему мощному процессору сразу нескольких пользователей. Виртуализировать операционные системы для совместного доступа первой смогла компания IBM. Следующей значимой вехой стали 1990-е годы и запуск Интернета.
Облачные технологии в современном понимании возникли в начале 2000-х. Amazon Web Services запустила первое публичное облако. Через несколько лет стали доступны облачные сервисы для работы с данными и проведения вычислений. В 2010-х годах с созданием инфраструктуры Microsoft Azure и Google Cloud такими технологиями заинтересовался бизнес. А с 2014 года, после запуска в облаках контейнерных сервисов, упростилась разработка облачных приложений.
Выделяют несколько моделей обслуживания облаков, которые отличаются степенью контроля со стороны пользователя.
1. Программное обеспечение как услуга (SaaS, Software as a Service). Эта модель подразумевает максимально готовую к использованию услугу: потребитель получает доступ к приложениям, уже развернутым на облачной инфраструктуре, и может работать с ними с различных устройств — как через программный интерфейс, так и через веб-браузер. Пример такого сервиса — использование в облаке прикладного решения на платформе 1С. Установкой и настройкой приложений в этом случае занимается провайдер, поэтому при использовании такой модели технические специалисты не требуются.
2. Платформа как услуга (PaaS). Пользователь получает для работы уже настроенные виртуальные машины с определенной функциональностью и может развертывать в облачной инфраструктуре собственные или приобретенные приложения. В виртуальной среде уже есть все необходимое для управления данными и разработки приложений. Если вам предоставили доступ к серверам, где уже установлены 1С и СУБД, а размещением прикладных решений управляете вы сами — вот пример PaaS. В такой модели потребитель контролирует развернутые приложения и некоторые настройки конфигурации среды, однако не может управлять основной облачной инфраструктурой.
В PaaS есть несколько подходов и сервисов, упрощающих использование инфраструктуры и ускоряющих процесс разработки. К примеру, KaaS (Kubernetes-as-a-Service).
Kubernetes — это система оркестровки контейнеров для автоматизации развертывания приложений, масштабирования и управления. Изолированные друг от друга контейнеры содержат ПО, библиотеки и конфигурационные файлы и взаимодействуют друг с другом через четко определенные каналы. Контейнеры управляются одним ядром операционной системы, поэтому они легче, чем виртуальные машины.
С помощью еще одного подхода — бессерверных вычислений (Serverless) — можно разрабатывать приложения без управления виртуальными машинами и инфраструктурой серверов. DBaaS дает потребителю готовые базы данных в облаке. BaaS (Backup as a Service) обеспечивает автоматическое создание резервных копий, а DRaaS (Disaster Recovery as a Service) поможет в восстановлении системы после взлома или повреждения.
3. Инфраструктура как услуга (IaaS). Это разновидность низкоуровневого сервиса, когда пользователь получает чистые вычислительные ресурсы и сам решает, какое программное обеспечение на них развертывать. При этом потребитель не управляет базовой облачной инфраструктурой, а задача провайдера — обеспечение бесперебойной работы оборудования и функциональности облака. Примером такой модели может быть предоставление доступа к удаленным рабочим столам и консоли Unix/Linux, если эти сервера были развернуты в облачной инфраструктуре.
В зависимости от модели развертывания выделяют несколько типов облаков.
1. Частное (корпоративное) облако. Облачной инфраструктурой пользуются потребители из одной организации. Такую модель выбирают компании, которым важен высокий уровень защиты данных.
2. Облако сообщества. Облачная инфраструктура рассчитана на потребителей с общими интересами, миссией или требованиями безопасности.
3. Публичное облако. Облачная инфраструктура является доступной для широкого круга пользователей. Это самый распространенный вариант.
4. Гибридное облако. Эта модель представляет собой комплекс из нескольких типов облачных инфраструктур, связанных общей технологией переноса данных. Например, часть инфраструктуры общедоступна, а другая имеет ограниченный доступ. Подобный подход может использоваться при переходе на облако, а также когда нужно обрабатывать чувствительные данные отдельно от остальных.
Преимущества облачных сервисов:
Недостатки:
Облака используются как большими компаниями, так и стартапами. Благодаря им бизнес может сосредоточиться на своей основной деятельности, отдав внешним специалистам решение технических вопросов.
Переход на облачные сервисы начинается с анализа, какие системы можно перенести в облако, а какие придется оставить на собственных ресурсах. Затем выбирается облачный провайдер и оптимальный пакет услуг. При выборе поставщика важно обратить внимание на его репутацию, наличие необходимых сертификаций, совместимость с корпоративными системами и расположение дата-центров. Завершающий этап — интеграция облачных сервисов с ИТ-инфраструктурой компании, развертывание приложений в облаке и обучение сотрудников.
Центры обработки данных различаются по уровню надежности: от Tier 1 до Tier 4. В первом случае отказ или ремонт оборудования приводит к остановке работы всего дата-центра. В последнем — дата-центр работает в любых условиях, благодаря дублированию основных и дополнительных инженерных систем. У недобросовестных провайдеров, привлекающих клиентов дешевыми услугами, иногда встречаются по-настоящему трэш-дата-центры, когда оборудование стоит в ангаре, минимально приспособленном для размещения стоек. С подобным трэш-качеством столкнулся один из наших заказчиков. Его провайдер пересмотрел состав услуг и перезапустил серверы, не обеспечив автоматическое резервное копирование. В итоге произошел сбой электропитания при обновлении, и заказчик остался без базы.
Бизнес использует облака для хранения информации о продуктах и клиентах, создания онлайн-сервисов и обработки больших массивов данных, в машинном обучении и Интернете вещей. Облачные технологии оказались востребованы во время пандемии. Остаются актуальны они и сейчас, когда миграция в облако помогает решить сложности с поставками оборудования.
Лучшая автоматизация — это автоматизация рутины, снижающая издержки компании. Облачные технологии в этом отношении можно сравнить с элементами транспортной системы. Размещение в облаке само по себе способно снизить издержки, но, как и прочий транспорт, такие технологии особенно хорошо проявляют себя именно на масштабе, когда мы имеем дело с повторяющимися паттернами за повторяющиеся деньги. В этом случае облачные сервисы для потребителя становятся элементами плана закупок, а для поставщика — элементами плана обеспечения производства.