Що таке AWS та з чим його їдять?
Friday, Feb 21, 2025 | 3 | Friday, Feb 21, 2025
Що таке AWS? (Для початківців)
Ми звикли працювати з пристроями, якими можна безпосередньо керувати: натискати княпочки, запускати код, вмикати світлодіоди чи виводити зображення на екран. Навіть сервер, розташований десь далеко, можна “помацати” хоча б через SSH, або якщо довго до нього йти, то “почухати” молотком.
Але що таке AWS?
AWS — це платформа, яка надає готові хмарні інструменти, такі як бази даних, MQTT-брокери, сховища файлів та хостинг для сайтів. Але як це працює та де все це запускається?
Що таке хмара? Це десь є великий комп’ютер про який вам не треба бентежетися як налаштувати, скільки на ньому пилюки і чи ваш провайдер дасть вам інтернет. Вам просто дають користуватися.
S3 — просте та потужне сховище
Amazon S3 — один із перших і найпотужніших сервісів AWS.
Що він вміє?
- Зберігати файли.
І все…
Це ніби Google Drive, але з розширеним API, гнучкими налаштуваннями доступу, швидкою доставкою файлів через HTTP і високою ефективністю. Наприклад, TikTok використовує подібні рішення для стрімкої передачі відео.
Цей сайт (microdiy.space) також використовує AWS S3. Далі там буде про сервіси, які допомагають йому працювати.
AWS Lambda — сервери не потрібні!
Ви написали скрипт на Python, який щоранку о 9:00 надсилає нагадування: “%Ім’я%, не забудь поснідати”. Як його запускати?
Тримати сервер 24/7? Дорого, треба обслоговувати, безперебійне живлення мати.
Використовувати Raspberry Pi? Потрібне живлення, обслоговувати, трохи дешевше.
Тримати ноутбук увімкненим? Незручно…
А що, якщо повідомлення потрібно надсилати тисячі разів на секунду? Купувати більше серверів? Більше разберях? На ноуті нічого в той час не робити?
AWS Lambda — рішення
Lambda дозволяє запускати ваш код у хмарі без виділеного сервера. Ви платите тільки за виклики та за фактичний час виконання. (Дивись — у AWS Lambda Pricing.)
Lambda можна запускати:
- вручну (тицнюти Run),
- за розкладом (Щось типу CRON),
- при завантаженні файлу в S3 (наприклад, для автоматичного стиснення відео),
- через HTTP-запит (заміна Flask/Django API),
- у відповідь на інші події які відбуваються в вашій хмарі.
EC2 — класичний сервер у хмарі
Якщо вам потрібен сервер для сайту (наприклад, WordPress), AWS EC2 дозволяє створити віртуальну машину з потрібними параметрами (наприклад, 2 ядра, 2 ГБ RAM, 20 ГБ диска, Ubuntu 24.04).
Припустимо, у вас сайт про випічку. У будні відвідуваність низька, а у вихідні висока. Замість того, щоб постійно тримати потужний сервер, AWS дозволяє автоматично масштабувати ресурси залежно від навантаження і тицнувши одну княпку(насправді потикати багацько треба) у вас буде 32 ядра, 64 ГБ RAM і ті самі 20 ГБ диска і та сама повністю система з тим сами WordPress.
Яка вигода? Ви платите тільки за ті ресурси які потрібні вам в той чи інший час.
Можна навіть налаштувати так щоб цим масштабуванням керувало оте саме AWS Lambda
AWS CloudFront — швидка доставка контенту
Ваш сервер у Канаді, а користувачі в Україні, сайт повільніше ніж якщо він був би поруч десь. Рішення?
- Кешування.
- Перенесення сервера ближче.
Рішення від AWS?
- Кешувати на сервері поближче.
CloudFront — глобальна мережа доставки контенту (CDN - Conent Delivery Network), яка кешує файли у різних країнах, роблячи їх доступними швидше.
Цей сайт (microdiy.space) працює саме так: статичні файли зберігаються в S3 і роздаються через CloudFront.