Elastic Compute Cloud (EC2) пояснюється простими словами

Раніше обчислювальні ресурси залежали від локального апаратного забезпечення. Сьогодні, якщо ваше програмне забезпечення функціонує у хмарному середовищі, ця відповідальність перекладається на веб-сервіс Elastic Compute Cloud (EC2).

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

EC2 є ключовою складовою Amazon Web Services (AWS) і застосовується у багатьох хмарних проєктах. Звісно, якщо вам не до вподоби безсерверна архітектура, EC2 може не бути оптимальним вибором.

Основні компоненти EC2

Джерело: docs.aws.amazon.com

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

#1. Екземпляри

Екземпляр EC2 є, по суті, віртуальною машиною в хмарі. Він може бути налаштований та запущений з різними параметрами. Також потрібно визначити операційну систему для екземпляра, а також його продуктивність (кількість процесорів, об’єм оперативної пам’яті тощо).

Окрім цього, ви можете вказати обсяг постійної пам’яті, який буде приєднаний до екземпляра EC2.

#2. Образи машин Amazon (AMI)

AMI — це попередньо налаштований шаблон, що містить усі необхідні дані для успішного запуску екземпляра. Тут ви вказуєте, на якій операційній системі ви хочете запускати ваші програми, як виглядатиме сервер застосунків та які саме застосунки слід встановити.

#3. Еластичне блочне сховище (EBS)

Це сервіс зберігання, що надає постійні обсяги пам’яті для використання з екземплярами EC2. Тут зберігатимуться дані ваших програм, а також дані користувачів під час використання застосунків на екземплярах EC2.

#4. Групи безпеки

Для кожного екземпляра EC2 необхідний контрольований безпечний доступ. Це стосується зв’язку з зовнішнім світом (вихідний трафік) та між сервісами AWS у вашій хмарній інфраструктурі (вхідний трафік).

#5. Пари ключів

Для посилення безпеки потрібно створити пари відкритих і закритих ключів, які використовуються для безпечного підключення до екземплярів EC2.

#6. Еластичні IP-адреси

Щоб отримати доступ до вашого нового екземпляра EC2 ззовні або в межах вашої хмарної інфраструктури, потрібно призначити статичну IP-адресу. Після цього віртуальна машина на базі екземпляра EC2 стане доступною.

#7. Групи розміщення

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

#8. Автоматичне масштабування

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

Аналогічно, масштаби можна зменшити при зниженні попиту. Головна мета — уникнути затримок при пікових навантаженнях та економити кошти, коли ресурси не задіяні.

#9. Балансувальники навантаження

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

#10. Віртуальна приватна хмара (VPC)

VPC — це логічно відокремлена віртуальна мережа, яка надає безпечне та ізольоване середовище для екземплярів EC2. Ви можете організувати екземпляри EC2 у різних VPC та визначити правила вхідного та вихідного трафіку між ними.

Зазвичай деякі екземпляри EC2 потрібно зробити приватними, доступними лише через код програми, а інші – публічно доступними в Інтернеті. VPC — ідеальне рішення для цього.

Основні характеристики EC2

Джерело: aws.amazon.com

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

Зазвичай екземпляри EC2 використовуються для розміщення різних застосунків або веб-сайтів у хмарі. Їх можна використовувати для задоволення потреб у пакетній обробці, обробці даних у реальному часі, веб-додатках або мобільних додатках.

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

Найкраще те, що ви можете створювати та видаляти їх за потреби, економлячи кошти на інфраструктурі для розробки та тестування, коли вони не потрібні. Звісно, завершення та відновлення за запитом мають й інші сфери застосування в бізнесі.

Основи хмарних обчислень

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

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

  • Користувачі мають доступ до самообслуговування за запитом у будь-який час. Сервери та сховища доступні без складного процесу закупівлі.
  • Хмарні ресурси доступні з будь-якого місця та будь-якого пристрою (наприклад, ноутбуки, настільні комп’ютери, планшети, мобільні пристрої).
  • Обчислювальні ресурси або інфраструктура можуть спільно використовуватись та динамічно розподілятися згідно зі змінами умов і вимог.
  • Можна швидко збільшити або зменшити обсяг ресурсів відповідно до поточного попиту.
  • Хмарні обчислення зазвичай використовують модель оплати за використання, де користувачі платять лише за ті ресурси, які фактично використали. За споживанням можна слідкувати в реальному часі.

