Программирование  •  06 декабря  2022  •  5 мин чтения

Что такое облачные технологии и как они устроены

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

Понятие облачных технологий

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

Современные облачные технологии заменяют отдельные базы данных или вычислительные мощности и даже целые дата-центры и сетевую инфраструктуру.

Слева — обычные, физические серверы. Компания покупает их или берёт в аренду. Справа — облачная инфраструктура. Провайдер предоставляет доступ к серверам или сервисам через облако
В широком смысле к сервисам на базе облачных технологий относят всё, что работает онлайн: от файловых хранилищ до онлайн-документов. Они, как правило, работают «из коробки» — на любом устройстве, без сложных настроек и кастомизации. Например, Яндекс Диск, где можно загружать, хранить и скачивать файлы.

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

Пример такого решения ― Yandex Cloud, в котором компании хранят данные, запускают сервисы или обучают нейронные сети с помощью серверов и вычислительных мощностей облачного провайдера.

Материал по теме:
Что такое DevOps: зачем он нужен, где применяется и в чём его плюсы и минусы

Краткая история облачных технологий

Когда в 60-х появились первые ЭВМ, за одной машиной мог работать только один пользователь. Для бизнеса это было проблемой, потому что для каждого сотрудника нужно было купить отдельную ЭВМ, которая стоила очень дорого. Тогда впервые появилась идея технологии, которая позволила бы нескольким людям подключаться к одному серверу одновременно.

В 90-х развитие облачных технологий подтолкнуло распространение интернета. Он позволил подключаться к любому компьютеру и серверу в мире, но требовал всё больших вычислительных мощностей и высокой пропускной способности канала.

В 2006-м появились первые облачные платформы Zimki и Amazon Web Services, которые предоставляли доступ к сервисам для вычислений и работы с данными. В 2008-м Google запустил App Engine. Это был первый прототип PaaS (от англ. Platform as a Service, «платформа как услуга»), но с ограниченным набором функций.

В 2010-х появились облачные инфраструктуры Microsoft Azure и Google Cloud. С этого момента началась история облачных технологий для бизнеса.

На курсе «Архитектура программного обеспечения» от Практикума студенты учатся в том числе развёртывать приложения в облачных средах с помощью Kubernetes, Docker и Terraform, управлять ими.

Виды облачных технологий

Облачные технологии делят на две категории: по возможностям, которые они предоставляют клиенту, и по тому, как клиент их использует.

1. Облачные решения, которые различаются возможностями для клиента:

IaaS (от англ. Infrastructure as a Service) — инфраструктура как услуга. По подписке клиент пользуется виртуальными серверами, операционной системой, получает сетевой доступ, устанавливает и запускает приложения и сервисы. При помощи IaaS можно создавать виртуальные машины и сети, сервисы для распределённого доступа. В таких сервисах каждая группа пользователей получает доступ только к определённым данным и функциям для работы с ними.

Такие услуги предоставляют Amazon Web Services, Google Cloud, Microsoft Azure, Yandex Cloud.

PaaS (от англ. Platform as a Service) — платформа как услуга. Виртуальная среда для разработки и тестирования сервисов, управления большими данными или машинного обучения нейросетей.
Например, управляемые очереди сообщений Amazon Simple Queue Service или Yandex Message Queue — хранилище для размещения и чтения данных в определённом порядке.

Или управляемый Kubernetes — инструмент для управления контейнерами, наборами файлов для запуска приложения, которые упакованы особым образом.

Или облачные вычисления AWS Lambda.

SaaS (от англ. Software as a Service) — программное обеспечение как услуга. ПО, которое поддерживает облачный провайдер. Клиент оплачивает подписку и получает лицензию на определённый срок.

Так работают электронная почта Google, CRM-система SAP и сервис для дизайнеров Figma.

Иногда к этой категории относят ещё два вида облачных решений:

BaaS (от англ. Backup as a Service) — сервисы, которые автоматически делают резервные копии для восстановления системы после повреждения или взлома. Например, AWS Backup.

DRaaS (от англ. Disaster Recovery as a Service) — сервисы, которые помогают восстановить данные и инфраструктуру после повреждения или взлома. Например, VMware Site Recovery.

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

2. Облачные сервисы, которые различаются тем, как клиент их использует:

Приватное (или частное) облако — инфраструктурой пользуется одна компания. Пример: IBM Cloud Pak.

Публичное облако — владелец облачной среды (провайдер) сдаёт её в аренду.

Гибридное облако — часть инфраструктуры или сервисов открыта для общего доступа, часть остаётся приватной.

При этом приватным, публичным или гибридным может быть один и тот же продукт. Нужно только выбрать у провайдера нужные настройки доступа.

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

Неограниченные ресурсы
Облачные технологии открывают доступ к мощным серверам, масштабным дата-центрам и базам данных.

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

Экономия
Облачные технологии работают по модели Pay-as-You-Go. Клиенты платят только за объём услуг, который получили. Например, компания разработала Telegram-бот и запустила его в облаке. Если в один день бот обработал 500 запросов, а в другой — 0, платить за время простоя не придётся. А за аренду физического сервера нужно платить регулярно, независимо от нагрузки.

Если подключить СУБД (систему управления базами данных) для сайта, чтобы хранить данные пользователей, не придётся выделять ресурсы на защиту, настройку, обновления и бэкапы.

Регулируемый масштаб
Объём хранилища или виртуальной сети можно без больших затрат увеличить в любой момент.

Например, компания нанимает 50 новых сотрудников. Чтобы не настраивать для каждого пакет приложений и сервисов и доступ к базам данных и отчётам, их подключают к корпоративному облаку. Так они сразу могут приступить к работе.

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

