Разработка приложения для Интернета
вещей на основе
Microsoft Azure – кейс и практика
Интернет вещей – как много в этом слове….
Что мы хотим обеспечить:
• Безопасность
• Скоординированную
работу систем
• Эффективное
использование
ресурсов
• Самостоятельность
систем
Безопасная и удобная
среда окружения
Высвобождение нас от
рутинных операций
Поговорим о конкретном ….
Что нам может помочь в реализации…
• Контроллеры с высокой вычислительной мощностью;
• Повсеместное проникновение сетей передачи данных;
• Унифицированные протоколы и шины обмена данными;
• Производится огромное количество различных «умных»
компонентов
Реальные сложности у моделей управления
Сложность
связей в системе
Взаимное
влияние
разнородных
подсистем
Адаптация к
изменениям на
объекте
управления Сложность
коррекции
модели
управления
Статистические модели управления
Можем включить в
модель :
• все комбинации
• все параметры
• всех подсистем
Главное – история
данных !
Выявляет и описывает
статистические
взаимосвязи всего объекта
Исключает незначимые
параметры
Исключает необходимость
выявления
функциональных связей
Элементы самоорганизации модели
Предсказание Решение
Описательная аналитика
Что случилось?
Сбор данных наблюдений
Описание
Прогнозная аналитика
Что будет?
Получение предсказаний
Предписывающая аналитика
Действуем на основании
Предсказаний!
Выявление результата
… ? !
Уточнение модели - адаптивность
Что нам стоит сервис построить ?
VM OS DB IIS + REST АутентификацияЦентрализованная
служба
Балансировка
нагрузки
Механизмы
приема/передачи
событий
Очереди
с механизмами
балансировки
API
Бекэнд
для мобильных
приложений
Push-
уведомления
…на виртуальных
машинах?
Аутентификация
Масштабирование
AiCare и Microsoft: Azure+ Windows 10 = IoT
сервис “Умная инфраструктура”
• «Умный дом» и «Умное здание» (жилые здания,
промышленные помещения, тепличные хозяйства,
производства и т.д.);
• Перенос сложных математических расчетов в облако;
• Минимизация стоимости создания при максимуме
функциональности;
• Гибкость и упрощение настроек;
• Качественное улучшение работы комплекса систем (сбор
данных, исполнение команд и хранение упрощенной
модели объекта управления при отключении канала
связи).
Компоненты сервиса
Объект
управления
Локальный
шлюз Аутентификация
Базы данных
Сервис управления
Сервис
статистической
модели
Мобильные службы
Веб-интерфейс
Облачный
шлюз
• Датчики
• Контроллеры
• Исполнительные
устройства
• Другие
инженерные
подсистемы
Как это работает
Подсистемы
Датчики,
исполнительные
устройства
Контроллеры
датчиков,
исполнительных
устройств
(.NET MF и т.п.)
Локальный шлюз
Embedded OS
• Безопасность
• Согласование
протоколов
Аутентификация
Облачный шлюз
Аутентификация
(ASP.NET)
Event
Hub
Stream
Analytics
Web
UI
ПриложенияMachine
Learning и
набор моделей
SQL DB
Mobile
Services
данные
аналитика
REST
REST
Малая модель
Большая модель
Управляемый код
на Cortex M4
ROM и RAM < 1 МБ
Visual Studio
Готовые API для
датчиков/устройств
Open Source
.NET MF cобран из
исходного кода
.NET Micro Framework
Технологические партнеры сервиса AiCare
www.quarta-embedded.ru
EVIKA – это совместное предприятие с европейской компанией Embedded
Systems, – одним из акционеров международной ассоциации KNX. EVIKA
производит универсальные инструменты для построения систем
автоматизации. В основе устройств компании – принцип «швейцарского
ножа», где многофункциональность и гибкость совмещены с удобством
использования в работе.
Вот уже более 30 лет National Instruments является лидером в области
разработки и производства аппаратно-программных средств автоматизации
измерений, диагностики, управления и моделирования в широком спектре
приложений. National Instruments является разработчиком технологии
виртуальных приборов – революционной концепции, изменившей подходы и
методику проведения измерений и разработки систем автоматизации.
Главная цель компании «Разумный дом»: Сделать квартиры и дома более
удобными. Мы приспосабливаем нашу продукцию к нуждам инсталляторов, а
не заставляем их приспосабливаться к ней. В отношении наших разработок:
Делаем все очень продуманно, с максимумом функций. Пользуемся только
самой современной элементной базой. Широкая линейка нашей продукции
позволяет инсталляторам делать свои услуги доступными все более широкому
кругу конечных потребителей.
Azure Machine Learning
Регулирование в статистической модели
Отн. влажность, % Температура воздуха,
C
Температура воды, C
От 60 до 70 От 10 до 20 От 10 до 20
23:20 – старт
правила
0:50 – отмена
правила
Отн. влажность, %
Температура
воздуха, C
Температура воды,
C
Работа исполнительных
устройств
Взаимодействие пользователя с системой
Универсальное приложение для планшета и телефона
На Windows 8.1 – готово к портированию на Windows 10
www.quarta-embedded.ruwww.quarta-embedded.ru
Изменение ролей участников процесса
Было …..
Объект управления
Инженерные
системы
Пользователь
www.quarta-embedded.ruwww.quarta-embedded.ru
Изменение ролей участников процесса
Стало ….
Объект управления
Локальный
шлюз
Инженерные
системы
Облачная платформа для
предоставления сервиса:
• хранение данных
• обработка данных
математическими
моделями
• формирование
скоординированных
управляющих воздействий
Пользователь
www.quarta-embedded.ruwww.quarta-embedded.ru
Так что получит пользователь ?
Скоординировано управляет инженерными системами и
балансирует их работу
Эффективно использует ресурсы
Учитывает привычки пользователя
Упреждает развитие аварийных ситуаций
Сервис самостоятельно решает следующие задачи:
Конфигурирование удобных, надежных и
понятных систем из простых элементов, низкой
стоимости
www.quarta-embedded.ruwww.quarta-embedded.ru
А что получила команда разработчиков?
Скорость разработки!
Использование вычислительных сервисов AZURE
предельно ускорило создание сервиса
Сквозной процесс разработки – Visual Studio – AZURE –
SDK – Embedded OS - .NET Micro Framework – Universal
Apps
Использовали готовый сервис для проверки
статистической модели
Готовимся к старту сервиса на реальных объектах и
применяем Windows 10
www.quarta-embedded.ru
Mobile First, Cloud First
BDM Архитектор/
разработчик
Архитектор Разработчик Разработчик/ BDM
Маркетинг-
менеджер
Технический
специалист
Технический
специалист
Технический
специалист
Х-ресурсы
Microsoft
5. Коммерческая
доступность,
продвижение на
рынок
1.
Знакомство
и
выработка
стратегии
2.
Аудит задач,
ресурсов,
компетенций
3.
Архитектурны
е марафоны;
обучение
4. UI дизайн,
1:1
консалтинг,
лабы
Стадии и
этапы AiCare
Microsoft
Продвижение продукта через ресурсы
Microsoft
Внутри сегментов Microsoft; внешнее
продвижение на заказчиков
Участие в международном конкурсе
партнерских решений Partner Awards
2015
Тренинги и
мероприятия
Архитектура и дизайн Вывод на рынок и ко-маркетинг
Эксперты Microsoft делятся данными о
тенденциях рынка, сценариями
использования приложений.
Демо возможностей создания
приложений на новейшей платформе
Microsoft, особенности облачных
технологий, BI, Обучение специалистов
Средства разработки; доступ к Облаку
Microsoft.
Технический консалтинг
Облачный и мобильный 2-х дневные
марафоны-практикумы разработки
Консалтинг дизайн-агентства (UI для
мобильных приложений под Windows
10).
AiCare и Microsoft : IoT проект от идеи до прорыва
Техническая поддержка и выделенные ресурсы, консалтинг и обучение;
продвижение
www.quarta-embedded.ruwww.quarta-embedded.ru
Спасибо за внимание!
AiCare
+7 (916) 503-10-71
www.aicare.ru
Валерий Милых
Основатель проекта