Моделі обслуговування хмарних обчислень

Існує три основні моделі обслуговування хмарних обчислень:

  • Інфраструктура як послуга (IaaS), яка надає віртуалізовані обчислювальні ресурси, такі як сервери, сховище та мережа, як послугу. Створення робочого рішення залежить від вас.
  • Платформа як послуга (PaaS) — це крок далі. Ви отримуєте платформу для розробки, розгортання та керування застосунками як послугу. Не потрібно турбуватися про деталі інфраструктури.
  • Програмне забезпечення як послуга (SaaS) — це найвищий рівень, де ви отримуєте готові програмні додатки, такі як електронна пошта, CRM або інструменти продуктивності, як послугу. Тут ви просто використовуєте те, що є у наявності.
  • Моделі розгортання хмарних обчислень

    Хмарні обчислення також відрізняються способом розгортання та доступу до ресурсів:

  • Публічна хмара — це коли хмарні ресурси надаються стороннім провайдером (наприклад, AWS, Microsoft Azure чи Google Cloud) і доступні через Інтернет.
  • Приватна хмара — це коли організація створює власний центр обробки даних, і інфраструктура доступна лише в межах мережі організації.
  • Гібридна хмара — це поєднання публічних і приватних хмарних ресурсів, об’єднаних для створення єдиної інфраструктури.
  • Багатохмарність — це стратегія, де організація використовує кілька хмарних провайдерів для задоволення конкретних потреб бізнесу. Наприклад, ви можете поєднати Amazon Cloud і SAP Datawarehouse Cloud для створення рішення, яке використовує транзакційні дані з SAP та озеро даних, створене в AWS.
  • Еластичність EC2

    Джерело: aws.amazon.com

    Еластичність є ключовою характеристикою хмарних обчислень. Це здатність хмарної інфраструктури динамічно розподіляти обчислювальні ресурси у відповідь на ваші мінливі потреби. Використовуючи еластичність, можна масштабувати інфраструктуру вверх чи вниз, не вкладаючи кошти у фізичне обладнання.

    Разом з цим йде і масштабованість — здатність системи обробляти зростаючі обсяги навантажень без зниження продуктивності.

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

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

    Автомасштабування — це функція, що використовує можливості масштабування та автоматизує їх на основі попередньо визначених очікувань навантаження. Вона автоматично коригуватиме кількість обчислювальних ресурсів, залежно від попиту. Вам не доведеться відстежувати та налаштовувати ресурси вручну. Масштабування ресурсів може ґрунтуватися на різних показниках, таких як завантаження ЦП, мережевий трафік або час відповіді застосунку.

    І, нарешті, ресурси розподіляються динамічно та в реальному часі. Це дає змогу оптимізувати використання вашої інфраструктури, виділяючи ресурси лише тоді, коли вони потрібні, і звільняючи їх, коли вони не використовуються.

    Динамічний розподіл ресурсів є ключовою особливістю хмарних обчислень, що забезпечує високий рівень ефективності та мінімізує витрати.

    Переваги EC2

    Деякі з основних переваг EC2 вже очевидні, але для повноти картини слід згадати такі моменти.

    Гнучкість

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

    Ефективність витрат

    Гнучкість безпосередньо впливає на можливість економити кошти при створенні інфраструктури. При правильному налаштуванні ваші екземпляри EC2 запускатимуться та завершуватимуть роботу в потрібний час. Це допоможе уникнути непотрібних витрат на резервування ресурсів.

    Висока доступність

    З EC2 ви отримуєте високодоступну інфраструктуру, що мінімізує час простою та забезпечує постійний доступ до програм і служб.

    Надійність

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

    Доступність

    Ви можете мати доступ звідусіль, використовуючи комп’ютери, ноутбуки, планшети чи смартфони. Також є можливість застосовувати будь-які необхідні обмеження доступу.

    Глобальне охоплення

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

    Спритність

    Ви отримуєте гнучку інфраструктуру, що дає змогу швидко реагувати на зміни ринкових умов та впроваджувати інновації.

    Безпека даних

    EC2 надає безпечну інфраструктуру, створену для захисту даних та застосунків від несанкціонованого доступу та кіберзагроз.

    Відповідність

    EC2 відповідає широкому спектру галузевих стандартів і правил, включаючи HIPAA, PCI DSS та GDPR.

    Співпраця

    EC2 надає середовище для спільної роботи, що дозволяє командам працювати разом над проєктами та обмінюватися ресурсами й даними.

    Проблеми з EC2

    Звісно, існують і певні проблеми, про які слід знати, використовуючи EC2.

    #1. Управління вартістю

    Цінова політика AWS часто буває складною, і ціни на EC2 не є винятком. Потрібно ретельно керувати використанням ресурсів, щоб уникнути несподіваних витрат, та використовувати інструменти моніторингу, такі як AWS Cost Explorer або AWS Trusted Advisor.

    #2. Безпека

    Попри безпечну інфраструктуру EC2, ви відповідаєте за безпеку власних застосунків і даних. Слід використовувати надійні паролі, шифрування даних та впроваджувати контроль доступу.

    #3. Відповідність

    З EC2 потрібно переконатися, що використання відповідає галузевим стандартам і правилам. Необхідно регулярно переглядати документацію щодо відповідності AWS і співпрацювати з експертами, щоб переконатися у відповідності вимогам ваших клієнтів.

    #4. Продуктивність

    На продуктивність EC2 можуть впливати різні фактори, наприклад, затримка мережі, дискове введення/виведення або використання ЦП. Систематично контролюйте продуктивність своєї інфраструктури та використовуйте інструменти, як AWS CloudWatch і AWS X-Ray, для виявлення та вирішення проблем продуктивності.

    #5. Доступність

    Хоча EC2 надає високодоступну інфраструктуру, потрібно переконатися, що ваші застосунки також розроблені для високої доступності. Використовуйте сервіси AWS, такі як еластичне балансування навантаження або автоматичне масштабування, для забезпечення постійної доступності ваших сервісів.

    #6. Передача даних

    Звертайте увагу на витрати на передачу даних при використанні EC2, оскільки передача даних між екземплярами EC2 та іншими сервісами AWS може призвести до додаткових витрат. Використовуйте Amazon S3 та Amazon CloudFront для мінімізації витрат на передачу даних.

    #7. Залежність від постачальника

    Усвідомлення потенційної залежності від постачальника при використанні EC2 має бути у списку пріоритетів. Розробляйте застосунки, які можна переносити між хмарними провайдерами, та використовуйте відкриті стандарти й API для забезпечення взаємодії. Це зробить ваше рішення незалежним від хмари та дасть додаткову ринкову перевагу.

    EC2 і майбутні тенденції

    Джерело: aws.amazon.com

    Вас цікавлять майбутні тенденції та інновації, які вплинуть на майбутнє EC2? Ось деякі з них:

    Безсерверні обчислення

    Безсерверні обчислення є новою парадигмою, де розробники запускають код без керування серверами чи інфраструктурою. Функції AWS Lambda або AWS Step є прикладами безсерверних обчислювальних сервісів, які можна створювати на основі EC2.

    Машинне навчання

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

    Граничні обчислення

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

    Контейнеризація

    Контейнеризація — це стратегія упаковки застосунків і сервісів у контейнери, якими легко керувати та розгортати. AWS пропонує ряд сервісів контейнеризації, таких як Amazon ECS і Amazon EKS, що побудовані на основі EC2.

    Квантові обчислення

    Квантові обчислення — це нова парадигма, що використовує квантово-механічні явища для обчислень. AWS надає ряд служб квантових обчислень, таких як Amazon Braket, які можна використовувати разом з EC2.

    Заключні слова

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

    EC2 є основою хмарної інфраструктури, на якій базуються інші сервіси. Тому розуміння EC2 є критично важливим для успіху у світі хмарних обчислень.

    Далі ознайомтеся з найкращими методами безпеки AWS EC2.