Технологии и AI-сервисы всё больше влияют на нашу жизнь — интеллектуальные помощники в службе поддержки, беспилотные такси, сервисы прогнозирования погоды и прочее. Это создаёт комфорт для общества, но что стоит за таким бурным технологическим ростом?
Ответ — рост вычислительных аппаратных мощностей, которые позволяют обрабатывать большие объёмы данных всё быстрее и быстрее. Это провоцирует появление новых технологий и подходов вроде машинного обучения и нейронных сетей. Их архитектуры содержат миллиарды параметров для функций, способных обрабатывать входные данные значительно быстрее, чем раньше. Далеко не все компании могут позволить себе такие ресурсы и технологии.
В этом уроке вы изучите аппаратные мощности, которые обеспечивают работу современных технологий. Для этого погрузимся в облачные вычисления.
Облачные вычисления
Сперва договоримся о терминах.
Последуем совету Декарта и обсудим основные понятия.
Метафору «Облако» (от английского слова «Cloud») приписывают разным представителям IТ-индустрии, но впервые её озвучил Дэвид Хоффман из General Magic в контексте агентно-ориентированного языка программирования Telescript. А само выражение «Облачные вычисления» стало известно благодаря компании Compaq Computer Corporation в рамках её решения для онлайн-хранилища данных.
Облачные вычисления — это подход, когда «провайдер» предоставляет вычислительные мощности за деньги.
Сергей
Но это же обычный хостинг!
Отличия облачных вычислений от хостинга
Хостинг — это когда вам предоставлен фиксированный объём мощностей на определённый промежуток времени без возможности управления системным ПО или инфраструктурой.
При использовании подхода облачных вычислений провайдер предоставляет масштабируемую и отказоустойчивую инфраструктуру. Так клиент может гибко настроить конфигурацию и мгновенно развернуть экземпляры своих приложений и обеспечить безопасность и целостность своих данных.
Облачные вычисления помогают эффективно поддерживать весь процесс разработки ПО. Сейчас в разработке ПО задействовано большое количество специалистов: от разработчиков и инженеров до аналитиков и специалистов по безопасности. Все они требуют своих специальных инструментов и среды исполнения этого ПО.
А теперь сформулируем основные характеристики облачных вычислений.
Основные характеристики облачных вычислений
Управляемость и масштабируемость. Клиент управляет своими сервисами и объёмом ресурсов облачной инфраструктуры с помощью веб-интерфейса в любой момент времени.
Гибкость. Клиент может быстро развернуть среду для больших команд разработки и выделить аппаратные ресурсы для специальных вычислительных задач (например, DS-команд «Data Science»).
Безопасность. Провайдер обеспечивает безопасность инфраструктуры и данных клиента за счёт собственных средств криптографической защиты и квалифицированных кадров.
Отказоустойчивость. Провайдер юридически гарантирует бесперебойную работу облачной инфраструктуры. Проводит мониторинг, выполняя резервное копирование информации и оперативное восстановление в случае сбоев.
С термином определились, теперь изучим виды облачных вычислений.
Виды облачных вычислений
Принято выделять два вида облачных вычислений:
По модели развёртывания (Deployment Model)
По модели услуги (Service Model)
Начнём с Deployment Model.
Deployment Model
Модель развёртывания (Deployment Model) определяет, каким образом и где разворачивается решение компании клиента. Будь то частное использование внутри одной организации или распределённое решение в публичной инфраструктуре через облачного провайдера, а может, и гибрид этих двух подходов.
Способы развёртывания решений в облаке
Существует три модели развёртывания:
Частное облако (Private Cloud)
Публичное облако (Public Cloud)
Гибридное облако (Hybrid Cloud)
Разберём их подробнее.
Частное облако
Частное облако — это среда, предназначенная исключительно для одной организации, где есть чёткая грань между программным обеспечением и аппаратным. Может находиться как на территории самой компании, так и у стороннего провайдера.
Пример: компания использует частное облако для хранения и обработки данных клиентов. Решение компании полностью изолировано. Это обеспечивает необходимый уровень безопасности и контроля над данными, что критично для соблюдения нормативных требований.
Исходя из формулировки, можно выделить ещё несколько подтипов частного облака:
Локальное: решения и приложения разворачиваются на инфраструктуре организации и управляется самой организацией.
Управляемое: как в примере выше, но управляется сторонней компанией, которая специализируется на обслуживании программного и аппаратного обеспечения.
Виртуальное: решения и приложения клиента развёрнуты на инфраструктуре облачного провайдера, который предоставляет изолированную среду для организации клиента.
Публичное облако
Публичное облако — среда, в которой виртуальные ресурсы разворачиваются на инфраструктуре облачного провайдера и предоставляются организации клиента по требованию. При этом аппаратная инфраструктура провайдера может использоваться другими клиентами. Отказоустойчивость и безопасность решений обеспечивается провайдером.
Пример: стартап, занимающийся разработкой мобильных приложений, использует публичное облако для размещения своих серверов и баз данных. Это позволяет им быстро масштабировать ресурсы в зависимости от количества пользователей и снизить начальные затраты на инфраструктуру.
Гибридное облако
И последний тип модели развёртывания — гибридное облако. Оно представляет собой совместное использование частного и публичного облака.
Такая модель создаёт гибкость в распределённых решениях клиента, когда нужно хранить данные на ресурсах самого клиента, а вычисления выполнять на ресурсах провайдера.
Пример: фармацевтическая компания использует гибридное облако для управления своими научными исследованиями. Чувствительные данные о новых лекарствах хранятся в частном облаке для обеспечения безопасности, тогда как менее чувствительные данные для внутренней аналитики и сотрудничества размещаются в публичном облаке для удобства доступа и сокращения затрат.
💡 Реализация гибридной модели требует тщательного анализа и формирования стратегии миграции и проработки архитектуры распределённых решений.
Ещё вам можно встретить термин Multi-cloud. В этом случае решение развёрнуто на стороне нескольких облачных провайдеров. Такой выбор мотивирован желанием избежать зависимости от одного провайдера или же спецификой разворачиваемого решения.
Service Model
Модель услуги (Service Model) определяет, какие именно и на каком уровне сервисы предоставляются клиенту. Модель акцентируется на типе сервиса и уровне его абстракции. Это может быть прикладное/офисное ПО, доступное через веб-интерфейс. А может и целое пространство с окружением для полного цикла разработки ML-модели.
Сергей
Узнаю названия!
Верно! Вы уже сталкивались с моделью услуги, разберём более детально. Знания о модели развёртывания и модели услуги дают понимание специфики разработки Cloud Native решений.
Cloud Native — это подход к разработке и запуску приложений, ориентированный на использование преимуществ облачной среды, включая контейнеризацию, микросервисную архитектуру и динамическое управление ресурсами.
Типы моделей услуги
Как вы уже знаете, среди моделей услуг выделяют три основных типа:
SaaS — программное обеспечение как услуга (Software as a Service, SaaS).
PaaS — платформа как услуга (Platform as a Service).
IaaS — инфраструктура как услуга (Infrastructure as a Service).
Рассмотрим их подробнее. Обо всём по порядку.
1. SaaS
Это способ предоставления услуги, когда приложения (например, Microsoft Office 365) предоставляются клиенту по подписке. Клиент не имеет доступа ни к настройке инфраструктуры, ни к конфигурации платформы или окружения.
Это частый выбор стартапов и малого бизнеса, которым нужно быстро получить доступ к качественному ПО с минимальными затратами. А также образовательных учреждений для управления учебным процессом.
💡 Помните, что SaaS предполагает многопользовательский доступ с конкурентной сессией и оплатой по подписке.
2. PaaS
Это ещё один способ предоставления услуги, но только уже на другом уровне абстракции.
Услуга PaaS предоставляет клиенту платформенные ресурсы со своей средой исполнения, API-интерфейсами и окружением. Клиенту не нужно управлять инфраструктурой или поддерживать платформу, что позволяет ему сосредоточиться на разработке, тестировании и развёртывании своих приложений. Например, Managed Service for Kubernetes от Яндекс Облака уже с настроенным кластером k8s.
💡 Большинство PaaS предлагают обширные API, которые позволяют клиенту интегрировать свои сервисы и решения вне облака.
3. IaaS
Это предоставление провайдером аппаратных вычислительных ресурсов для клиента в виде услуги. Пользователи клиента получают полный контроль над операционной системой и приложениями, а провайдер берёт на себя управление сетью, хранилищем данных и виртуализацией.
Стартапы часто сталкиваются с необходимостью экономии ресурсов, особенно когда дело касается инвестиций в аппаратную инфраструктуру. IaaS — это идеальное решение для стартапов и быстрорастущих компаний, которым требуется гибкость без капитальных вложений в оборудование.
Эта модель позволяет значительно сократить операционные издержки и обеспечить масштабируемость ресурсов по мере развития бизнеса.
💡 IaaS-провайдеры предоставляют два вида оплаты ресурсов: по мере распределения — когда клиент оплачивает зарезервированные виртуальные ресурсы; и оплату по мере использования — часто используется в решениях с контейнеризацией из-за динамического масштабирования, клиент оплачивает фактические ресурсы в конкретный момент времени.
Обзор облачных провайдеров
Рынок облачных провайдеров очень широкий. Помимо большой тройки — AWS, Google Cloud и Microsoft Azure — на рынке есть и российские представители, которые по количеству и качеству сервисов не уступают лидерам.
Проведём краткий обзор таких провайдеров:
Yandex Cloud,
Selectel,
VK Cloud,
MTS Cloud (MWS).
Yandex Cloud
Это облачная инфраструктура от Яндекса со множеством сервисов и услуг.
Особенности:
Поддержка контейнеризации и оркестрации.
Платформа для полного жизненного цикла моделей машинного обучения.
Масштабируемое хранение данных и управление базами данных различных типов.
AI-сервисы перевода, распознавания речи, анализа изображений и работы с большими данными (Big Data).
Преимущества:
Многоуровневая система безопасности, включающая шифрование данных и защиты от DDoS-атак.
Гибкость в настройке серверной конфигурации, позволяющая пользователям адаптировать инфраструктуру под свои задачи.
Полная поддержка DevOps — CI/CD, инструменты мониторинга и автоматизации.
Гибридные и мультиоблачные решения для сложных бизнес-задач.
Поддержка стартапов с программами и грантами.
Обширная документация для разработчиков с примерами и готовыми решениями для интеграции.
Соответствие стандартам индустриальным стандартам ISO, PCI DSS, GDPR и 152-ФЗ РФ.
Облачные вычисления — это подход, когда «провайдер» предоставляет вычислительные мощности за деньги.
Принято выделять два вида облачных вычислений: по модели развёртывания (Deployment Model) и по модели услуги (Service Model).
Существует три больших вида облаков: частное облако (Private Cloud), публичное облако (Public Cloud) и гибридное облако (Hybrid Cloud).
Модель услуги (Service Model) определяет, какие именно и на каком уровне сервисы предоставляются клиенту. Модель акцентируется на типе сервиса и уровне его абстракции. Это может быть прикладное/офисное ПО, доступное через веб-интерфейс. А может и целое пространство с окружением для полного цикла разработки ML-модели.
Среди моделей услуг выделяют три основных типа: SaaS, IaaS и PaaS.
На русском рынке выделяются четыре провайдера: Yandex Cloud, Selectel, VK Cloud и MTS Cloud (MWS). Чтобы выбрать провайдера, учитывайте тарифы на модели услуг, стоимость, поддержку и документацию, а также географическое покрытие.
В следующем уроке вы рассмотрите эти же модели, но в контексте преимущества для бизнеса и IТ. Это позволит ещё лучше понять концепцию облачных вычислений.