Что такое вычисления?

В сфере облачных вычислений термин «вычисления» описывает понятия и объекты, связанные с вычислениями программного обеспечения. Это общий термин, который используется в контексте вычислительной мощности, памяти, сети, хранилища и других ресурсов, требуемых для обеспечения нормальных вычислительных характеристик любой программы. 

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

Давайте рассмотрим некоторые часто задаваемые вопросы о вычислениях, чтобы разобраться в этом термине в контексте современных вычислений.

Что такое вычислительные ресурсы?

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

ЦП

Центральный процессор (ЦП) – это «мозг» любого компьютера. Мощность ЦП измеряется в единицах, которые называются милликоры. Разработчики приложения могут указывать, сколько выделенных ЦП требуется для запуска их приложения и обработки данных.

Память

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

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

Что такое облачные вычисления?

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

История облачных вычислений

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

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

ПО для ведения бухгалтерского учета: пример облачных вычислений

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

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

Что такое микросервисы?

Микросервисы, также известные как архитектура микросервисов, – это стиль архитектуры, который используется для программных приложений, структурированных как коллекция сервисов. 

Корпоративные приложения обычно состоят из трех основных частей:

  1. пользовательский интерфейс на стороне клиента (приложение или HTML-страница, запускаемые на устройстве конечного пользователя);
  2. база данных (в которой хранятся данные приложения);
  3. приложение на стороне сервера (которое определяет функциональную и логическую сторону выполнения операции).

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

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

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

Что такое виртуальные машины?

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

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

Что такое инстанс Amazon EC2?

В сфере вычислительных сервисов AWS виртуальные машины называются инстансами. AWS EC2 предусматривает множество типов инстанса с разными конфигурациями ЦП, памяти, хранилища и сетевых ресурсов, так что пользователь может адаптировать вычислительные ресурсы к потребностям приложения. 

Существует пять типов инстанса. Они перечислены ниже.

Инстансы общего назначения

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

Инстансы, оптимизированные для вычислений

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

Инстансы для ускоренных вычислений

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

Инстансы с оптимизированным объемом памяти

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

Инстансы с оптимизированным хранилищем

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

Что такое контейнер?

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

Docker – это инструмент, используемый разработчиками для развертывания ПО. Он представляет собой стандартный способ упаковки кода приложения и запуска приложения в любой системе. Он объединяет код программного обеспечения и его зависимости в контейнере. После этого контейнеры (или образы Docker) могут запускаться на любой платформе с помощью подсистемы Docker. Amazon Elastic Container Service (ECS) – это высокопроизводительный сервис управления контейнерами с широкими возможностями масштабирования. Он поддерживает контейнеры Docker и позволяет с легкостью запускать приложения в управляемом кластере инстансов Amazon EC2. Это обеспечивает быстрое, надежное и последовательное развертывание, независимо от среды.

Приложение для бронирования в больнице: пример Docker

Например, больнице необходимо приложение для бронирования приемов. Конечные пользователи могут использовать приложение на устройстве с ОС Android, iOS, на компьютере с ОС Windows или на ноутбуке MacBook либо с помощью веб-сайта больницы. Если бы код развертывался отдельно на каждой платформе, его было бы сложно обслуживать. Вместо этого можно использовать Docker для создания единственного универсального контейнера приложения для бронирования. Этот контейнер может запускаться где угодно, в том числе на таких вычислительных платформах, как AWS.

Что такое бессерверные вычисления с помощью облака AWS?

Бессерверные вычисления относятся к разработке приложений с базовой инфраструктурой сервера, управляемой во внешней среде. Бессерверные сервисы, такие как AWS Lambda, поставляются с автоматическим масштабированием и высокой доступностью по модели оплаты на основе ценности.

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

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

 

Что такое эластичная балансировка нагрузки вычислительных ресурсов?

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

Эластичная балансировка нагрузки позволяет пользователям максимально повысить производительность и надежность приложений. Она может автоматически распределять входящий трафик приложений по нескольким целевым объектам, таким как инстансы Amazon EC2, контейнеры, IP‑адреса, функции AWS Lambda и виртуальные серверы. Она может справляться с переменной нагрузкой трафика приложений, способствовать сокращению затрат и эффективному масштабированию приложений в сторону увеличения или уменьшения в соответствии со спросом.

Интернет-коммерция: пример эластичной балансировки нагрузки

Например, интернет-магазин электронной коммерции пользуется приложением для сортировки лучших сделок дня. Как приложение с интенсивными вычислениями, для управления спросом оно использует облачные вычисления и балансировку нагрузки. То есть во время пикового спроса на выходных, на Рождество и при других сезонных пиках оно автоматически использует дополнительные вычислительные ресурсы. В другие дни, когда уровень спроса снижается, приложение уменьшает масштаб вычислений. Если бы не было балансировки нагрузки, то магазин платил бы по тарифам пикового использования даже в дни с небольшим объемом продаж и его показатели прибыльности сократились бы.

Что такое вычислительные сервисы?

Вычислительные сервисы также называются «инфраструктура как услуга» (IaaS). Вычислительные платформы, такие как вычислительная платформа AWS, поставляют виртуальному серверу инстанс, хранилище и API, позволяющие пользователю переносить рабочие нагрузки на виртуальную машину. У пользователей есть выделенная вычислительная мощность, и они могут по своему усмотрению запускать, останавливать вычислительные ресурсы, получать к ним доступ и настраивать их.

Какой из доступных вычислительных сервисов AWS выбрать

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

  1. Если необходимо развернуть выбранные инстансы по требованию, обладающие широким спектром различных преимуществ по части производительности в среде AWS, следует использовать Amazon Elastic Compute Cloud (EC2).
  2. Если в кластере инстансов EC2 необходимо запустить приложения, поддерживающие Docker и упакованные как контейнеры, то можно воспользоваться Amazon Elastic Container Service (Amazon ECS).
  3. Если в бессерверной среде необходимо запустить собственный код, используя всего миллисекунды вычислительного ресурса в ответ на триггеры, управляемые событиями, то можно воспользоваться AWS Lambda.

Каковы преимущества вычислительных сервисов AWS?

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

Правильные вычисления для ваших рабочих нагрузок

Amazon EC2 (Amazon Elastic Compute Cloud) предлагает тщательный контроль с выбором процессоров, хранилищ и сетей для управления инфраструктурой приложений. Amazon Elastic Container Services (Amazon ECS) предлагает разные гибкие способы работы контейнеров.

Встроенная безопасность

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

Оптимизация затрат

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

Гибкость

AWS имеет множество способов быстрого создания, развертывания и вывода приложений на рынок. Например, Amazon Lightsail – это простой в использовании сервис, предлагающий все необходимое для создания приложения или веб-сайта.

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

Дальнейшие шаги после использования вычислений Amazon

Изучите дополнительные ресурсы по продукту
Подробнее о вычислительных сервисах 
Зарегистрируйте бесплатный аккаунт

Получите мгновенный доступ к уровню бесплатного пользования AWS.

Регистрация 
Начать разработку в консоли

Начните разработку с использованием AWS в консоли управления AWS.

Вход