SlideShare a Scribd company logo
1 of 23
Project Pegasus
IoT в небе, на земле и со скоростью звука
Белоцерковский
Александр
Tech Evangelist,
Cloud & Open Source
Microsoft Russia
План доклада
Что такое Project Pegasus и в чем суть?
Архитектура ядра системы + модель акторов
Результаты использования модели акторов в сложных условиях
Планы
Project Pegasus I
концепция и цели на раз-два-три
Раз – готовим воздушный шар, оборачиваем вокруг него много
технологий и отправляем в near space (высота - как получится на
максимуме, получилось 33.76 км.)
Два – кидаем клич внутри Microsoft и ищем тех, кто готов потратить
личное время на воздушный шар, которого он не увидит
Три – проверяем технологии и инструменты на прочность в необычных
условиях
Project Pegasus II
концепция и цели на раз-два-три-четыре
Раз – готовим модуль для North American Eagle, оборачиваем его в
современный технологический ландшафт и отправляем ехать со
скоростью 769 км/ч.
Два – кидаем клич внутри Microsoft и ищем тех, кто готов потратить
личное время на воздушный шар, которого он не увидит
Три – проверяем технологии и инструменты на прочность в необычных
условиях (2048 измерений/секунду с каждого из 28 сенсоров)
Четыре – используем то же ядро, что в Pegasus I
Project Pegasus
общая архитектура
Piraeus
Flight Operations
Gateway
Channels
Protocols
Protocol Adapters
Authentication
Orleans
Redis Storage Provider
System Graphs – Virtual Actors
CAPL Access Control
Service
Event HubsStream Analytics
User Message
Web service
SMS
Web service
Twilio
Web Purify
HTTP/REST POST
User Experience
Launch
Field
Gateway
Mobile
Field
Gateway
GPSGPS
Media Services
WebSocket
CoAP
Telemetry
UserMessages
WebSocket
CoAP
Telemetry
Mission ControlRemote Intelligence
Multi-Channel Redundant
WebSocket
CoAP
Telemetry
Commands
WebSocket
CoAP
Telemetry
Commands
Azure Queue
Web Job
Web Job
WebSocket
CoAP
Telemetry
UserMessages
Commands
WebSocket
CoAP
Telemetry
UserMessages
Commands
Pegasus II-UAV
High Altitude Science
100K ft
REST
Management
API
Security
Access
Control
Iridium SatellitesIridium SatellitesIridium Satellites
Satellite
Communications
SatComm Service
Send Grid
Service
Azure Blob
Storage
Piraeus
Жизненный цикл запроса
Resource
Получает информацию от ESA и
отправляет по Subscriptions
Subscription
Получает информацию от Resource. Если
у Subscription есть Observer, то он
уведомляется, иначе Subscription
открывает канал к ESA и отправляет
сообщение напрямую туда.
Subscription Observer
Привязан к инстансу адаптера
протокола в канале ESA. Получает
сигнал от Subscription и делает push в
канал ESA. Если нужно, в процессе
происходит конвертация протокола.
Симметричные коммуникации – все актёры
могут общаться по одному каналу в две
стороны в одном «контексте»
Gateway Orleans
Resource
Subscription
Subscription
Observer
Subscription
Protocol
Adapter
Protocol
Adapter
ESA
ESA
Active Channel
Bidirectional
Passive Channel
One-Way Storage Blob
Service Bus
Event Hubs
DocumentDB
REST Web Service
Storage queue
Piraeus
Архитектура и имплементация
Piraeus
Gateway – Web Role
Channel
Protocol
ProtocolAdapter
Orleans-Worker Role
Topic
Subscription Subscription
Subscription Subscription
Redis Cache
Web-Role Management API
Storage Blob
Service Bus
Event Hubs
DocumentDB
REST Web Service
Storage queue
Active
PowerShell Commands
STS
TRUST
Authentication
Access Control
Passive
Модель акторов
Project Orleans
Microsoft Azure
CAPL security
Архитектура - модель акторов
Каждый актор – stateful
Когда актор получает сообщение, он может:
• Отправить сообщение другому актору
• Создать нового актора (активировать)
• Изменить собственное состояние
Нет гарантии порядка в доставке сообщений
Масса имплементаций – Erlang, Akka, .NET…
Фреймворк - Project Orleans
.NET имплементация модели акторов
Разработка Microsoft Research
Цель:
Дать разработчикам простую для
масштабирования систему
Вычислительные «юниты» - Grains & Silos
Хостинг - Microsoft Azure
Cloud Services – stateless PaaS
Web – FE
Worker – BE
Cloud Services => Service Fabric
Безопасность
Тоже актеры
Claims Authorization Policy Language (CAPL)
Собственная имплементация
Расширяемый, сериализуемый, на основе логики и
claims, язык «разметки» безопасности
OSS http://www.github.com/skunklab/capl
Каждый объект - Orleans Actor/Grain
Время жизни – микросекунды
Round Trip
Latency
(avg 12-16
ms)
Piraeus
Цифры
Azure –
VM – A0
WebApp
Premium
Live – 15 000
Data – 2048/sec
* 28 sensors
0
2
4
6
8
10
12
14
16
18
0 5 10 15 20 25 30
AvgLatency(ms)
# Clients
Piraeus Perf
1000-ms 500-ms 100-ms
0
2
4
6
8
10
12
14
16
18
0 5 10 15 20 25
StDev(ms)
# Clients
Piraeus Latency StDev
1000-ms 500-ms 100-ms
Дальше
Планы
Piraeus будет выложен в Open Source (скорректированная
ориентировка – конец апреля)
Запуск в августе – 3+ воздушных шара, отправляемся 21 августа на
высоту 30+ км. снимать затмение. Stay tuned 
Дневник проекта - https://pegasusmission.com
Orleans: http://aka.ms/orleans
Видео - Actor Model with Hewitt, Meijer and Szyperski bit.ly/1nOAtW9
@ahriman_ru
Вопросы?
ahriman42
albe@microsoft.com
Белоцерковский
Александр
Tech Evangelist,
Cloud & Open Source
Microsoft Russia