AiCare - self-organizing device management service

  • 1.
    Разработка приложения дляИнтернета вещей на основе Microsoft Azure – кейс и практика
  • 2.
    Интернет вещей –как много в этом слове…. Что мы хотим обеспечить: • Безопасность • Скоординированную работу систем • Эффективное использование ресурсов • Самостоятельность систем Безопасная и удобная среда окружения Высвобождение нас от рутинных операций
  • 3.
  • 4.
    Что нам можетпомочь в реализации… • Контроллеры с высокой вычислительной мощностью; • Повсеместное проникновение сетей передачи данных; • Унифицированные протоколы и шины обмена данными; • Производится огромное количество различных «умных» компонентов
  • 5.
    Реальные сложности умоделей управления Сложность связей в системе Взаимное влияние разнородных подсистем Адаптация к изменениям на объекте управления Сложность коррекции модели управления
  • 6.
    Статистические модели управления Можемвключить в модель : • все комбинации • все параметры • всех подсистем Главное – история данных ! Выявляет и описывает статистические взаимосвязи всего объекта Исключает незначимые параметры Исключает необходимость выявления функциональных связей
  • 7.
    Элементы самоорганизации модели ПредсказаниеРешение Описательная аналитика Что случилось? Сбор данных наблюдений Описание Прогнозная аналитика Что будет? Получение предсказаний Предписывающая аналитика Действуем на основании Предсказаний! Выявление результата … ? ! Уточнение модели - адаптивность
  • 8.
    Что нам стоитсервис построить ? VM OS DB IIS + REST АутентификацияЦентрализованная служба Балансировка нагрузки Механизмы приема/передачи событий Очереди с механизмами балансировки API Бекэнд для мобильных приложений Push- уведомления …на виртуальных машинах? Аутентификация Масштабирование
  • 9.
    AiCare и Microsoft:Azure+ Windows 10 = IoT сервис “Умная инфраструктура” • «Умный дом» и «Умное здание» (жилые здания, промышленные помещения, тепличные хозяйства, производства и т.д.); • Перенос сложных математических расчетов в облако; • Минимизация стоимости создания при максимуме функциональности; • Гибкость и упрощение настроек; • Качественное улучшение работы комплекса систем (сбор данных, исполнение команд и хранение упрощенной модели объекта управления при отключении канала связи).
  • 10.
    Компоненты сервиса Объект управления Локальный шлюз Аутентификация Базыданных Сервис управления Сервис статистической модели Мобильные службы Веб-интерфейс Облачный шлюз • Датчики • Контроллеры • Исполнительные устройства • Другие инженерные подсистемы
  • 11.
    Как это работает Подсистемы Датчики, исполнительные устройства Контроллеры датчиков, исполнительных устройств (.NETMF и т.п.) Локальный шлюз Embedded OS • Безопасность • Согласование протоколов Аутентификация Облачный шлюз Аутентификация (ASP.NET) Event Hub Stream Analytics Web UI ПриложенияMachine Learning и набор моделей SQL DB Mobile Services данные аналитика REST REST Малая модель Большая модель
  • 12.
    Управляемый код на CortexM4 ROM и RAM < 1 МБ Visual Studio Готовые API для датчиков/устройств Open Source .NET MF cобран из исходного кода .NET Micro Framework
  • 13.
    Технологические партнеры сервисаAiCare www.quarta-embedded.ru EVIKA – это совместное предприятие с европейской компанией Embedded Systems, – одним из акционеров международной ассоциации KNX. EVIKA производит универсальные инструменты для построения систем автоматизации. В основе устройств компании – принцип «швейцарского ножа», где многофункциональность и гибкость совмещены с удобством использования в работе. Вот уже более 30 лет National Instruments является лидером в области разработки и производства аппаратно-программных средств автоматизации измерений, диагностики, управления и моделирования в широком спектре приложений. National Instruments является разработчиком технологии виртуальных приборов – революционной концепции, изменившей подходы и методику проведения измерений и разработки систем автоматизации. Главная цель компании «Разумный дом»: Сделать квартиры и дома более удобными. Мы приспосабливаем нашу продукцию к нуждам инсталляторов, а не заставляем их приспосабливаться к ней. В отношении наших разработок: Делаем все очень продуманно, с максимумом функций. Пользуемся только самой современной элементной базой. Широкая линейка нашей продукции позволяет инсталляторам делать свои услуги доступными все более широкому кругу конечных потребителей.
  • 14.
  • 15.
    Регулирование в статистическоймодели Отн. влажность, % Температура воздуха, C Температура воды, C От 60 до 70 От 10 до 20 От 10 до 20 23:20 – старт правила 0:50 – отмена правила Отн. влажность, % Температура воздуха, C Температура воды, C Работа исполнительных устройств
  • 16.
    Взаимодействие пользователя ссистемой Универсальное приложение для планшета и телефона На Windows 8.1 – готово к портированию на Windows 10
  • 18.
    www.quarta-embedded.ruwww.quarta-embedded.ru Изменение ролей участниковпроцесса Было ….. Объект управления Инженерные системы Пользователь
  • 19.
    www.quarta-embedded.ruwww.quarta-embedded.ru Изменение ролей участниковпроцесса Стало …. Объект управления Локальный шлюз Инженерные системы Облачная платформа для предоставления сервиса: • хранение данных • обработка данных математическими моделями • формирование скоординированных управляющих воздействий Пользователь
  • 20.
    www.quarta-embedded.ruwww.quarta-embedded.ru Так что получитпользователь ? Скоординировано управляет инженерными системами и балансирует их работу Эффективно использует ресурсы Учитывает привычки пользователя Упреждает развитие аварийных ситуаций Сервис самостоятельно решает следующие задачи: Конфигурирование удобных, надежных и понятных систем из простых элементов, низкой стоимости
  • 21.
    www.quarta-embedded.ruwww.quarta-embedded.ru А что получилакоманда разработчиков? Скорость разработки! Использование вычислительных сервисов AZURE предельно ускорило создание сервиса Сквозной процесс разработки – Visual Studio – AZURE – SDK – Embedded OS - .NET Micro Framework – Universal Apps Использовали готовый сервис для проверки статистической модели Готовимся к старту сервиса на реальных объектах и применяем Windows 10
  • 22.
    www.quarta-embedded.ru Mobile First, CloudFirst BDM Архитектор/ разработчик Архитектор Разработчик Разработчик/ BDM Маркетинг- менеджер Технический специалист Технический специалист Технический специалист Х-ресурсы Microsoft 5. Коммерческая доступность, продвижение на рынок 1. Знакомство и выработка стратегии 2. Аудит задач, ресурсов, компетенций 3. Архитектурны е марафоны; обучение 4. UI дизайн, 1:1 консалтинг, лабы Стадии и этапы AiCare Microsoft Продвижение продукта через ресурсы Microsoft Внутри сегментов Microsoft; внешнее продвижение на заказчиков Участие в международном конкурсе партнерских решений Partner Awards 2015 Тренинги и мероприятия Архитектура и дизайн Вывод на рынок и ко-маркетинг Эксперты Microsoft делятся данными о тенденциях рынка, сценариями использования приложений. Демо возможностей создания приложений на новейшей платформе Microsoft, особенности облачных технологий, BI, Обучение специалистов Средства разработки; доступ к Облаку Microsoft. Технический консалтинг Облачный и мобильный 2-х дневные марафоны-практикумы разработки Консалтинг дизайн-агентства (UI для мобильных приложений под Windows 10). AiCare и Microsoft : IoT проект от идеи до прорыва Техническая поддержка и выделенные ресурсы, консалтинг и обучение; продвижение
  • 23.
    www.quarta-embedded.ruwww.quarta-embedded.ru Спасибо за внимание! AiCare +7(916) 503-10-71 www.aicare.ru Валерий Милых Основатель проекта

