Что такое автоматическое масштабирование в AWS? - Как это работает - Разные компоненты

Содержание:

Anonim

Обзор автомасштабирования в AWS

Автоматическое масштабирование, также называемое как автоматическое масштабирование или иногда автоматическое масштабирование, является техникой облачных вычислений, где объем ресурсов, необходимых для эффективной работы фермы серверов, обычно измеряется по мере увеличения или уменьшения количества активных серверов при необходимости на основе на нагрузку на всю ферму серверов. Мы можем тесно связать это с балансировкой нагрузки. Обычно автоматическое масштабирование - это своего рода автоматизация для ручного процесса. Давайте рассмотрим сценарий, когда у вас есть веб-сайт электронной коммерции, который эффективно работает и обслуживает клиентов: ни один из ваших клиентов не жалуется на задержку сайта, а вы не теряете пользователей из-за производительности сайта. По мере роста бизнеса вы занимались маркетингом, и люди с каждым днем ​​все больше узнавали о вашем сайте, и трафик на сайте увеличивался. С одной стороны, вы были рады видеть рост бизнеса, но вы также должны видеть, что веб-сайт должен обслуживать каждого клиента, а не отставать. Допустим, в настоящее время он может обслуживать 100 клиентов одновременно, то есть если 100 пользователей вошли на ваш сайт, то все они могут плавно перемещаться и покупать, и все это работает на некоторой фиксированной конфигурации, предположим, t2.micro, экземпляр AWS. Теперь, когда веб-сайт становится популярным, вы ожидаете около 250-300 пользователей одновременно, очевидно, что вам нужно еще 2 сервера, на которых вы можете разделить трафик, и тогда каждый сможет правильно ориентироваться.

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

Как работает автоматическое масштабирование в AWS?

В AWS есть несколько объектов, участвующих в процессе автоматического масштабирования, а именно: - Балансировщик нагрузки и AMI являются двумя основными компонентами, вовлеченными в этот процесс. Во-первых, вам нужно создать AMI вашего текущего сервера, проще говоря, можно сказать, что шаблон вашей текущей конфигурации состоит из всех настроек системы и текущего веб-сайта. Это вы можете сделать в разделе AMI AWS. Если мы пойдем по вышеописанному сценарию, и вы настроили автоматическое масштабирование, чтобы ваша система была готова к будущему трафику.

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

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

Создание нового экземпляра зависит исключительно от набора правил, определенных пользователем, который настраивает автоматическое масштабирование. Правила могут быть такими же простыми, как загрузка ЦП, например, вы можете настроить автоматическое масштабирование, когда загрузка ЦП достигнет 70-80%, тогда вы захотите запустить новый экземпляр для обработки трафика. Там могут быть правила, чтобы уменьшить также.

Авто масштабирование компонентов в AWS

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

Компоненты, участвующие в автомасштабировании: -

  • AMI (изображение машины Amazon)
  • Балансировщик нагрузки
  • снимок
  • EC2 Экземпляр
  • Автомасштабирование групп

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

1. AMI

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

2. Балансировщик нагрузки

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

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

  • Классический балансировщик нагрузки.
  • Балансировщик нагрузки приложения.

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

Балансировщик нагрузки приложения

  • Наиболее широко используемый тип балансировщика нагрузки, где трафик перенаправляется на основе определенных простых или сложных правил, которые могут основываться на «пути» или «хосте» или как определенные пользователем.
  • Было бы лучше, если бы мы взяли сценарий приложения обработки документов.
  • Допустим, у вас есть приложение, основанное на микросервисной архитектуре или монолитном, и путь «/ document» является специфическим для службы обработки документов, а другие пути - «/ reports», которые просто показывают отчеты об обработке документов и статистику об обработанных данных. У нас может быть группа автомасштабирования для одного сервера, который отвечает за обработку документов, а другой - только для отображения отчетов.
  • В балансировщике нагрузки приложения вы можете настроить и установить правило в соответствии с путем, который, если путь соответствует «/ document», затем перенаправляет в группу автомасштабирования для сервера 1 или, если он совпадает с путем «/ reports», затем перенаправляет его в группу автомасштабирования для сервер 2. Внутри одной группы может быть несколько экземпляров, и нагрузка будет распределена в классической форме, то есть равномерно между экземплярами.

3. Снимок

Копия данных, хранящихся на вашем жестком диске, обычно представляет собой образ вашего хранилища. Типичное различие между снимком и AMI - это исполняемый образ, который можно использовать для создания нового экземпляра, но снимок - это просто копия данных, которые есть в вашем экземпляре. Если у вас есть инкрементальный снимок вашего экземпляра EC2, то снимок будет копией тех блоков, которые были изменены с момента предыдущего снимка.

4. Экземпляр EC2 (Elastic Compute Cloud)

Экземпляр EC2 - это виртуальный сервер в Amazon Elastic Compute Cloud (EC2), который используется для развертывания ваших приложений в инфраструктуре Amazon Web Services (AWS). Служба EC2 позволяет вам подключаться к виртуальному серверу с ключом аутентификации через соединение SSH и позволяет устанавливать различные компоненты вашего приложения вместе с вашим приложением.

5. Автомасштабирование группы

Это группа экземпляров EC2 и ядро ​​Amazon EC2 AutoScaling. Когда вы создаете группу AutoScaling, вы должны предоставить информацию о подсетях и начальном количестве экземпляров, с которых вы хотите начать.

Вывод

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

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

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

Рекомендуемые статьи

Это руководство о том, что такое автоматическое масштабирование в AWS? Здесь мы обсудим его определение, работу и различные компоненты автомасштабирования в AWS. Вы также можете посмотреть следующую статью, чтобы узнать больше -

  1. Что такое AWS RedShift?
  2. Что такое StringBuilder в C #
  3. Полное руководство по функциональному тестированию
  4. Что такое Back End Developer?
  5. Сервисы хранения AWS