More Related Content

What's hot

Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...Ontico
 
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON
 
Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"Fwdays
 
Микросервисы в .NET Core
Микросервисы в .NET CoreМикросервисы в .NET Core
Микросервисы в .NET CoreAndrew Gubskiy
 
Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...
Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...
Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...AvitoTech
 
Пакетный менеджер CrossPM: упрощаем сложные зависимости | Александр Ковалев
Пакетный менеджер CrossPM: упрощаем сложные зависимости | Александр КовалевПакетный менеджер CrossPM: упрощаем сложные зависимости | Александр Ковалев
Пакетный менеджер CrossPM: упрощаем сложные зависимости | Александр КовалевPositive Hack Days
 
В поисках идеальной сети, или зачем нужна еще одна SDN / Андрей Королев (Ионика)
В поисках идеальной сети, или зачем нужна еще одна SDN / Андрей Королев (Ионика)В поисках идеальной сети, или зачем нужна еще одна SDN / Андрей Королев (Ионика)
В поисках идеальной сети, или зачем нужна еще одна SDN / Андрей Королев (Ионика)Ontico
 
Андрей Лузин
Андрей ЛузинАндрей Лузин
Андрей ЛузинCodeFest
 
React + Redux. Опыт использования
React + Redux. Опыт использованияReact + Redux. Опыт использования
React + Redux. Опыт использованияGDG Odessa
 
Клуб Большого мозга - DevOps Evening
Клуб Большого мозга - DevOps EveningКлуб Большого мозга - DevOps Evening
Клуб Большого мозга - DevOps EveningArtjoker
 
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...Positive Hack Days
 
Андрей Чебукин "Построение успешных API"
Андрей Чебукин "Построение успешных API"Андрей Чебукин "Построение успешных API"
Андрей Чебукин "Построение успешных API"Fwdays
 
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур ГильмуллинvSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур ГильмуллинPositive Hack Days
 