Editor's Notes

  • #5 Но при использовании такой модели возникает ряд исключительных ситуаций: Связь между параметрами в системе могут быть настолько сложными, что параметрическая модель работать не будет (пример будет) Для достижения требуемых эффектов может быть необходима скоординированная работа всех разнородных подсистем, что затруднено, поскольку у каждой подсистемы своя модель управления (есть научные труды по этой теме) Невозможно эффективно использовать имеющиеся ресурсы (любые: запасы воды, топлива, газа, аккумуляторы – имеющие конечный объем, необходимые для поддержания безотказной работы объекта управления), так как нужно учитывать историю использования, что также затруднено в параметрической модели Любые изменения на объекте управления требуют изменения модели управления. Скрипты имеют определенные ограничения: заскриптованных действий может быть недостаточно, так как заранее невозможно учесть все множество возможных изменений. Чем плоха нейронная сеть? Извлечь данные о взаимосвязи параметров внутри модели нейронной сети – невозможно. Невозможность извлечения данных концептуально опасна, поскольку поведение непрогнозируемо, неинтерпретируемо. Сложно модернизировать сеть, изменять число нейронов. Потребуется обучение с нуля. Количество ресурсов, требуемое на обучение нейронной сети, постоянно и не уменьшается с течением времени. (Есть статья: Нейронная интерпретация выборки для структурного статистического моделирования – Степанов Сергей Васильевич) Чем хороша стат. модель? Можно извлечь данные о взаимосвязи И, следовательно, оптимизировать модель.
  • #6 Но при использовании такой модели возникает ряд исключительных ситуаций: Связь между параметрами в системе могут быть настолько сложными, что параметрическая модель работать не будет (пример будет) Для достижения требуемых эффектов может быть необходима скоординированная работа всех разнородных подсистем, что затруднено, поскольку у каждой подсистемы своя модель управления (есть научные труды по этой теме) Невозможно эффективно использовать имеющиеся ресурсы (любые: запасы воды, топлива, газа, аккумуляторы – имеющие конечный объем, необходимые для поддержания безотказной работы объекта управления), так как нужно учитывать историю использования, что также затруднено в параметрической модели Любые изменения на объекте управления требуют изменения модели управления. Скрипты имеют определенные ограничения: заскриптованных действий может быть недостаточно, так как заранее невозможно учесть все множество возможных изменений. Чем плоха нейронная сеть? Извлечь данные о взаимосвязи параметров внутри модели нейронной сети – невозможно. Невозможность извлечения данных концептуально опасна, поскольку поведение непрогнозируемо, неинтерпретируемо. Сложно модернизировать сеть, изменять число нейронов. Потребуется обучение с нуля. Количество ресурсов, требуемое на обучение нейронной сети, постоянно и не уменьшается с течением времени. (Есть статья: Нейронная интерпретация выборки для структурного статистического моделирования – Степанов Сергей Васильевич) Чем хороша стат. модель? Можно извлечь данные о взаимосвязи И, следовательно, оптимизировать модель.
  • #7 Перечисленные проблемы могут быть решены с помощью статистической модели. Этими моделями специалисты нашей команды занимаются с 1983 года. Зная набор параметров и имея накопленную историю изменения всех параметров всех подсистем, мы можем построить статистическую модель. Это, конечно, потребует вычислений, но не поиска взаимосвязей в явном виде («включили нагреватель – температура увеличилась» – этого может и не быть). Статистическая модель Описывает объект управления в целом, во всех взаимосвязях всех подсистем. Не подскажет, а выявит взаимосвязи. Позволяет выявить незначимые параметры, которые не влияют на функционирование объекта Забываем о поисках функциональной связи параметров Статистика – смотрим на связь данных по времени, а не по функции.
  • #8 Для работы стат. модели вначале производится сбор эмпирических данных, т.е. наблюдение за работой системы. Это называется описательная аналитика (Descriptive analytics). На этом этапе строится модель функционирования объекта управления. Далее эта модель дает нам предсказания (прогнозная аналитика, Predictive Analytics), на основе которых принимаются решения (предписывающая аналитика, Prescriptive Analytics). Выявив эффекты от принятых решений мы можем уточнить модель, таким образом замкнув цикл функционирования. В этом заключается адаптивность модели: если, выявив эффекты от принятых решений, мы видим, что модель перестала соответствовать реальности (а это может происходить по различным причинам), мы можем ее обновить с помощью накопленной истории. Начальное вычисление модели и ее обновление требует вычислительной мощности. http://en.wikipedia.org/wiki/Prescriptive_analytics http://www.datascienceassn.org/content/descriptive-predictive-prescriptive-analytics
  • #9 Возникает вопрос выбора – сделать все самим или взять за основу что-то готовое? Давайте посмотрим, что будет, если мы займемся разработкой на серверах в каком-либо датацентре. Для централизованной службы, которая объединит все компоненты системы воедино, потребуется: ВМ, ОС, БД, IIS + REST, Auth, Балансировка, возможно бэкап. Поскольку речь идет о передаче большого количества событий в облако в реальном времени, нам понадобятся соответствующие механизмы приема/передачи событий – видим, какие-либо очереди с механизмами балансировки, масштабирования, API для доступа. Также нужен будет UI – понадобится бэкэнд для мобильных приложений, компоненты которого мы тоже развернем на виртуальных машинах со всеми вытекающими отсюда последствиями. ТАК ДЕЛАТЬ НЕ НАДО! В результате придем к выводу, что мы занимаемся не самой системой, а разработкой каких-то вспомогательных компонентов. Я не случайно использовал в этой схеме значки из портала Azure, потому что все перечисленные средства уже есть, готовые, в Microsoft Azure.
  • #10 -  чтобы не быть голословными,  уже сегодня коллеги из AiCare во 2-й половине дня представят свой IoT проект на базе Win 10 + Azure . Это симбиоз всего , о чем говорилось выше и иллюстрация того, что стратегия воплощается в жизнь: IoT- тренд, большие данные,  умный дом и т.д. все это на базе новейших технологий МС Win 10+ Azure -  это результат системной работы и сотрудничества AiCare + Мс в рамках инициативы для компаний-разработчиков. Именно это позволяет на всем быть на острие тенденций – ПЕРЕХОД НА СЛЕДУЮЩИЙ BACKUP СЛАЙД С ОПИСАНИЕМ ЭТАПОВ СОТРУДНИЧЕСТВА
  • #11 Посмотрим, как укрупненно может выглядеть архитектура такой системы. Объект управления – их может быть много. Чтобы не загружать схему, показан один. Датчики, контроллеры объекта управления – сбор информации и отработка управляющих воздействий. Локальный шлюз – обеспечение безопасности, преобразование протоколов, при необходимости – кеширование информации. Облачный шлюз – преобразование протоколов и входная точка. Может быть несколько шлюзов с балансировкой трафика. Аутентификация – с различными учетными записями. БД – хранит данные сервиса. Централизованный сервис – Worker или их набор, являющийся (-щиеся) движком системы. Выполняют также роль связующей функции между компонентами система. Сервис машинного обучения – содержит модель и API для управления и получения предсказаний. Мобильные службы – упрощают разработку мобильного приложения для сервиса. Веб-интерфейс – «Панель управления» для каждого пользователя.
  • #12 Назначение и взаимодействие элементов. Для того, чтобы убедиться в применимости и эффективности статистической модели, не разрабатывая соответствующий сервис с нуля, мы использовали готовый сервис ML Про то, что лучше применить Windows 10 IoT на Raspberry или Galileo.
  • #13 Контроллер датчиков и исполнительных устройств на .NET Micro Framework. Была выполнена адаптация и сборка CLR для платы из исходников, разработан код контроллера. К нему подключены три датчика и два исполнительных устройства.
  • #15 Проектируем эксперимент в подобии студии. Создаем обучающий эксперимент и обучаем модель Создаем предсказывающий эксперимент и генерируем веб-сервис Можно также подать в модель обновленные данные. Нагрузка на сервис отслеживается через портал.
  • #16 Посмотрим, как работает автоматическое регулирование с использованием статистической модели. На слайде приведено правило регулирования, согласно которому перечисленные параметры должны находиться в заданных пределах. Приведены графики, на котором указаны соответствующие параметры. Это реальные графики с данного объекта управления. Правило работало более часа, в течение которого исполнительные устройства под управлением модели поддерживали заданные температуру и влажность. Оранжевый цвет – активность исполнительных устройств (есть ступенька – активно). Если мы внимательно посмотрим на график влажности, то увидим, что не везде она находилась в заданном интервале. Так и есть. Не все целевые значения параметров достижимы. Статистическая модель дает ответ и на вопрос, достижимы ли в принципе параметры, заданные в правиле. В данном случае благодаря ей мы заранее знали, что указанные параметры достижимы. Не все состояния достижимы – это нормально, т.к рычагов мало. Достижимые параметры: от 60 до 90 % отн.вл., воздух от 15 до 40 град., вода от 15 до 60 град в разных комбинациях.
  • #17 Ключевой момент – простота взаимодействия с объектом
  • #23 Что это включает: От первой встречи осенью 2014  и до DevCon2015: §  Совместные мозговые штурмы §  Обучение aka Архитектурные марафоны ·         Azure ·         Mobile §  Разработку §  Предоставление ресурсов (средства разработки; 1:1 технический консалтинг от TE Кости Гольдштейна) §  Работу над маркетингом §  Участие в международном конкурсе партнерских решений Partner Awards §  Разработку мобильного приложения под Windows 10 и UI консалтинг от дизайн агентства §  О решении на базе Azure & Win 10 + уникальность их решения как ТРЕНД мировой так и одно из первых в России по данной тематике. Презентация  инновационного решения СЕГОДНЯ во 2-й половине дня