Основи роботи з Linux. / Робота з AWS. / Безсерверні технології.

Безсерверні технології

Це архітектура, що дозволяє відокремити вихідний код серверного оточення.

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

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

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

Технологія революційна і її використовують.

AAWS представила спеціальні AWS Lambda функції у 2014 році.

AWS Lambda — найбільш опрацьована та широко використовувана FaaS-платформа, заснована на моделі «функція як послуга» або Стійка функція.

Поширення таких систем, як Azure Functions та Google Cloud Functions

Переваги:

Довговічність. Безпека. Продуктивність.

Також надає свободу вибору архітектури та підходу використання цих функцій.

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

Стійкі функції

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

Використання сервісів замість коду клієнта.

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

Функції Лямбда можуть бути інтегровані в багато AWS сервісів.

Обчислення: AWS Lambda

Зберігання даних: Amazon S3, Amazon DynamoDB, Amazon RDS

API: Amazon API Gateway

Програми для інтеграції: Amazon EventBridge, Amazon SNS, Amazon SQS

CloudWatch Events - планувальник завдань

Amazon SNS (simple notification services) - нотифікація по емейлі, смс і т.д.

Інструментальні засоби: AWS Step Functions

Стрімінг та аналіз даних: Kinesis

Авторизація: AWS Cognito

CloudWathc Logs - Логи

start page

Патерни, що підтримуються.

Черги

Шина подій

Видавець/передплатник

Оркестрація (Ланцюжок функцій, Асинхронні API HTTP, Спостереження)

Еволюція хмарних платформ.

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

На щастя, з появою технології віртуалізації (наприклад, Hyper-V) та віртуальних машин виникла концепція інфраструктури як послуги (IaaS).

start page