vi stories: миграция на .NET Core
vi stories: миграция на .NET Corevi stories: миграция на .NET Core
vi stories: миграция на .NET CoreAndrew Gubskiy
 
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"Fwdays
 
Инструментарий для создания дистрибутивов продуктов | Владимир Селин
Инструментарий для создания дистрибутивов продуктов | Владимир СелинИнструментарий для создания дистрибутивов продуктов | Владимир Селин
Инструментарий для создания дистрибутивов продуктов | Владимир СелинPositive Hack Days
 
Redux и изоморфные приложения
Redux и изоморфные приложенияRedux и изоморфные приложения
Redux и изоморфные приложенияJohn Wezel
 
Эволюция процесса деплоя в проекте — Денис Яковлев, 2ГИС
Эволюция процесса деплоя в проекте — Денис Яковлев, 2ГИСЭволюция процесса деплоя в проекте — Денис Яковлев, 2ГИС
Эволюция процесса деплоя в проекте — Денис Яковлев, 2ГИС2ГИС Технологии
 
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)Ontico
 

What's hot (20)

Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
 
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
 
Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"
 
Микросервисы в .NET Core
Микросервисы в .NET CoreМикросервисы в .NET Core
Микросервисы в .NET Core
 
Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...
Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...
Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...
 
Пакетный менеджер CrossPM: упрощаем сложные зависимости | Александр Ковалев
Пакетный менеджер CrossPM: упрощаем сложные зависимости | Александр КовалевПакетный менеджер CrossPM: упрощаем сложные зависимости | Александр Ковалев
Пакетный менеджер CrossPM: упрощаем сложные зависимости | Александр Ковалев
 
C#5 What's new?
C#5 What's new?C#5 What's new?
C#5 What's new?
 
В поисках идеальной сети, или зачем нужна еще одна SDN / Андрей Королев (Ионика)
В поисках идеальной сети, или зачем нужна еще одна SDN / Андрей Королев (Ионика)В поисках идеальной сети, или зачем нужна еще одна SDN / Андрей Королев (Ионика)
В поисках идеальной сети, или зачем нужна еще одна SDN / Андрей Королев (Ионика)
 
Андрей Лузин
Андрей ЛузинАндрей Лузин
Андрей Лузин
 
React + Redux. Опыт использования
React + Redux. Опыт использованияReact + Redux. Опыт использования
React + Redux. Опыт использования
 
Клуб Большого мозга - DevOps Evening
Клуб Большого мозга - DevOps EveningКлуб Большого мозга - DevOps Evening
Клуб Большого мозга - DevOps Evening
 
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
 
Андрей Чебукин "Построение успешных API"
Андрей Чебукин "Построение успешных API"Андрей Чебукин "Построение успешных API"
Андрей Чебукин "Построение успешных API"
 
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур ГильмуллинvSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин
 
vi stories: миграция на .NET Core
vi stories: миграция на .NET Corevi stories: миграция на .NET Core
vi stories: миграция на .NET Core
 
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
 
Инструментарий для создания дистрибутивов продуктов | Владимир Селин
Инструментарий для создания дистрибутивов продуктов | Владимир СелинИнструментарий для создания дистрибутивов продуктов | Владимир Селин
Инструментарий для создания дистрибутивов продуктов | Владимир Селин
 
Redux и изоморфные приложения
Redux и изоморфные приложенияRedux и изоморфные приложения
Redux и изоморфные приложения
 
Эволюция процесса деплоя в проекте — Денис Яковлев, 2ГИС
Эволюция процесса деплоя в проекте — Денис Яковлев, 2ГИСЭволюция процесса деплоя в проекте — Денис Яковлев, 2ГИС
Эволюция процесса деплоя в проекте — Денис Яковлев, 2ГИС
 
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
 

Similar to Александр Белоцерковский

