SlideShare a Scribd company logo
1 of 36
Download to read offline
Реализация бессерверного
бэкенда на базе AWS
Василий Сочинский, Upmind
Кирилл Потехин, Upmind
О чём мы будем рассказывать?
• Тенденции в разработке бэкенда
приложений
• Реализация бессерверного бэкенда
мобильного приложения на базе AWS
• Наш опыт перехода от существующего
бэкенда к рассматриваемому решению
• Разработка логики
приложения
• Администрирование
• Отказоустойчивость
• Масштабирование
• Безопасность
• Разработка логики
приложения
Mobile vs Backend
Mobile vs Backend
• Разработка логики
приложения
Идеальный бэкенд
• Удобный для разработки
• Простой в
администрировании
• Быстро масштабируемый
• Надёжный и безопасный
• Дешёвый
Дата-центр AWS EC2 Контейнеры AWS Lambda
Немного истории
Функции Данные
Что такое приложение?
События инициируют

взаимодействие
Social blogging app
Персонализированная лента постов
Создание постов с медиа-контентом
Аналитика и рекомендательная
система
Персонализированная лента постов
• Авторизовать пользователя
• Достать из БД рекомендованные ему
посты
• Вернуть результат клиенту
AWS Cognito
• Авторизация пользователей
• Поддержка гостевого доступа
• Синхронизация данных между
устройствами
AWS Lambda
• Требуется только загрузить код функции
• HTTP-запросы, таймеры и другие виды
триггеров
• Поддержка Java, Javascript и Python
• Администрирование железа и ПО осуществляет
AWS
• Автоматическое масштабирование
• Оплата только за фактическую работу функций
AWS DynamoDB
• Облачная NoSQL база данных
• Поддержка триггеров
• Взаимодействие осуществляется
через SDK
• Оплата за количество операций в
секунду и объём данных
Архитектура взаимодействия
{Получение доступа к AWS
{
{
Создание клиента

для работы с данными
Получение и запись

данных пользователя
{
{
Сохранение
пользователя

в DynamoDB
Получение пользователя

из DynamoDB
{Права на доступ

к DynamoDB
{Права на доступ

к Соgnito
{Права на доступ

к Lambda
Social blogging app
Персонализированная лента постов
Создание постов с медиа-контентом
Аналитика и рекомендательная
система
AWS API Gateway
• Кэширование результата запросов
• Генерация SDK для клиентов (iOS, Android,
Javascript)
• Организация версионности и окружений API
• Интеграция с CDN
• Поддержка кастомной аутентификации
Архитектура взаимодействия
Social blogging app
Персонализированная лента постов
Создание постов с медиа-контентом
Аналитика и рекомендательная
система
Работа с медиа-контентом
• Возможность загружать медиа в
посты
• Модерация и обработка загружаемых
файлов
• Скорость загрузки и надёжность
хранения данных
AWS S3
• Надёжность хранения данных на
уровне 99,999999999%
• Триггеры на различные типы
событий с файлами
• Несколько классов хранилищ
данных
Архитектура взаимодействия
{Получение доступа к S3
{
{
Загрузка файла в S3
Отслеживание прогресса

загрузки/скачивания файла
{Скачивание файла из S3
Social blogging app
Персонализированная лента постов
Создание постов с медиа-контентом
Аналитика и рекомендательная
система
Аналитика / рекомендации
• Отправка эвентов о действиях
пользователя
• Большая пропускная способность
• Обработка эвентов по заданным
правилам
• Отправка пушей/писем клиенту
AWS Kinesis
• Приём и обработка потоковых
данных
• Высокая пропускная способность
(десятки тысяч записей в секунду)
• Оплата за выделенное количество
шардов
AWS SNS
• Пуш-уведомления, email, вебхуки
• Гибкий таргетинг
• Встроенная аналитика о доставке
сообщений
Архитектура взаимодействия
Social blogging app
Персонализированная лента постов
Создание постов с медиа-контентом
Аналитика и рекомендательная
система
Цели достигнуты!
• Удобный для разработки
• Простой в администрировании
• Быстро масштабируемый
• Надёжный и безопасный
• Дешёвый
Цели достигнуты!
• Надёжный и безопасный
• Быстро масштабируемый
• Гибкий
• Простой в администрировании

“No server is easier to manage than no server”
• Оплата только за реальной использование
• Низкий TTM
Немного о мониторинге и devops
• AWS CloudWatch — логи и мониторинг
• Изменение пропускной способности
DynamoDB
• Serverless фреймворк — организация
процесса разработки
• AWS CloudFormation — создание
инфраструктуры с помощью
шаблонов
Опыт Upmind
• Сделали полностью бессерверный бэкенд
• Отказались от системных
администраторов
• Сэкономили на инфраструктуре ~ 60%
• Увеличилась скорость разработки
• Для некоторых задач использование
серверов всё равно эффективней
Авторизация
AWS Cognito
Бизнес-логика
AWS Lambda
Аналитика
AWS Kinesis +

сторонние сервисы
Медиа-контент
AWS S3
Пуш-уведомления
AWS SNS
Хранение данных
AWS DynamoDB
AWS API Gateway
https://www.linkedin.com/in/vsochinsky

https://www.linkedin.com/in/kpotehin
Спасибо за внимание!

More Related Content

What's hot

LinuxONE + Cloud, IBM SolutionsConnect 2015
LinuxONE + Cloud, IBM SolutionsConnect 2015LinuxONE + Cloud, IBM SolutionsConnect 2015
LinuxONE + Cloud, IBM SolutionsConnect 2015Pavel Gelvan
 
NoBigData - потоковая система аналитики clientside производительности, Сергей...
NoBigData - потоковая система аналитики clientside производительности, Сергей...NoBigData - потоковая система аналитики clientside производительности, Сергей...
NoBigData - потоковая система аналитики clientside производительности, Сергей...Ontico
 
Информационная безопасность облака как конкурентное преимущество сервис-прова...
Информационная безопасность облака как конкурентное преимущество сервис-прова...Информационная безопасность облака как конкурентное преимущество сервис-прова...
Информационная безопасность облака как конкурентное преимущество сервис-прова...Denis Bezkorovayny
 
CodeFest 2010. Гаджибалаев Н. — сlass Server::Cloud < Server::Hardware // ...
CodeFest 2010. Гаджибалаев Н. — сlass Server::Cloud < Server::Hardware // ...CodeFest 2010. Гаджибалаев Н. — сlass Server::Cloud < Server::Hardware // ...
CodeFest 2010. Гаджибалаев Н. — сlass Server::Cloud < Server::Hardware // ...CodeFest
 
Архитектура и технологии Pryaniky.com
Архитектура и технологии Pryaniky.comАрхитектура и технологии Pryaniky.com
Архитектура и технологии Pryaniky.comPryaniky.com
 
Pryaniky - использование облаков в корпоративной среде
Pryaniky - использование облаков в корпоративной средеPryaniky - использование облаков в корпоративной среде
Pryaniky - использование облаков в корпоративной средеPryaniky.com
 
Cache administration tool report - rus-1
Cache administration tool   report - rus-1Cache administration tool   report - rus-1
Cache administration tool report - rus-1ivanshmidt
 
Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не р...
Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не р...Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не р...
Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не р...Ontico
 
AZadonsky New Cloud Services
AZadonsky New Cloud ServicesAZadonsky New Cloud Services
AZadonsky New Cloud ServicesVasily Demin
 
Обзор Red Hat Directory Server и RHEL IdM
Обзор Red Hat Directory Server и RHEL IdMОбзор Red Hat Directory Server и RHEL IdM
Обзор Red Hat Directory Server и RHEL IdMAndrey Markelov
 
Мастер-класс "Микросервисы: удобно, надежно, серебрянопульно" / Евгений Павло...
Мастер-класс "Микросервисы: удобно, надежно, серебрянопульно" / Евгений Павло...Мастер-класс "Микросервисы: удобно, надежно, серебрянопульно" / Евгений Павло...
Мастер-класс "Микросервисы: удобно, надежно, серебрянопульно" / Евгений Павло...Ontico
 
Построение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows AzureПостроение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows AzureAlexander Feschenko
 
DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...
DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...
DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...it-people
 
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...Ontico
 
Архитектура и технологии Pryaniky.com
Архитектура и технологии Pryaniky.comАрхитектура и технологии Pryaniky.com
Архитектура и технологии Pryaniky.comAlexey Lyubko
 
Миграция БД - практический_подход с инструментами Embarcadero
Миграция БД - практический_подход с инструментами EmbarcaderoМиграция БД - практический_подход с инструментами Embarcadero
Миграция БД - практический_подход с инструментами EmbarcaderoAndrew Sovtsov
 
Open jdk and eclipse plugin java, oss on windows azure - 15.10.13
Open jdk and eclipse plugin   java, oss on windows azure - 15.10.13Open jdk and eclipse plugin   java, oss on windows azure - 15.10.13
Open jdk and eclipse plugin java, oss on windows azure - 15.10.13Microsoft
 

What's hot (20)

Что нового в 11.0?
Что нового в 11.0?Что нового в 11.0?
Что нового в 11.0?
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
LinuxONE + Cloud, IBM SolutionsConnect 2015
LinuxONE + Cloud, IBM SolutionsConnect 2015LinuxONE + Cloud, IBM SolutionsConnect 2015
LinuxONE + Cloud, IBM SolutionsConnect 2015
 
NoBigData - потоковая система аналитики clientside производительности, Сергей...
NoBigData - потоковая система аналитики clientside производительности, Сергей...NoBigData - потоковая система аналитики clientside производительности, Сергей...
NoBigData - потоковая система аналитики clientside производительности, Сергей...
 
Информационная безопасность облака как конкурентное преимущество сервис-прова...
Информационная безопасность облака как конкурентное преимущество сервис-прова...Информационная безопасность облака как конкурентное преимущество сервис-прова...
Информационная безопасность облака как конкурентное преимущество сервис-прова...
 
Веб-кластер
Веб-кластерВеб-кластер
Веб-кластер
 
CodeFest 2010. Гаджибалаев Н. — сlass Server::Cloud < Server::Hardware // ...
CodeFest 2010. Гаджибалаев Н. — сlass Server::Cloud < Server::Hardware // ...CodeFest 2010. Гаджибалаев Н. — сlass Server::Cloud < Server::Hardware // ...
CodeFest 2010. Гаджибалаев Н. — сlass Server::Cloud < Server::Hardware // ...
 
Архитектура и технологии Pryaniky.com
Архитектура и технологии Pryaniky.comАрхитектура и технологии Pryaniky.com
Архитектура и технологии Pryaniky.com
 
Pryaniky - использование облаков в корпоративной среде
Pryaniky - использование облаков в корпоративной средеPryaniky - использование облаков в корпоративной среде
Pryaniky - использование облаков в корпоративной среде
 
Cache administration tool report - rus-1
Cache administration tool   report - rus-1Cache administration tool   report - rus-1
Cache administration tool report - rus-1
 
Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не р...
Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не р...Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не р...
Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не р...
 
AZadonsky New Cloud Services
AZadonsky New Cloud ServicesAZadonsky New Cloud Services
AZadonsky New Cloud Services
 
Обзор Red Hat Directory Server и RHEL IdM
Обзор Red Hat Directory Server и RHEL IdMОбзор Red Hat Directory Server и RHEL IdM
Обзор Red Hat Directory Server и RHEL IdM
 
Мастер-класс "Микросервисы: удобно, надежно, серебрянопульно" / Евгений Павло...
Мастер-класс "Микросервисы: удобно, надежно, серебрянопульно" / Евгений Павло...Мастер-класс "Микросервисы: удобно, надежно, серебрянопульно" / Евгений Павло...
Мастер-класс "Микросервисы: удобно, надежно, серебрянопульно" / Евгений Павло...
 
Построение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows AzureПостроение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows Azure
 
DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...
DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...
DUMP-2013 Serverside - Архитектура Битрикс24 в Amazon Web Services – изнутри ...
 
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
 
Архитектура и технологии Pryaniky.com
Архитектура и технологии Pryaniky.comАрхитектура и технологии Pryaniky.com
Архитектура и технологии Pryaniky.com
 
Миграция БД - практический_подход с инструментами Embarcadero
Миграция БД - практический_подход с инструментами EmbarcaderoМиграция БД - практический_подход с инструментами Embarcadero
Миграция БД - практический_подход с инструментами Embarcadero
 
Open jdk and eclipse plugin java, oss on windows azure - 15.10.13
Open jdk and eclipse plugin   java, oss on windows azure - 15.10.13Open jdk and eclipse plugin   java, oss on windows azure - 15.10.13
Open jdk and eclipse plugin java, oss on windows azure - 15.10.13
 

Similar to Бессерверный бэкенд на базе AWS (РИТ2016)

Облачная стратегия Cisco
Облачная стратегия CiscoОблачная стратегия Cisco
Облачная стратегия CiscoCisco Russia
 
Roman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureRoman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureAndrew Mayorov
 
Применение облачных технологий при реализации медиа-проектов
Применение облачных технологий при реализации медиа-проектовПрименение облачных технологий при реализации медиа-проектов
Применение облачных технологий при реализации медиа-проектовAndrew Gubskiy
 
Презентация Cisco Tetration Analytics в России
Презентация Cisco Tetration Analytics в России Презентация Cisco Tetration Analytics в России
Презентация Cisco Tetration Analytics в России Cisco Russia
 
Платформа Docsvision
Платформа DocsvisionПлатформа Docsvision
Платформа DocsvisionDocsvision
 
Елена Махрова. Корпоративный сайт. Взгляд разработчика.
Елена Махрова. Корпоративный сайт. Взгляд разработчика.Елена Махрова. Корпоративный сайт. Взгляд разработчика.
Елена Махрова. Корпоративный сайт. Взгляд разработчика.aquavivaspb
 
презентация рамдок
презентация рамдокпрезентация рамдок
презентация рамдокRAMEC
 
Демонстрация возможностей по автоматизации ЦОД
Демонстрация возможностей по автоматизации ЦОДДемонстрация возможностей по автоматизации ЦОД
Демонстрация возможностей по автоматизации ЦОДCisco Russia
 
ProtoSecurity - сервисы для безопасности и отказоустойчивости веб-приложений
ProtoSecurity - сервисы для безопасности и отказоустойчивости веб-приложенийProtoSecurity - сервисы для безопасности и отказоустойчивости веб-приложений
ProtoSecurity - сервисы для безопасности и отказоустойчивости веб-приложенийDenis Bezkorovayny
 
Услуги информационной безопасности
Услуги информационной безопасностиУслуги информационной безопасности
Услуги информационной безопасностиCTI2014
 
Варианты использования AWS
Варианты использования AWSВарианты использования AWS
Варианты использования AWSAndrey Zaychikov
 
(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрик...
(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрик...(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрик...
(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрик...ForkConf
 
Облачные сервисы Майкрософт для мобильных приложений. Application Insights и ...
Облачные сервисы Майкрософт для мобильных приложений. Application Insights и ...Облачные сервисы Майкрософт для мобильных приложений. Application Insights и ...
Облачные сервисы Майкрософт для мобильных приложений. Application Insights и ...Microsoft
 
Интеграция сайта с облачным хранилищем (Александр Демидов)
Интеграция сайта с облачным хранилищем (Александр Демидов)Интеграция сайта с облачным хранилищем (Александр Демидов)
Интеграция сайта с облачным хранилищем (Александр Демидов)Ontico
 
Облако Microsoft Azure - введение в основные сервисы для разработки и инфраст...
Облако Microsoft Azure - введение в основные сервисы для разработки и инфраст...Облако Microsoft Azure - введение в основные сервисы для разработки и инфраст...
Облако Microsoft Azure - введение в основные сервисы для разработки и инфраст...Microsoft
 
Современные технологии сайтостроения для решения бизнес-задач
Современные технологии сайтостроения для решения бизнес-задачСовременные технологии сайтостроения для решения бизнес-задач
Современные технологии сайтостроения для решения бизнес-задачCIT TROYA
 
Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»
Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»
Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»SpbDotNet Community
 
новые технологии реализованные на официальном сайте зсо
новые технологии реализованные на официальном сайте зсоновые технологии реализованные на официальном сайте зсо
новые технологии реализованные на официальном сайте зсоCIT TROYA
 
Средства контроля использования Интернета Cisco IronPort Web Usage Controls
Средства контроля использования Интернета Cisco IronPort Web Usage ControlsСредства контроля использования Интернета Cisco IronPort Web Usage Controls
Средства контроля использования Интернета Cisco IronPort Web Usage ControlsCisco Russia
 

Similar to Бессерверный бэкенд на базе AWS (РИТ2016) (20)

Облачная стратегия Cisco
Облачная стратегия CiscoОблачная стратегия Cisco
Облачная стратегия Cisco
 
Roman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureRoman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows Azure
 
Применение облачных технологий при реализации медиа-проектов
Применение облачных технологий при реализации медиа-проектовПрименение облачных технологий при реализации медиа-проектов
Применение облачных технологий при реализации медиа-проектов
 
Презентация Cisco Tetration Analytics в России
Презентация Cisco Tetration Analytics в России Презентация Cisco Tetration Analytics в России
Презентация Cisco Tetration Analytics в России
 
Платформа Docsvision
Платформа DocsvisionПлатформа Docsvision
Платформа Docsvision
 
Елена Махрова. Корпоративный сайт. Взгляд разработчика.
Елена Махрова. Корпоративный сайт. Взгляд разработчика.Елена Махрова. Корпоративный сайт. Взгляд разработчика.
Елена Махрова. Корпоративный сайт. Взгляд разработчика.
 
презентация рамдок
презентация рамдокпрезентация рамдок
презентация рамдок
 
Демонстрация возможностей по автоматизации ЦОД
Демонстрация возможностей по автоматизации ЦОДДемонстрация возможностей по автоматизации ЦОД
Демонстрация возможностей по автоматизации ЦОД
 
иб Cti 2014
иб Cti 2014иб Cti 2014
иб Cti 2014
 
ProtoSecurity - сервисы для безопасности и отказоустойчивости веб-приложений
ProtoSecurity - сервисы для безопасности и отказоустойчивости веб-приложенийProtoSecurity - сервисы для безопасности и отказоустойчивости веб-приложений
ProtoSecurity - сервисы для безопасности и отказоустойчивости веб-приложений
 
Услуги информационной безопасности
Услуги информационной безопасностиУслуги информационной безопасности
Услуги информационной безопасности
 
Варианты использования AWS
Варианты использования AWSВарианты использования AWS
Варианты использования AWS
 
(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрик...
(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрик...(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрик...
(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрик...
 
Облачные сервисы Майкрософт для мобильных приложений. Application Insights и ...
Облачные сервисы Майкрософт для мобильных приложений. Application Insights и ...Облачные сервисы Майкрософт для мобильных приложений. Application Insights и ...
Облачные сервисы Майкрософт для мобильных приложений. Application Insights и ...
 
Интеграция сайта с облачным хранилищем (Александр Демидов)
Интеграция сайта с облачным хранилищем (Александр Демидов)Интеграция сайта с облачным хранилищем (Александр Демидов)
Интеграция сайта с облачным хранилищем (Александр Демидов)
 
Облако Microsoft Azure - введение в основные сервисы для разработки и инфраст...
Облако Microsoft Azure - введение в основные сервисы для разработки и инфраст...Облако Microsoft Azure - введение в основные сервисы для разработки и инфраст...
Облако Microsoft Azure - введение в основные сервисы для разработки и инфраст...
 
Современные технологии сайтостроения для решения бизнес-задач
Современные технологии сайтостроения для решения бизнес-задачСовременные технологии сайтостроения для решения бизнес-задач
Современные технологии сайтостроения для решения бизнес-задач
 
Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»
Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»
Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»
 
новые технологии реализованные на официальном сайте зсо
новые технологии реализованные на официальном сайте зсоновые технологии реализованные на официальном сайте зсо
новые технологии реализованные на официальном сайте зсо
 
Средства контроля использования Интернета Cisco IronPort Web Usage Controls
Средства контроля использования Интернета Cisco IronPort Web Usage ControlsСредства контроля использования Интернета Cisco IronPort Web Usage Controls
Средства контроля использования Интернета Cisco IronPort Web Usage Controls
 

Бессерверный бэкенд на базе AWS (РИТ2016)