В рамках доклада я хотел бы рассмотреть сложности, которые мы испытываем с построением инфраструктуры распределенных систем.
Можно ли строить приложения и не думать о серверах и контейнерах? Насколько это будет дорого?
Ответить на эти вопросы помогут принципы «Бессерверной архитектуры». На простых примерах мы рассмотрим из чего состоит приложение, не зависящее от серверов. А также, рассмотрим возможности, которые предоставляют популярные провайдеры облачных сервисов, для построения таких приложений.
5. Сложности
Настраивая сервера мы должны:
▷Подготовить конфигурацию и
расчитать начальную мощность.
▷Обеспечить маштабируемость.
▷Обеспечить отказоустойчивость.
▷Мониторинг.
▷Логирование.
6. Вопросы при подготовке
окружения...
Сколько серверов?
Насколько хватит начальной мощьности?
Какую OS использовать?
Как разворачивать приложения?
Безопасноть?
Как часто обновлять софт?
Как вовремя узнать если сервер взломан?
Стоимость окружения?
И тд...
14. Функции – это
микропрограмы, которые:
▷Не хранят своего состояния.
▷Выполняются по событию / http
запросу / любому другому тригеру.
▷Обладают быстрым временем
холодного старта.
▷Хранят постоянные данные вне
своего контейнера.
18. Возможности AWS Lambda:
▷Поддержка Java, NodeJS, Python и C#.
▷Подготовка, выполнение и
маштабирование контейнеров
обеспечивается провайдером.
▷API для запуска выполнения функций.
▷Обеспечение дополнительных
возможностей по логированию и
мониторингу.
▷Большой перечень источников
событий.
21. Пример приложения в AWS
инфраструктуре
REST APIWeb Site
HTML, JS,
static content
Amazon
S3
API
Gateway
Template HTML Doc
HTML -> PDF
Download
S3
S3
22. + PHP =
Не хранит состояния:
Request – Response:
Один поток:
PHP
28. Возможности Serverless
Framework:
▷Развертывание вашего приложения в облаке.
▷Позволяет описывать конфигурацию REST API
и других источников событий.
▷Предлагает базовую структуру приложения,
помогая управлять кодом, ресурсами и
событиями.
▷Имеет интеграцию с крупными FaaS
провайдерами.
▷Open source проект с большим комьюнити.
29. Serverless и PHP
Не поддерживает PHP.
Вы можете реализовать NodeJS функцию, которая
вызовет ваше PHP приложение, с помощью заранее
подготовленного PHP интерпретатора.
Предоставлят поддержку PHP.