New SpyLOG architechture (Highload 2008)
New SpyLOG architechture (Highload 2008)New SpyLOG architechture (Highload 2008)
New SpyLOG architechture (Highload 2008)Sergey Skvortsov
 
Hl2008 Spy Log Architechture 169
Hl2008 Spy Log Architechture 169Hl2008 Spy Log Architechture 169
Hl2008 Spy Log Architechture 169Media Gorod
 
Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDK
Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDKПрограммируемость фабрики ACI. Объектная модель, REST API, ACI Python SDK
Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDKCisco Russia
 
DC/OS – больше чем PAAS, Никита Борзых (Express 42)
DC/OS – больше чем PAAS, Никита Борзых (Express 42)DC/OS – больше чем PAAS, Никита Борзых (Express 42)
DC/OS – больше чем PAAS, Никита Борзых (Express 42)Ontico
 
Соединяя точки. Моделе-ориентированный процесс системного проектирования
Соединяя точки. Моделе-ориентированный процесс системного проектированияСоединяя точки. Моделе-ориентированный процесс системного проектирования
Соединяя точки. Моделе-ориентированный процесс системного проектированияYulia Madorskaya
 
Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...CEE-SEC(R)
 
RUNOS OpenFlow controller (ru)
RUNOS OpenFlow controller (ru)RUNOS OpenFlow controller (ru)
RUNOS OpenFlow controller (ru)Alexander Shalimov
 
Безопасность без антивирусов 4
Безопасность без антивирусов 4Безопасность без антивирусов 4
Безопасность без антивирусов 4Positive Hack Days
 
Lan-Crawler Bachlor RU
Lan-Crawler Bachlor RULan-Crawler Bachlor RU
Lan-Crawler Bachlor RUcDima
 
Automated Software Development and Verification Technologies in the Aerospace...
Automated Software Development and Verification Technologies in the Aerospace...Automated Software Development and Verification Technologies in the Aerospace...
Automated Software Development and Verification Technologies in the Aerospace...Iosif Itkin
 
Сравнение ТОП 5 SIEM РФ
Сравнение ТОП 5 SIEM РФСравнение ТОП 5 SIEM РФ
Сравнение ТОП 5 SIEM РФPete Kuzeev
 
Разработка портируемой инфраструктуры New Relic — контейнеры, CoreOS и прочие...
Разработка портируемой инфраструктуры New Relic — контейнеры, CoreOS и прочие...Разработка портируемой инфраструктуры New Relic — контейнеры, CoreOS и прочие...
Разработка портируемой инфраструктуры New Relic — контейнеры, CoreOS и прочие...Ontico
 
Cisco Software Defined Networks (SDN) и OnePK
Cisco Software Defined Networks (SDN) и OnePKCisco Software Defined Networks (SDN) и OnePK
Cisco Software Defined Networks (SDN) и OnePKCisco Russia
 
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)Pavel Tsukanov
 
Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
 Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва... Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...Nikolay Samokhvalov
 
мониторинг производительности приложения на PINBA
мониторинг производительности приложения на PINBAмониторинг производительности приложения на PINBA
мониторинг производительности приложения на PINBASlach
 
Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...Fwdays
 
Cocaine: погружение в облака — Евгений Сафронов
Cocaine: погружение в облака — Евгений СафроновCocaine: погружение в облака — Евгений Сафронов
Cocaine: погружение в облака — Евгений СафроновYandex
 

Similar to Александр Белоцерковский (20)

New SpyLOG architechture (Highload 2008)
New SpyLOG architechture (Highload 2008)New SpyLOG architechture (Highload 2008)
New SpyLOG architechture (Highload 2008)
 
Hl2008 Spy Log Architechture 169
Hl2008 Spy Log Architechture 169Hl2008 Spy Log Architechture 169
Hl2008 Spy Log Architechture 169
 
Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDK
Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDKПрограммируемость фабрики ACI. Объектная модель, REST API, ACI Python SDK
Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDK
 
