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

Безсерверные технологии

Это архитектура, позволяющяя отделить исходный код от серверного окружения.

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

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

AWS предоставляет сервисы по требованию. Вы получаете столько сервисов или серверов сколько хотите и можете легко расширять структуру.

Технология революционная и многие ее используют.

AWS представила специальные 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