2. О чём мы будем рассказывать?
• Тенденции в разработке бэкенда приложений
• Реализация бессерверного бэкенда
мобильного приложения на базе AWS
• Наш опыт перехода от существующего бэкенда
к рассматриваемому решению
3. • Разработка логики
приложения
• Администрирование
• Отказоустойчивость
• Масштабирование
• Безопасность
• Разработка логики
приложения
Mobile vs Backend
10. AWS Cognito
• Авторизация пользователей
• Поддержка гостевого доступа
• Синхронизация данных между
устройствами
11. AWS Lambda
• Требуется только загрузить код функции
• HTTP-запросы, таймеры и другие виды
триггеров
• Администрирование железа и ПО
осуществляет AWS
• Автоматическое масштабирование
• Оплата только за фактическую работу
функций
12. AWS DynamoDB
• Облачная NoSQL база данных
• Поддержка триггеров
• Взаимодействие осуществляется
через SDK
• Оплата за количество операций в
секунду и объём данных
18. AWS API Gateway
• Кэширование результата запросов
• Генерация SDK для клиентов (iOS, Android,
Javascript)
• Организация версионности и окружений API
• Интеграция с CDN
• Поддержка кастомной аутентификации
21. Работа с медиа-контентом
• Возможность загружать медиа в посты
• Модерация и обработка загружаемых
файлов
• Скорость загрузки и надёжность
хранения данных
22. AWS S3
• Надёжность хранения данных на уровне
99,999999999%
• Триггеры на различные типы событий с
файлами
• Несколько классов хранилищ данных
26. Аналитика / рекомендации
• Отправка эвентов о действиях
пользователя
• Большая пропускная способность
• Обработка эвентов по заданным
правилам
• Отправка пушей/писем клиенту
27. AWS Kinesis
• Приём и обработка потоковых данных
• Высокая пропускная способность
(десятки тысяч записей в секунду)
• Оплата за выделенное количество
шардов
31. Цели достигнуты!
• Удобный для разработки
• Простой в администрировании
• Быстро масштабируемый
• Надёжный и безопасный
• Дешёвый
32. Цели достигнуты!
• Надёжный и безопасный
• Быстро масштабируемый
• Гибкий
• Простой в администрировании
“No server is easier to manage than no server”
• Оплата только за реальной использование
• Низкий TTM
33. Немного о мониторинге и devops
• AWS CloudWatch — логи и мониторинг
• Изменение пропускной способности
DynamoDB
• Serverless фреймворк — организация
процесса разработки
• AWS CloudFormation — создание
инфраструктуры с помощью шаблонов
34. Опыт Upmind
• Сделали полностью бессерверный бэкенд
• Отказались от системных администраторов
• Сэкономили на инфраструктуре ~ 60%
• Увеличилась скорость разработки
• Для некоторых задач использование
серверов всё равно эффективней