DC/OS more than PAAS
DC/OS more than PAASDC/OS more than PAAS
DC/OS more than PAAS
 
DC/OS – больше чем PAAS, Никита Борзых (Express 42)
DC/OS – больше чем PAAS, Никита Борзых (Express 42)DC/OS – больше чем PAAS, Никита Борзых (Express 42)
DC/OS – больше чем PAAS, Никита Борзых (Express 42)
 
Соединяя точки. Моделе-ориентированный процесс системного проектирования
Соединяя точки. Моделе-ориентированный процесс системного проектированияСоединяя точки. Моделе-ориентированный процесс системного проектирования
Соединяя точки. Моделе-ориентированный процесс системного проектирования
 
Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...
 
RUNOS OpenFlow controller (ru)
RUNOS OpenFlow controller (ru)RUNOS OpenFlow controller (ru)
RUNOS OpenFlow controller (ru)
 
Безопасность без антивирусов 4
Безопасность без антивирусов 4Безопасность без антивирусов 4
Безопасность без антивирусов 4
 
Lan-Crawler Bachlor RU
Lan-Crawler Bachlor RULan-Crawler Bachlor RU
Lan-Crawler Bachlor RU
 
Automated Software Development and Verification Technologies in the Aerospace...
Automated Software Development and Verification Technologies in the Aerospace...Automated Software Development and Verification Technologies in the Aerospace...
Automated Software Development and Verification Technologies in the Aerospace...
 
Сравнение ТОП 5 SIEM РФ
Сравнение ТОП 5 SIEM РФСравнение ТОП 5 SIEM РФ
Сравнение ТОП 5 SIEM РФ
 
Разработка портируемой инфраструктуры New Relic — контейнеры, CoreOS и прочие...
Разработка портируемой инфраструктуры New Relic — контейнеры, CoreOS и прочие...Разработка портируемой инфраструктуры New Relic — контейнеры, CoreOS и прочие...
Разработка портируемой инфраструктуры New Relic — контейнеры, CoreOS и прочие...
 
Cisco Software Defined Networks (SDN) и OnePK
Cisco Software Defined Networks (SDN) и OnePKCisco Software Defined Networks (SDN) и OnePK
Cisco Software Defined Networks (SDN) и OnePK
 
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
 
CROC cloud
CROC cloudCROC cloud
CROC cloud
 
Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
 Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва... Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
 
мониторинг производительности приложения на PINBA
мониторинг производительности приложения на PINBAмониторинг производительности приложения на PINBA
мониторинг производительности приложения на PINBA
 
Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...
 
Cocaine: погружение в облака — Евгений Сафронов
Cocaine: погружение в облака — Евгений СафроновCocaine: погружение в облака — Евгений Сафронов
Cocaine: погружение в облака — Евгений Сафронов
 

More from CodeFest

Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander GraebeCodeFest
 
Никита Прокопов
Никита ПрокоповНикита Прокопов
Никита ПрокоповCodeFest
 
Денис Баталов
Денис БаталовДенис Баталов
Денис БаталовCodeFest
 
Елена Гальцина
Елена ГальцинаЕлена Гальцина
Елена ГальцинаCodeFest
 
Александр Калашников
Александр КалашниковАлександр Калашников
Александр КалашниковCodeFest
 
Ирина Иванова
Ирина ИвановаИрина Иванова
Ирина ИвановаCodeFest
 
Marko Berković
Marko BerkovićMarko Berković
Marko BerkovićCodeFest
 
Денис Кортунов
Денис КортуновДенис Кортунов
Денис КортуновCodeFest
 
Александр Зимин
Александр ЗиминАлександр Зимин
Александр ЗиминCodeFest
 
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей КрапивенскийCodeFest
 
Сергей Игнатов
Сергей ИгнатовСергей Игнатов
Сергей ИгнатовCodeFest
 
Николай Крапивный
Николай КрапивныйНиколай Крапивный
Николай КрапивныйCodeFest
 
Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander GraebeCodeFest
 
