Що таке автоматичне масштабування в AWS? - Як це працює - Різні компоненти

Зміст:

Anonim

Огляд автоматичного масштабування в AWS

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

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

Як працює автоматичне масштабування в AWS?

У AWS є декілька сутностей, що беруть участь у процесі автоматичного масштабування, а саме: - Балансир завантаження та AMI - це два основних компоненти, що беруть участь у цьому процесі. По-перше, вам потрібно створити AMI вашого поточного сервера, простіше кажучи, ми можемо сказати, шаблон вашої поточної конфігурації складається з усіх системних налаштувань та поточного веб-сайту. Це можна зробити в розділі AMI AWS. Якщо ми підемо згідно нашого вище сценарію, і ви налаштували автоматичне масштабування, щоб ваша система була готова до майбутнього трафіку.

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

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

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

Автоматичне масштабування компонентів у AWS

У процесі автоматичного масштабування задіяно багато компонентів, деякі з них ми вже назвали, як AMI, Load balancers, а також є й інші.

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

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

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

1. AMI

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

2. Завантажте балансир

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

Балансир навантаження відіграє дуже важливу роль в автоматичному масштабуванні. Зазвичай балансири навантаження можуть бути двох типів: -

  • Класичний балансир навантаження.
  • Балансир завантаження додатків.

Класичний балансир навантаження : - Класичний балансир навантаження дотримується дуже простого підходу, він просто розподіляє трафік рівномірно на всі інстанції. Це дуже просто і сьогодні ніхто не використовує класичний балансир навантаження. Це може бути хорошим вибором для простого статичного веб-сайту HTML, але в сучасних сценаріях є гібридні додатки, або багатокомпонентні програми та програми для високих обчислень, які мають численні компоненти, присвячені певній роботі.

Балансир завантаження додатків

  • Найпоширеніший тип балансира навантаження, коли трафік перенаправляється на основі певних простих або складних правил, які можуть базуватися на "шляху" або "хості" або визначених користувачем.
  • Було б краще, якщо ми візьмемо сценарій заявки на обробку документів.
  • Скажімо, у вас є додаток, заснований на архітектурі мікросервісу або монолітній, і шлях "/ документ" є специфічним для служби обробки документів та інших шляхів "/ звітів", який просто показує звіти документів, що обробляються, та статистику щодо оброблюваних даних. У нас може бути група автоматичного масштабування для одного сервера, який відповідає за обробку документів, а інший лише для показу звітів.
  • У балансирі завантаження програми ви можете налаштувати та встановити правило відповідно до шляху, який, якщо шлях відповідає “/ document”, то перенаправляє до групи автоматичного масштабування для сервера 1 або якщо він збігається з контуром “/ report”, а потім перенаправляє його на групу автомасштабу для сервер 2. Внутрішньо одна група може мати декілька екземплярів, і навантаження розподілятиметься в класичній формі, означає однаково серед екземплярів.

3. Знімок

Копія даних, які ви маєте на жорсткому диску, як правило, являє собою зображення вашої пам’яті. Типова різниця між знімком та AMI - це виконуваний образ, який можна використовувати для створення нового екземпляра, але знімок - це лише копія даних, які є у вашому екземплярі. Якщо у вас є додатковий знімок вашого екземпляра EC2, то знімок буде копією тих блоків, які були змінені з попереднього знімка.

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

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

5. Група автоматичного масштабування

Це група екземплярів EC2 і ядро ​​Amazon EC2 AutoScaling. Створюючи групу автоматичного масштабування, ви повинні надати інформацію про підмережі та початкову кількість примірників, з яких ви хочете почати.

Висновок

З наведеного вище змісту ми отримали гарне уявлення про те, що таке автоматичне масштабування та наскільки це важливо в сучасному світі.

  • Якщо ми бачимо, що технології та вимоги користувачів зростають з кожним днем, а також їхні очікування щодо швидкого та ефективного застосування.
  • Чудовий додаток швидкий, дає хороший досвід користувачеві та робить те, для чого він побудований, і для цього вам потрібен дуже надійний сервіс та технологічний стек.
  • Після того, як ви займаєтесь бізнесом, і це удари, ваша ймовірна база користувачів, можливо, збільшиться, і виникатимуть ситуації, коли можна працювати з одночасними користувачами, коли вам потрібно буде автоматичне масштабування, щоб масштабувати та зменшувати масштаби відповідно до ситуацій, щоб забезпечити вашим користувачам безперебійний досвід.

З моєї точки зору, масштабування - це дуже важливий аспект у сучасному світі, і сьогодні чи завтра нам це потрібно зробити, виконайте автоматичне масштабування AWS та масштабуйте свої продукти.

Рекомендовані статті

Це посібник з питань Що таке автоматичне масштабування в AWS? Тут ми обговорили його визначення, робочі та різні компоненти автоматичного масштабування в AWS. Ви також можете переглянути наступну статтю, щоб дізнатися більше -

  1. Що таке AWS RedShift?
  2. Що таке StringBuilder в C #
  3. Повне керівництво по функціональному тестуванню
  4. Що таке Back End Developer?
  5. Послуги зберігання AWS