Универсальные решения
Облачные провайдеры предоставляют широкий выбор сервисов: от хранения данных до виртуального ПО. Такие решения подходят и стартапам, и большим корпорациям.

Например, технологии облачных решений используют и разрабатывают Apple, Google, Microsoft и Amazon. Облака помогают тестировать и запускать высоконагруженные сервисы, объединять разветвлённую IT-инфраструктуру в глобальную сеть, хранить и обрабатывать огромные массивы данных.

Безопасный запуск новых
продуктов С помощью облачных сервисов можно быстро запустить интернет-магазин или онлайн-портал без перегрузки IT-инфраструктуры.

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

Использовать облака можно далеко не всегда.

Они не подходят компаниям, которые не могут работать онлайн с общим доступом по соображениям безопасности. Например, электростанциям или оборонным предприятиям.

Чтобы доступ к облачным сервисам был бесперебойным, нужен стабильный и высокоскоростной интернет.

Сферы применения облачных технологий

Облачными сервисами пользуются каждый день, когда проверяют почту, заливают фото или видео или смотрят кино онлайн. Бизнес чаще всего использует облачные технологии в разработке IT-систем и ПО и в интернете вещей.
Сферы применения облачных технологий
Условно области применения облачных технологий для бизнеса можно разделить на две большие группы: первая ближе к IT-разработке и маркетингу, а вторая — к инженерным решениям в области «умных» устройств
Разработка IT-систем и ПО

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

Разработкой ПО и сервисов, например, занимаются DigitalOcean, Microsoft Azure, AWS Amplify, Google Firebase.

Виртуальная машина. Это виртуальный компьютер со своей ОС и программами, который устанавливается на физическое устройство и использует часть его мощностей. Это выглядит как приложение с настраиваемыми характеристиками.

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

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

Например, можно арендовать облачные базы данных Amazon RDS, Yandex Managed Service for MySQL, облачные хранилища Azure.

В интерфейсе управляемой базы данных можно сразу выбрать нужный объём и мощность сервера под потребности бизнеса. Например, чтобы обрабатывать данные о заказах в интернет-магазине

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

Примеры: Zendesk, amoCRM, SAP, Keeper.

Серверные решения. Иногда для запуска проекта требуется большой объём вычислений. Например, выгрузить сотни видеороликов из видеоредактора в нужном формате. У небольшой студии с обычным сервером на это уйдут недели. А если на сутки подключить облачный сервер, загрузка займёт один час.

Примеры: Windows Server on Azure, AWS Cloud Server.

Бессерверные вычисления (Serverless). Это облачные сервисы, которые берут плату не за целый сервер, а только за использованный объём данных и вычислений. Ими пользуются, чтобы хранить большие массивы данных, к которым обращаются нечасто или запрашивают один-два файла в день. Если арендовать для этого целый сервер, затраты на облако не окупятся.

Примеры: AWS Lambda, Azure Functions.

Аналитика данных и Data Science. При помощи облачных сервисов арендуют мощности и готовые модели для машинного обучения. Например, чтобы обучить голосового робота принимать заказы по телефону и оплачивать только время его работы. Или обрабатывать большие данные при помощи алгоритмов на базе искусственного интеллекта.

Пример: Google Cloud AI.

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

Пример: AWS IoT.

Развитие облачных технологий

Вот главные тренды, которые определяют будущее облаков.

Появляется больше готовых решений в рамках IaaS и PaaS, когда можно развернуть в облаке всё необходимое для малой или средней компании. Например, запустить готовый интернет-магазин на 1С-Битрикс.

Большие перспективы облачных технологий в области науки и медицины. В этих сферах особенно востребованы масштабные вычисления — в рамках международных исследовательских проектов и работы с большими данными. Например, когда в пандемию лабораториям приходилось вместо 100 тестов в день делать 10 тыс., облачные серверы помогли справиться с нагрузкой и избежать сбоёв.

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

Развиваются бессерверные облака. С их помощью пользователи запускают программы и сайты в облаке без привязки к конкретному серверу.

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

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

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

Андрей Гейн, разработчик Yandex Cloud
Государства стремятся жёстче регулировать облачные технологии и сервисы, чтобы важные и конфиденциальные данные оставались в пределах одной страны или даже штата (в США).

С чего начать изучение облачных технологий

Разработкой облачных решений занимаются инженеры облачных сервисов. Эти решения компании используют для запуска своих сервисов. Внутри таких компаний с облачными решениями работают DevOps-специалисты. Это облачные системные администраторы. Они отвечают за внедрение, настройку и поддержку облачных решений и частично участвуют в разработке кода на базе облаков.

Чтобы получить базовое представление о том, как работают облака, можно попрактиковаться на демоверсиях облачных сервисов популярных провайдеров. Например, Yandex Cloud, AWS или Microsoft Azure. В этом помогут туториалы на сайтах провайдеров, ролики на YouTube и статьи на тематических порталах вроде Habr.

Для более глубокого погружения понадобятся знание Python и принципов разработки облачных решений. Их можно освоить самостоятельно или на специальных курсах. Например, на курсе «Инженер облачных сервисов» можно попрактиковаться во внедрении и настройке сервисов на базе Yandex Cloud. В программе курса теория тесно связана с практикой, это помогает легко закрепить знания и вместе со специалистами разобраться, на каком этапе и почему возникают трудности.

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

Статью подготовили:

Андрей Горлов
Яндекс Практикум
Автор курса «Python‑разработчик»
Ася Зуйкова
Яндекс Практикум
Редактор

Дайджест блога: ежемесячная подборка лучших статей от редакции

Поделиться

Успейте начать учебу в Практикуме до конца ноября со скидкой 20%

Fri Sep 06 2024 11:28:08 GMT+0300 (Moscow Standard Time)