Вадим Смирнов
Вадим СмирновВадим Смирнов
Вадим СмирновCodeFest
 
Константин Осипов
Константин ОсиповКонстантин Осипов
Константин ОсиповCodeFest
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele RialdiCodeFest
 
Rene Groeschke
Rene GroeschkeRene Groeschke
Rene GroeschkeCodeFest
 
Иван Бондаренко
Иван БондаренкоИван Бондаренко
Иван БондаренкоCodeFest
 
Mete Atamel
Mete AtamelMete Atamel
Mete AtamelCodeFest
 
Алексей Акулович
Алексей АкуловичАлексей Акулович
Алексей АкуловичCodeFest
 

More from CodeFest (20)

Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander Graebe
 
Никита Прокопов
Никита ПрокоповНикита Прокопов
Никита Прокопов
 
Денис Баталов
Денис БаталовДенис Баталов
Денис Баталов
 
Елена Гальцина
Елена ГальцинаЕлена Гальцина
Елена Гальцина
 
Александр Калашников
Александр КалашниковАлександр Калашников
Александр Калашников
 
Ирина Иванова
Ирина ИвановаИрина Иванова
Ирина Иванова
 
Marko Berković
Marko BerkovićMarko Berković
Marko Berković
 
Денис Кортунов
Денис КортуновДенис Кортунов
Денис Кортунов
 
Александр Зимин
Александр ЗиминАлександр Зимин
Александр Зимин
 
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей Крапивенский
 
Сергей Игнатов
Сергей ИгнатовСергей Игнатов
Сергей Игнатов
 
Николай Крапивный
Николай КрапивныйНиколай Крапивный
Николай Крапивный
 
Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander Graebe
 
Вадим Смирнов
Вадим СмирновВадим Смирнов
Вадим Смирнов
 
Константин Осипов
Константин ОсиповКонстантин Осипов
Константин Осипов
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele Rialdi
 
Rene Groeschke
Rene GroeschkeRene Groeschke
Rene Groeschke
 
Иван Бондаренко
Иван БондаренкоИван Бондаренко
Иван Бондаренко
 
Mete Atamel
Mete AtamelMete Atamel
Mete Atamel
 
Алексей Акулович
Алексей АкуловичАлексей Акулович
Алексей Акулович
 

