Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Serverless под капотом DOTNEXT ПИТЕР | 16 МАЯ 2019
Slide 2
Slide 2 text
No content
Slide 3
Slide 3 text
No content
Slide 4
Slide 4 text
План
Slide 5
Slide 5 text
Облачная Архитектура
Slide 6
Slide 6 text
No content
Slide 7
Slide 7 text
No content
Slide 8
Slide 8 text
Характеристики Serverless $
Slide 9
Slide 9 text
Function-as-a-Service
Slide 10
Slide 10 text
Возможные сценарии
Slide 11
Slide 11 text
Распределение нагрузки в пуле ресурсов
Slide 12
Slide 12 text
Распределение нагрузки в пуле ресурсов
Slide 13
Slide 13 text
Распределение нагрузки в пуле ресурсов
Slide 14
Slide 14 text
Распределение нагрузки в пуле ресурсов
Slide 15
Slide 15 text
Распределение нагрузки в пуле ресурсов
Slide 16
Slide 16 text
Распределение нагрузки в пуле ресурсов
Slide 17
Slide 17 text
Распределение нагрузки в пуле ресурсов
Slide 18
Slide 18 text
Сервер, VM, контейнер, процесс, ...
Slide 19
Slide 19 text
Сервер, VM, контейнер, процесс, ... VM VM
Slide 20
Slide 20 text
Сервер, VM, контейнер, процесс, ... VM VM
Slide 21
Slide 21 text
Сервер, VM, контейнер, процесс, ... VM VM
Slide 22
Slide 22 text
Сервер, VM, контейнер, процесс, ... VM VM
Slide 23
Slide 23 text
Ценность для Клиента Использование ресурсов
Slide 24
Slide 24 text
Компромисс
Slide 25
Slide 25 text
Azure Functions 12
Slide 26
Slide 26 text
Наследие App Service
Slide 27
Slide 27 text
Наследие App Service
Slide 28
Slide 28 text
App Service: масштабируемость
Slide 29
Slide 29 text
App Service: масштабируемость
Slide 30
Slide 30 text
Function App Consumption Plan
Slide 31
Slide 31 text
.NET в Azure Functions (in-proc)
Slide 32
Slide 32 text
.NET в Azure Functions (out-of-proc)
Slide 33
Slide 33 text
Уровни изоляции
Slide 34
Slide 34 text
Одновременные выполнения
Slide 35
Slide 35 text
Одновременные выполнения
Slide 36
Slide 36 text
Одновременные выполнения
Slide 37
Slide 37 text
Одновременные выполнения
Slide 38
Slide 38 text
AWS Lambda 22
Slide 39
Slide 39 text
AWS Lambda
Slide 40
Slide 40 text
AWS Lambda
Slide 41
Slide 41 text
AWS Lambda
Slide 42
Slide 42 text
Интеграция с AWS Lambda
Slide 43
Slide 43 text
.NET в AWS Lambda
Slide 44
Slide 44 text
AWS: одновременные выполнения
Slide 45
Slide 45 text
Уровни изоляции
Slide 46
Slide 46 text
Память и CPU
Slide 47
Slide 47 text
AWS: одновременные выполнения
Slide 48
Slide 48 text
AWS: одновременные выполнения
Slide 49
Slide 49 text
AWS: одновременные выполнения
Slide 50
Slide 50 text
• • • • AWS Firecracker
Slide 51
Slide 51 text
Уровни изоляции с Firecracker
Slide 52
Slide 52 text
«Наивная» компоновка функций
Slide 53
Slide 53 text
Cтатистическое мультиплексирование
Slide 54
Slide 54 text
Google Cloud Functions & Cloudflare Workers 31
Slide 55
Slide 55 text
Google Cloud Functions
Slide 56
Slide 56 text
Cloudflare Workers
Slide 57
Slide 57 text
На практике 34
Slide 58
Slide 58 text
Идеальная масштабируемость: Пропускная способность
Slide 59
Slide 59 text
Идеальная масштабируемость: Задержка
Slide 60
Slide 60 text
Холодный Старт 36
Slide 61
Slide 61 text
Пример: Загрузка карты
Slide 62
Slide 62 text
Пример: Загрузка карты
Slide 63
Slide 63 text
Холодный Старт
Slide 64
Slide 64 text
Горячий старт
Slide 65
Slide 65 text
Холодный старт: сравнение
Slide 66
Slide 66 text
Зависимости увеличивают время старта 35 МБ 5 МБ 0 МБ
Slide 67
Slide 67 text
Период без запросов, приводящий к Холодному старту
Slide 68
Slide 68 text
Борьба с холодным стартом: JIT оптимизации
Slide 69
Slide 69 text
Борьба с холодным стартом: Azure [FunctionName("Warmer")] public static void WarmUp( [TimerTrigger("0 */15 * * * *")] TimerInfo timer) { // Пусто }
Slide 70
Slide 70 text
AWS: Прогрев одного обработчика
Slide 71
Slide 71 text
AWS: Прогрев нескольких обработчиков
Slide 72
Slide 72 text
Serverless ETL: Асинхронная обработка данных 42
Slide 73
Slide 73 text
Типичный сценарий
Slide 74
Slide 74 text
Эксперимент с очередями
Slide 75
Slide 75 text
AWS Lambda и 100 тыс. SQS сообщений
Slide 76
Slide 76 text
GCF и 100 тыс. Pub/Sub сообщений
Slide 77
Slide 77 text
Azure Functions и 100 тыс. Storage Queue сообщений
Slide 78
Slide 78 text
Требовательная к CPU нагрузка на AWS Lambda
Slide 79
Slide 79 text
Требовательная к CPU нагрузка на GCF
Slide 80
Slide 80 text
Требовательная к CPU нагрузка на Azure Functions
Slide 81
Slide 81 text
AWS скорость обработки зависит от резевра RAM
Slide 82
Slide 82 text
Serverless HTTP: Обработка трафика а-ля StackOverflow 47
Slide 83
Slide 83 text
Подражаем StackOverflow
Slide 84
Slide 84 text
Запросы/сек во время теста
Slide 85
Slide 85 text
0 200 400 600 800 1000 1200 МИЛЛИСЕКУНДЫ МИНУТЫ Azure Functions: процентили
Slide 86
Slide 86 text
0 200 400 600 800 1000 1200 МИЛЛИСЕКУНДЫ МИНУТЫ Azure Functions: процентили
Slide 87
Slide 87 text
Azure Functions: кол-во VM
Slide 88
Slide 88 text
Google Cloud Functions: процентили
Slide 89
Slide 89 text
Google Cloud Functions: процентили
Slide 90
Slide 90 text
0 2 4 6 8 1 1 Google Cloud Functions: обработчики
Slide 91
Slide 91 text
0 200 400 600 800 1000 1200 МИЛЛИСЕКУНДЫ МИНУТЫ AWS Lambda: процентили
Slide 92
Slide 92 text
0 200 400 600 800 1000 1200 МИЛЛИСЕКУНДЫ МИНУТЫ AWS Lambda: процентили
Slide 93
Slide 93 text
AWS Lambda: обработчики
Slide 94
Slide 94 text
Система: взаимодествие с не-serverless компонентами 52
Slide 95
Slide 95 text
Типичное приложение
Slide 96
Slide 96 text
Веб Сервисы
Slide 97
Slide 97 text
Базы Данных
Slide 98
Slide 98 text
Serverless масштабирование
Slide 99
Slide 99 text
Serverless масштабирование
Slide 100
Slide 100 text
AWS: Максимальное количество параллельных выполнений
Slide 101
Slide 101 text
Azure: Максимальное количество VM
Slide 102
Slide 102 text
Повторное использование HTTP соединений private static HttpClient Client = new HttpClient(); [FunctionName("MyFunc")] public static async Task Run([QueueTrigger("q")] string message) { var response = await Client.GetAsync("https://mikhail.io"); // ... the rest goes here }
Slide 103
Slide 103 text
Какие задачи предстоит решить? 56
Slide 104
Slide 104 text
Холодные старты • • • •
Slide 105
Slide 105 text
• • • • Эффективная «упаковка»
Slide 106
Slide 106 text
Обработка Данных • • • •
Slide 107
Slide 107 text
No content