Общее представление об облачных вычислениях
Облачные вычисления — это аренда ресурсов, таких как дисковое пространство или циклы ЦП, на компьютерах другой компании. Вы платите только за то, что используете. Организация, предлагающая такие услуги, называется поставщиком облачных служб. Например, к ним можно отнести Майкрософт, Amazon и Google.
Поставщик облачных служб отвечает за физическое оборудование, необходимое для выполнения работы, и за поддержку его в актуальном состоянии. Предлагаемые вычислительные службы обычно зависят от конкретного поставщика облачных служб. Но обычно в их число входят следующие:
- вычислительные средства, такие как серверы Linux или веб-приложения, используемые для вычислений и обработки задач;
- хранилище, например файлы и базы данных;
- сеть, например безопасные соединения между поставщиком облачных служб и вашей организацией;
- функции аналитики, такие как визуализация телеметрии и данных по производительности.
Службы облачных вычислений
Цель облачных вычислений состоит в том, чтобы сделать ведение бизнеса более простым и эффективным как для небольшой компании, так и для крупного предприятия. Каждая организация уникальна и имеет собственные потребности. Чтобы удовлетворить эти потребности, поставщики облачных вычислений предлагают широкий спектр служб.
Нужно иметь базовое представление о некоторых предоставляемых ими службах. Давайте кратко рассмотрим две наиболее распространенных службы, предоставляемые всеми поставщиками облачных служб, — вычислительные ресурсы и хранилище.
Вычислительные ресурсы
Когда вы отправляете сообщение электронной почты, бронируете номер в гостинице на сайте, оплачиваете счет через Интернет или проходите этот урок Microsoft Learn, вы взаимодействуете с облачными серверами, которые обрабатывают каждый запрос и возвращают ответ. Пользуясь Интернетом, мы все зависим от вычислительных служб, предоставляемых различными поставщиками облачных служб.
При создании решений на базе облачных вычислений вы можете выбирать, как выполнить работу с учетом имеющихся ресурсов и потребностей. Например, чтобы лучше контролировать ситуацию и самостоятельно проводить обслуживание, можно создать виртуальную машину.
Виртуальная машина эмулирует настольный компьютер или ноутбук, например такой, каким вы пользуетесь сейчас. Каждая виртуальная машина имеет операционную систему и оборудование, которые пользователь видит как обычный физический компьютер под управлением Windows или Linux. Вы можете установить в виртуальной машине любое программное обеспечение, которое требуется для выполнения задач в облаке.
Разница в том, что вам не нужно покупать оборудование или устанавливать ОС. Поставщик облачных служб запускает вашу виртуальную машину на физическом сервере в одном из своих центров данных. Часто на одном сервере выполняются несколько виртуальных машин, каждая из которых изолирована и защищена. Благодаря облаку можно подготовить виртуальную машину за несколько минут, и это обходится дешевле, чем покупка физического компьютера.
Помимо виртуальных машин, есть и еще два популярных варианта вычислений: контейнеры и бессерверные вычисления.
Что такое контейнеры?
Контейнер реализует согласованную изолированную среду для выполнения приложений. Они похожи на виртуальные машины за тем исключением, что гостевая операционная система не требуется. Вместо этого приложение вместе со всеми зависимостями упаковывается в "контейнер", после чего для его выполнения используется стандартная среда выполнения. Это позволяет запускать контейнер в считаные секунды, так как загружать и инициализировать ОС не нужно. Достаточно запустить приложение.
Одной из ведущих платформ для управления контейнерами является проект с открытым исходным кодом Docker. Контейнеры Docker предоставляют эффективный и упрощенный подход к развертыванию приложений, так как они позволяют независимо развертывать различные компоненты приложения в разные контейнеры. На одном компьютере могут выполняться несколько контейнеров. Их также можно перемещать между компьютерами. Благодаря высокому уровню переносимости контейнеров упрощается развертывание приложений в нескольких средах (локально или в облаке), причем вносить изменения практически не требуется.
Что такое бессерверные вычисления?
При работе с бессерверными вычислениями вы запускаете код приложения, не тратя при этом силы на создание, настройку и обслуживание сервера. Основной принцип заключается в том, что приложение делится на отдельные функции, который инициируются определенными действиями. Это идеальный подход для автоматизированных задач. Например, можно создать бессерверный процесс, который автоматически отправляет сообщение электронной почты с подтверждением после совершения покупки в интернет-магазине.
Бессерверная модель отличается от виртуальных машин и контейнеров тем, что оплачивается только время обработки, затрачиваемое на выполнение каждой функции. При использовании виртуальных машин и контейнеров оплачивается все время их работы, даже если приложения в них простаивают. Такая архитектура подходит не для каждого приложения, но если логику приложения можно разделить на независимые модули, которые можно тестировать и изменять по отдельности и запускать их в доли секунды, это самый быстрый способ развертывания.
На схеме ниже сравниваются три подхода к вычислениям, которые мы рассмотрели.
Хранилище
Большинство устройств и приложений выполняют чтение и запись данных. Вот несколько примеров:
- покупка билета в кинотеатр в Интернете;
- поиск цены на товар в интернет-магазине;
- фотографирование;
- Отправка сообщения электронной почты
- отправка сообщения голосовой почты.
Во всех этих случаях данные либо считываются (например, поиск цены), либо записываются (например, съемка). В каждой ситуации используются разные типы данных и способы их хранения.
Поставщики облачных служб обычно предлагают службы, которые могут обрабатывать все эти типы данных. Например, если вы хотите хранить текст или видеозапись, можно использовать файл на диске. Если у вас есть набор взаимосвязанных данных, такой как адресная книга, можно использовать более структурированный подход, например базу данных.
Преимущество облачного хранилища данных в том, что его можно масштабировать по мере необходимости. Если вам нужно больше места для хранения видеозаписей, можно увеличить доступное место за небольшую дополнительную плату. В некоторых случаях хранилище может даже увеличиваться и уменьшаться автоматически, так что вы всегда платите только за тот объем, который вам нужен.
Итоги
Каждая организация имеет собственные потребности. Облачные вычисления являются гибкими и экономически эффективными, что может быть очень полезно для каждого предприятия — будь то небольшой стартап или крупная компания.