Александр Белоцерковский

  • 1. Project Pegasus IoT в небе, на земле и со скоростью звука Белоцерковский Александр Tech Evangelist, Cloud & Open Source Microsoft Russia
  • 2. План доклада Что такое Project Pegasus и в чем суть? Архитектура ядра системы + модель акторов Результаты использования модели акторов в сложных условиях Планы
  • 3. Project Pegasus I концепция и цели на раз-два-три Раз – готовим воздушный шар, оборачиваем вокруг него много технологий и отправляем в near space (высота - как получится на максимуме, получилось 33.76 км.) Два – кидаем клич внутри Microsoft и ищем тех, кто готов потратить личное время на воздушный шар, которого он не увидит Три – проверяем технологии и инструменты на прочность в необычных условиях
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9. Project Pegasus II концепция и цели на раз-два-три-четыре Раз – готовим модуль для North American Eagle, оборачиваем его в современный технологический ландшафт и отправляем ехать со скоростью 769 км/ч. Два – кидаем клич внутри Microsoft и ищем тех, кто готов потратить личное время на воздушный шар, которого он не увидит Три – проверяем технологии и инструменты на прочность в необычных условиях (2048 измерений/секунду с каждого из 28 сенсоров) Четыре – используем то же ядро, что в Pegasus I
  • 10.
  • 11.
  • 12. Project Pegasus общая архитектура Piraeus Flight Operations Gateway Channels Protocols Protocol Adapters Authentication Orleans Redis Storage Provider System Graphs – Virtual Actors CAPL Access Control Service Event HubsStream Analytics User Message Web service SMS Web service Twilio Web Purify HTTP/REST POST User Experience Launch Field Gateway Mobile Field Gateway GPSGPS Media Services WebSocket CoAP Telemetry UserMessages WebSocket CoAP Telemetry Mission ControlRemote Intelligence Multi-Channel Redundant WebSocket CoAP Telemetry Commands WebSocket CoAP Telemetry Commands Azure Queue Web Job Web Job WebSocket CoAP Telemetry UserMessages Commands WebSocket CoAP Telemetry UserMessages Commands Pegasus II-UAV High Altitude Science 100K ft REST Management API Security Access Control Iridium SatellitesIridium SatellitesIridium Satellites Satellite Communications SatComm Service Send Grid Service Azure Blob Storage
  • 13. Piraeus Жизненный цикл запроса Resource Получает информацию от ESA и отправляет по Subscriptions Subscription Получает информацию от Resource. Если у Subscription есть Observer, то он уведомляется, иначе Subscription открывает канал к ESA и отправляет сообщение напрямую туда. Subscription Observer Привязан к инстансу адаптера протокола в канале ESA. Получает сигнал от Subscription и делает push в канал ESA. Если нужно, в процессе происходит конвертация протокола. Симметричные коммуникации – все актёры могут общаться по одному каналу в две стороны в одном «контексте» Gateway Orleans Resource Subscription Subscription Observer Subscription Protocol Adapter Protocol Adapter ESA ESA Active Channel Bidirectional Passive Channel One-Way Storage Blob Service Bus Event Hubs DocumentDB REST Web Service Storage queue
  • 14. Piraeus Архитектура и имплементация Piraeus Gateway – Web Role Channel Protocol ProtocolAdapter Orleans-Worker Role Topic Subscription Subscription Subscription Subscription Redis Cache Web-Role Management API Storage Blob Service Bus Event Hubs DocumentDB REST Web Service Storage queue Active PowerShell Commands STS TRUST Authentication Access Control Passive Модель акторов Project Orleans Microsoft Azure CAPL security
  • 15. Архитектура - модель акторов Каждый актор – stateful Когда актор получает сообщение, он может: • Отправить сообщение другому актору • Создать нового актора (активировать) • Изменить собственное состояние Нет гарантии порядка в доставке сообщений Масса имплементаций – Erlang, Akka, .NET…
  • 16. Фреймворк - Project Orleans .NET имплементация модели акторов Разработка Microsoft Research Цель: Дать разработчикам простую для масштабирования систему Вычислительные «юниты» - Grains & Silos
  • 17. Хостинг - Microsoft Azure Cloud Services – stateless PaaS Web – FE Worker – BE Cloud Services => Service Fabric
  • 18. Безопасность Тоже актеры Claims Authorization Policy Language (CAPL) Собственная имплементация Расширяемый, сериализуемый, на основе логики и claims, язык «разметки» безопасности OSS http://www.github.com/skunklab/capl Каждый объект - Orleans Actor/Grain Время жизни – микросекунды
  • 19. Round Trip Latency (avg 12-16 ms) Piraeus Цифры Azure – VM – A0 WebApp Premium Live – 15 000 Data – 2048/sec * 28 sensors
  • 20. 0 2 4 6 8 10 12 14 16 18 0 5 10 15 20 25 30 AvgLatency(ms) # Clients Piraeus Perf 1000-ms 500-ms 100-ms
  • 21. 0 2 4 6 8 10 12 14 16 18 0 5 10 15 20 25 StDev(ms) # Clients Piraeus Latency StDev 1000-ms 500-ms 100-ms
  • 22. Дальше Планы Piraeus будет выложен в Open Source (скорректированная ориентировка – конец апреля) Запуск в августе – 3+ воздушных шара, отправляемся 21 августа на высоту 30+ км. снимать затмение. Stay tuned  Дневник проекта - https://pegasusmission.com Orleans: http://aka.ms/orleans Видео - Actor Model with Hewitt, Meijer and Szyperski bit.ly/1nOAtW9