1
ИНТЕРНЕТ-ПРЕДПРИНИМАТЕЛЬСТВО
ЛЕКЦИЯ
«Приложения и сервисы
для бизнеса»
Дмитрий Сошников
2
Информационные технологии помогают сделать
любой бизнес эффективнее, взяв на себя значительную
часть неинтересной работы.
•  Как IT меняет мир: сейчас и в будущем
•  Как устроены информационные системы: клиенты и облако
•  Нужно ли стартапу знать технологии?
•  Мобильные и облачные технологии «для чайников»
•  Дополнительные ресурсы
Структура лекции
3
Посмотрим на мир в будущем:
Microsoft Productivity Future Vision 2015
www.youtube.com/watch?v=w-tFdreZB94
Какие основные черты будущего вы увидели?
Этот ролик сделан на основе существующих
проектов, развитие которых спрогнозировали
на 5-10 лет вперед.
Подробнее: microsoft.com/productivityvision
Небольшое упражнение
4
Что мы увидели?
Аспекты
продуктивности
Подробнее
Примеры
из видео
Технологии
объединяют
людей вместе
Объединение позволяет достичь
синергетического эффекта. Подробнее о том,
почему это важно – см.
http://aka.ms/metasystemtransition.
Более «умная»
жизнь (Assistive
Intelligence)
Умные технологии на основе Machine Learning,
Collective Intelligence помогают нам принимать
решения более эффективно.
Нет преград для
творчества
Доступный богатый набор инструментов дает
возможность для быстрого и эффективного
решения задач
Прозрачная
мобильность
Доступ к интересующей нас информации
происходит прозрачно с различных устройств.
Данные доступны отовсюду.
Другое
5
Как это влияет на IT-системы?
Доступ к информации происходит с различных устройств:
смартфоны, планшеты, настольные компьютеры, экраны, гаджеты,
датчики, умный дом…
Для связи устройств между собой, хранения
и обработки информации используется облако
6
Концепция «трех экранов»
Компьютер ГостинаяСмартфон
Облако
7
Три экрана в будущем
Личный помощник Умное окружениеРабочее место
Облако
8
Клиенты и облако
Start Justin
9
Типовая архитектура системы
Клиент
Облако
БДWeb API
Web API
Web
Frontend
Аналитика
Интерфейс
Бизнес-
логика
Бизнес-
логика
Бизнес-
логика
Интерфейс
10
Рассмотрите один или несколько кейсов проектов
различной архитектуры:
•  Приложение, сконцентрированное в мобильном устройстве
•  Приложение, сконцентрированное в облаке
•  Приложение, использующее интернет вещей
Приведите примеры реальных стартапов с похожими
архитектурными решениями
Далее по ходу лекции мы рассмотрим некоторые такие кейсы
Case Study
11
Мобильные приложения
КонтентныеФункциональные Игры
12
Технологии разработки
Нативная разработка
iOS Objective C, Swift
Android Java
Windows
Windows Phone
•  C# / XAML (контент)
•  HTML / Javascript
•  C++/ DirectX (игры)
Кросс-платформенная разработка
HTML/Javascript •  Apache Cordova
•  Visual Studio Tools for Apache Cordova
C#/XAML Xamarin Studio
Игры •  Unity (C#)
•  Monogame (C#)
•  Cocos2d-x (JS, Lua, C++)
13
TurnOn – это компьютерная казуальная игра
Основная логика сосредоточена на клиенте
Windows Phone:
•  Дополнительная возможность играть в режиме
виртуальной реальности с помощью Cardboard VR
•  Технология разработки: Unity
Облако: информация о лучших игроках
Бизнес-модель: freemium, in-app purchase
Создатели: Brainy Studio, студенты ПНИПУ (Пермь)
•  1 место в мире Imagine Cup 2014
•  AppCampus Award
•  Другие успешные проекты: Witchcraft
Case Study: TurnOn
14
“When Windows 8 came out, it was truly easy for
us to take ‘Doodle God’ and port it over to Windows
8 — it took less than an hour for our team to get it
up and running. We also got it up and running on
Xbox One.”
Paul Baldwin, CEO, JoyBits
Источник и материал для чтения:
news.microsoft.com/features/game-developers-
embrace-windows-and-windows-phone-especially-
during-holiday-season/
Case Study: Doodle God, JoyBits
15
Обеспечение эластичного доступа по требованию
к (потенциально неограниченному) пулу вычислительных
ресурсов и ресурсов хранения данных
Программист может абстрагироваться от того,
где происходят требуемые вычисления и где хранятся данные.
Оплата происходит по мере потребление ресурсов.
Облачные технологии
Локальные
вычисления
Клиент-
сервер
Распределенные
вычисления Облако
16
В преддверии нового года Вася Пупков
решил основать свою социальную сеть
для обмена фотографиями ёлок.
Давайте проследим за его
головокружительными успехами…
Case Study: васонет.рф
17
Сравнение
Свой	
  сервер Хостинг Облако
Необходимость покупать
оборудование для
масштабирования
Необходимость докупать
и донастраивать
виртуальные сервера
Возможно в любое время
предоставление
потенциально
неограниченных ресурсов
для вычислений и хранения
данных. Оплата происходит
только за объем
потребленных ресурсов.
Когда нет нагрузки –
оборудование простаивает
Когда нет нагрузки –
провайдер использует
оборудование на другие
нужды
По завершении проекта –
необходимо избавляться от
оборудования
Возможно прекратить
использование хостинга
Необходимо придумывать,
как хранить большие данные
на серверах
Необходимо придумывать,
как хранить большие данные
на серверах
Можно использовать готовые
модели хранения больших
данных на множестве
серверов
Нет экономии от масштаба.
Возможны аппаратные
проблемы
Некоторая экономия от
масштаба и надежность
Серьезная экономия от
масштаба и повышенная
надёжность
18
Сценарии нагрузки
Непредсказуемый всплеск
Непредсказуемые/незапланированные пики загрузки.
Неожиданный пик загрузки отражается на
производительности. Сложность развертывания
дополнительных мощностей
t
Compute
Нет нагрузки
t
t
t
Вкл./Выкл.
Характерные задачи (например, пакетного типа)
Простаивание лишних мощностей
Время доставки на рынок может быть большим
Compute
Быстрый рост
Успешные сервисы нуждаются в масштабировании,
которое может быть сложной задачей.
Малая скорость развертывания мощностей
Compute
Предсказуемый всплеск
Сезонная нагрузка на сервисы, пики загрузки
приходятся на периодически растущую сложность
IT-инфраструктуры и простаивающие мощности
Compute
19
•  Облачный сервис для ведения бизнеса: CRM, проекты, документы
•  Бизнес-модель: SaaS
•  Архитектура: облако для хранения данных, бизнес-логики
(backend) и web frontend
Case Study: FreshOffice
20
Разные виды облака
SaaS
Software
as a Service
Пользователю предоставляется конечное
программное обеспечение для решения
некоторых задач. Оплата происходит по мере
использования.
Office 365,
Google Docs,
OneDrive,
DropBox,
FreshOffice
PaaS
Platform
as a Service
Программисту предоставляется некоторая
платформа для создания приложений и
хранения данных. Приложения, создаваемые
на этой платформе, могут легко запускаться и
масштабироваться в облаке.
Google App
Engine
Microsoft Azure
(Microsoft Azure
for IoT, Event
Hubs, Compute,
Storage, SQL, …)
IaaS
Infrastructure
as a Service
По требованию предоставляются виртуальные
машины и элементы виртуальной
инфраструктуры. Программист сам заботится
о том, как эти компоненты работают вместе
и масштабируются.
Amazon Elastic
Cloud
Microsoft Azure
VMs
21
Разные виды облака
Сервер или
частное облако
IaaS PaaS SaaS
Данные и доступ Данные и доступ Данные и доступ Данные и доступ
Приложения Приложения Приложения Приложения
Среда выполнения Среда выполнения Среда выполнения Среда выполнения
Операционная
система
Операционная
система
Операционная
система
Операционная
система
Виртуальная
машина
Виртуальная
машина
Виртуальная
машина
Виртуальная
машина
Вычислительный
узел
Вычислительный
узел
Вычислительный
узел
Вычислительный
узел
Сеть Сеть Сеть Сеть
Диск (хранилище) Диск (хранилище) Диск (хранилище) Диск (хранилище)
22
Различные варианты развертывания
Публичное
облако
Облачные услуги предоставляются публичной
компанией широкому классу потребителей. Все
данные хранятся на серверах компании,
надежность регламентируется на основе SLA
Amazon Cloud
Microsoft Azure
Google
AppEngine
Гибридное
облако
Часть данных хранится в публичном облаке, а
другая (критическая) часть – в частном облаке
или на локальных серверах компании.
Программное обеспечение обеспечивает
корректное объединение данных.
Microsoft Azure
Частное
облако
Компания имеет свой датацентр, который
функционирует по тем же принципам, что и
облачные сервисы, т.е. он способен выделять
ресурсы по запросу.
Microsoft Azure
Appliance
Не облако Данные располагаются на отдельных серверах
в самой компании или у хостинг-провайдера.
При этом не обеспечивается предоставление
ресурсов по требованию, нагрузка на сервера
не может быть гибко сбалансирована.
Windows
Server
Linux/FreeBSD
Хостинг-
провайдеры
23
Case Study: YouScan
Worker
DB
Web Portal
Analytics
Worker
Бизнес-модель:
Развертывание:
• 
• 
• 
• 
24
Часто архитектура системы сильно связана с бизнес-моделью
Software as a Service
Для получения успешного продукта надо говорить
с разработчиками на одном языке
Базовое знание IT помогает грамотно формулировать ТЗ
Понимание возможностей и ограничений
Иногда стартап рождается из понимания того,
как IT может улучшить окружающий мир
Зачем стартапам знать технологии
25
Подробнее…
Технологическая платформа
Microsoft
26
Преимущество платформы Microsoft
Компьютер ГостинаяСмарт
Облако
C#
C# C#
C#
27
Поддержка стартапов
• 
• 
• 
• 
• 
• 
• 
bizspark.com
• 
• 
• 
• 
Контакты:
• 
• 
28
Варианты получения ПО и облака
BizSpark	
  
(три	
  года	
  работы	
  компании)	
  
Без	
  BizSpark	
  
Средства
разработки
(Visual Studio)
Бесплатно Visual Studio Professional / Ultimate
Бесплатно Visual
Studio Community
Edition
Подписка MSDN
для компаний
Операционная
система
(Windows 8/10)
Бесплатно для целей разработки OEM или FPP
Office
Бесплатно для целей разработки Office 365
Developer Subscription
Нет
Облачные
ресурсы
Microsoft Azure – бесплатно
в объеме trial (ок. $150/мес * число аккаунтов)
Облачный грант $60000
Azure Trial –
на 1 месяц, включено
~$150
Регистрация в
магазине
Windows /
Windows Phone
Бесплатно
$19 единовременно.
Студентам -
бесплатно
29
Клиентская составляющая:
Windows 10
Интернет
вещей
Мини-
планшет
Настольный
компьютер
Смартфон
Планшет
Ноутбук
Универсальные приложения
Windows
30
One Windows Platform
Adaptive
User
Interface
Natural
User
Inputs
One SDK+
Tooling
One Store+
One Dev
Center
Cloud
Services
31
Visual Studio для разработки
унив. приложений
32
Разделение дизайна и поведения
<Page>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/
>
<ColumnDefinition Width="*"/
>
</Grid.ColumnDefinitions>
<Button
Grid.Column="0"
x:Name="btn"
Click="btn_Click"/>
<TextBlock
x:Name="txt“
Grid.Column="1"/>
</Grid>
</Page>
Random Rnd = new Random();
private void btn_Click(object sender,
RoutedEventArgs e)
{
var x = Rnd.Next(1, 7);
btn.Content = x.ToString();
txt.Text += string.Format(
"You pressed {0} at {1}n",
x, DateTime.Now);
}
33
Подробнее…
Мини-лекция по разработке
приложений
34
XAML+C#/VB XAML+C#/VB Objective C Java * HTML
Universal App Xamarin / Mono
HTML5 + JS (Apache Cordova)
C++ / DirectX
MonoGame / XNA Unity
Кросс-платформенная разработка
Windows 8 Windows Phone iOS Android WebOS X /
Linux
35
Информационная поддержка конференций
•  Мобильные информационные приложения – под 3 платформы
•  Регистрация, сбор заявок и т.д.
Примеры использования:
•  Startup Village
•  Открытые инновации
Использованный подход:
•  Облачный сервис (Azure)
•  Xamarin для генерации приложений под все платформы
•  Единая бизнес-логика + единый интерфейс с помощью платформы
Appercode
Case Study: Konferenza
36
Для самых начинающих:
Love2Code: программирование для девушек и не только
Увлекательное введение в C#, раздел 9
Разработка контентных приложений прямо в браузере: App Studio
Курс «Создание приложений с помощью App Studio»
Профессиональная разработка на C#/XAML
Курс «Разработка приложений на платформе Майкрософт», раздел 3,4
Курс «Разработка современных приложений на C#», раздел 2
Игры
Курс «Основы программирования на Unity»
Курс «Разработка современных приложений на C#», раздел 4
Публикация приложений
Курс «Публикация и продвижение приложений»
Где посмотреть подробнее
37
Облачная платформа Майкрософт
Поддерживает PaaS и IaaS
Как получить?
Бесплатное тестирование на месяц
http://aka.ms/ru_azure_trial
Студенты и преподаватели в университетах
http://aka.ms/ru_azure_univ
По программе BizSpark – на три года
http://www.microsoft.com/bizspark/
Azure for Research
http://research.microsoft.com/en-us/projects/azure/
38
Выполнение кода
•  Веб-сайт
•  Веб-сервис
•  Worker role
Хранение данных
•  SQL Azure
•  Azure Storage
•  NoSQL (DocumentDB, neo4j, …)
Основные возможности Azure PaaS
39
Что можно сделать на Azure
•  Landing Page
•  Классические веб-сайты ASP.NET, Node.js, …
•  Запустить движки WordPress, Moodle, MediaWiki
и многие другие
•  Организовать хранение данных в сети (SQL Server и др. СУБД,
резервное копирование, файловый архив и т.д.)
•  Запустить виртуальные машины с Windows, UNIX
•  Организовать высокопроизводительный процесс сбора данных путем
обхода веб-страниц
•  Произвести единовременные вычисления на кластере
40
Подробнее…
Мини-лекция по созданию
Landing Page на Microsoft Azure
41
Варианты создания Landing Page
•  Движок блога (WordPress)
•  Движок CMS
•  Простейший сайт (HTML)
•  Динамичный сайт (HTML5/JS, Angular.js)
•  Сайт со сбором данных
Где посмотреть подробнее: http://aka.ms/learnweb
42
Пример: Web Weather Monitor
Данные
Сбор
данных
Веб-сервис
Облачное
приложение
Веб-
интерфейс
http://aka.ms/cloudweatherstation
Веб-
интерфейс
43
Web Weather Monitor – технологии
Azure
Storage
Worker role
Web API
Облачное
приложение
Web Role
ASP.NET
IoT: .NET MF
Web Role
ASP.NET
44
Выбор хранилища данных
Azure Storage
Знакомое API
как на SQL Server
Мощный эффективный
язык запросов
Ограниченный размер
базы, не масштаб.
Масштаб!
Простые примитивы
(блоб, очередь, табл.)
Похожая-на-SQL работа
с данными
Масштаб!
Специфические задачи
(графы, документы)
45
производят данные…Устройства… Microsoft Azure
IoT services:
Интернет вещей
Трансформация
бизнеса
Инновации
Эффективность
Другие
устройства
Windows
46
Составляющие интернета вещей
Бизнес-выводыАналитикаОблачная
инфраструктура
Устройства
1010101001100011010101011101001101010101010011011101111011100101010000110101010111010011010
1010111010011101010101011010011010101010101001101100010101111010011101010101011011110100111
1010101001100011010101011101001101010101010011011101111011100101010000110101010111010011010
1010111010011101010101011010011010101010101001101100010101111010011101010101011011110100111User
input
AlertsSensors Gateway
Agent
A
Devices
Value
StreamInsights
Power BI
HDInsight
Azure Machine
Learning
Customer portal
47
Raspberry Pi 2 Microsoft Band SensorCore Kinect for
Windows
	
  
	
  
	
   	
  
Широкий спектр устройств для интернета вещей
48
Основные идеи:
Использовать Kinect для обнаружения людей перед
стендом и менять поведение
•  Визуальный язык создания сценариев
•  Специализированные модули
Использовать Kinect для сбора данных
о просмотрах и последующей аналитики
•  Пол
•  Статистика по времени просмотра,
перемещения, момент ухода
•  Эмоциональное состояние, пульс
Case Study:
49
Мораль
•  Информационные технологии способны улучшить
почти любой бизнес-процесс
•  Архитектурно современные системы –
это множество клиентских устройств + облако
•  Технологии Майкрософт позволяют быстро прототипировать
и доступны стартапам (BizSpark)
ВОПРОСЫ?

ФРИИ интернет предпринимательство - Приложения и сервисы для бизнеса

  • 1.
  • 2.
    2 Информационные технологии помогаютсделать любой бизнес эффективнее, взяв на себя значительную часть неинтересной работы. •  Как IT меняет мир: сейчас и в будущем •  Как устроены информационные системы: клиенты и облако •  Нужно ли стартапу знать технологии? •  Мобильные и облачные технологии «для чайников» •  Дополнительные ресурсы Структура лекции
  • 3.
    3 Посмотрим на мирв будущем: Microsoft Productivity Future Vision 2015 www.youtube.com/watch?v=w-tFdreZB94 Какие основные черты будущего вы увидели? Этот ролик сделан на основе существующих проектов, развитие которых спрогнозировали на 5-10 лет вперед. Подробнее: microsoft.com/productivityvision Небольшое упражнение
  • 4.
    4 Что мы увидели? Аспекты продуктивности Подробнее Примеры извидео Технологии объединяют людей вместе Объединение позволяет достичь синергетического эффекта. Подробнее о том, почему это важно – см. http://aka.ms/metasystemtransition. Более «умная» жизнь (Assistive Intelligence) Умные технологии на основе Machine Learning, Collective Intelligence помогают нам принимать решения более эффективно. Нет преград для творчества Доступный богатый набор инструментов дает возможность для быстрого и эффективного решения задач Прозрачная мобильность Доступ к интересующей нас информации происходит прозрачно с различных устройств. Данные доступны отовсюду. Другое
  • 5.
    5 Как это влияетна IT-системы? Доступ к информации происходит с различных устройств: смартфоны, планшеты, настольные компьютеры, экраны, гаджеты, датчики, умный дом… Для связи устройств между собой, хранения и обработки информации используется облако
  • 6.
    6 Концепция «трех экранов» КомпьютерГостинаяСмартфон Облако
  • 7.
    7 Три экрана вбудущем Личный помощник Умное окружениеРабочее место Облако
  • 8.
  • 9.
    9 Типовая архитектура системы Клиент Облако БДWebAPI Web API Web Frontend Аналитика Интерфейс Бизнес- логика Бизнес- логика Бизнес- логика Интерфейс
  • 10.
    10 Рассмотрите один илинесколько кейсов проектов различной архитектуры: •  Приложение, сконцентрированное в мобильном устройстве •  Приложение, сконцентрированное в облаке •  Приложение, использующее интернет вещей Приведите примеры реальных стартапов с похожими архитектурными решениями Далее по ходу лекции мы рассмотрим некоторые такие кейсы Case Study
  • 11.
  • 12.
    12 Технологии разработки Нативная разработка iOSObjective C, Swift Android Java Windows Windows Phone •  C# / XAML (контент) •  HTML / Javascript •  C++/ DirectX (игры) Кросс-платформенная разработка HTML/Javascript •  Apache Cordova •  Visual Studio Tools for Apache Cordova C#/XAML Xamarin Studio Игры •  Unity (C#) •  Monogame (C#) •  Cocos2d-x (JS, Lua, C++)
  • 13.
    13 TurnOn – этокомпьютерная казуальная игра Основная логика сосредоточена на клиенте Windows Phone: •  Дополнительная возможность играть в режиме виртуальной реальности с помощью Cardboard VR •  Технология разработки: Unity Облако: информация о лучших игроках Бизнес-модель: freemium, in-app purchase Создатели: Brainy Studio, студенты ПНИПУ (Пермь) •  1 место в мире Imagine Cup 2014 •  AppCampus Award •  Другие успешные проекты: Witchcraft Case Study: TurnOn
  • 14.
    14 “When Windows 8came out, it was truly easy for us to take ‘Doodle God’ and port it over to Windows 8 — it took less than an hour for our team to get it up and running. We also got it up and running on Xbox One.” Paul Baldwin, CEO, JoyBits Источник и материал для чтения: news.microsoft.com/features/game-developers- embrace-windows-and-windows-phone-especially- during-holiday-season/ Case Study: Doodle God, JoyBits
  • 15.
    15 Обеспечение эластичного доступапо требованию к (потенциально неограниченному) пулу вычислительных ресурсов и ресурсов хранения данных Программист может абстрагироваться от того, где происходят требуемые вычисления и где хранятся данные. Оплата происходит по мере потребление ресурсов. Облачные технологии Локальные вычисления Клиент- сервер Распределенные вычисления Облако
  • 16.
    16 В преддверии новогогода Вася Пупков решил основать свою социальную сеть для обмена фотографиями ёлок. Давайте проследим за его головокружительными успехами… Case Study: васонет.рф
  • 17.
    17 Сравнение Свой  сервер ХостингОблако Необходимость покупать оборудование для масштабирования Необходимость докупать и донастраивать виртуальные сервера Возможно в любое время предоставление потенциально неограниченных ресурсов для вычислений и хранения данных. Оплата происходит только за объем потребленных ресурсов. Когда нет нагрузки – оборудование простаивает Когда нет нагрузки – провайдер использует оборудование на другие нужды По завершении проекта – необходимо избавляться от оборудования Возможно прекратить использование хостинга Необходимо придумывать, как хранить большие данные на серверах Необходимо придумывать, как хранить большие данные на серверах Можно использовать готовые модели хранения больших данных на множестве серверов Нет экономии от масштаба. Возможны аппаратные проблемы Некоторая экономия от масштаба и надежность Серьезная экономия от масштаба и повышенная надёжность
  • 18.
    18 Сценарии нагрузки Непредсказуемый всплеск Непредсказуемые/незапланированныепики загрузки. Неожиданный пик загрузки отражается на производительности. Сложность развертывания дополнительных мощностей t Compute Нет нагрузки t t t Вкл./Выкл. Характерные задачи (например, пакетного типа) Простаивание лишних мощностей Время доставки на рынок может быть большим Compute Быстрый рост Успешные сервисы нуждаются в масштабировании, которое может быть сложной задачей. Малая скорость развертывания мощностей Compute Предсказуемый всплеск Сезонная нагрузка на сервисы, пики загрузки приходятся на периодически растущую сложность IT-инфраструктуры и простаивающие мощности Compute
  • 19.
    19 •  Облачный сервисдля ведения бизнеса: CRM, проекты, документы •  Бизнес-модель: SaaS •  Архитектура: облако для хранения данных, бизнес-логики (backend) и web frontend Case Study: FreshOffice
  • 20.
    20 Разные виды облака SaaS Software asa Service Пользователю предоставляется конечное программное обеспечение для решения некоторых задач. Оплата происходит по мере использования. Office 365, Google Docs, OneDrive, DropBox, FreshOffice PaaS Platform as a Service Программисту предоставляется некоторая платформа для создания приложений и хранения данных. Приложения, создаваемые на этой платформе, могут легко запускаться и масштабироваться в облаке. Google App Engine Microsoft Azure (Microsoft Azure for IoT, Event Hubs, Compute, Storage, SQL, …) IaaS Infrastructure as a Service По требованию предоставляются виртуальные машины и элементы виртуальной инфраструктуры. Программист сам заботится о том, как эти компоненты работают вместе и масштабируются. Amazon Elastic Cloud Microsoft Azure VMs
  • 21.
    21 Разные виды облака Серверили частное облако IaaS PaaS SaaS Данные и доступ Данные и доступ Данные и доступ Данные и доступ Приложения Приложения Приложения Приложения Среда выполнения Среда выполнения Среда выполнения Среда выполнения Операционная система Операционная система Операционная система Операционная система Виртуальная машина Виртуальная машина Виртуальная машина Виртуальная машина Вычислительный узел Вычислительный узел Вычислительный узел Вычислительный узел Сеть Сеть Сеть Сеть Диск (хранилище) Диск (хранилище) Диск (хранилище) Диск (хранилище)
  • 22.
    22 Различные варианты развертывания Публичное облако Облачныеуслуги предоставляются публичной компанией широкому классу потребителей. Все данные хранятся на серверах компании, надежность регламентируется на основе SLA Amazon Cloud Microsoft Azure Google AppEngine Гибридное облако Часть данных хранится в публичном облаке, а другая (критическая) часть – в частном облаке или на локальных серверах компании. Программное обеспечение обеспечивает корректное объединение данных. Microsoft Azure Частное облако Компания имеет свой датацентр, который функционирует по тем же принципам, что и облачные сервисы, т.е. он способен выделять ресурсы по запросу. Microsoft Azure Appliance Не облако Данные располагаются на отдельных серверах в самой компании или у хостинг-провайдера. При этом не обеспечивается предоставление ресурсов по требованию, нагрузка на сервера не может быть гибко сбалансирована. Windows Server Linux/FreeBSD Хостинг- провайдеры
  • 23.
    23 Case Study: YouScan Worker DB WebPortal Analytics Worker Бизнес-модель: Развертывание: •  •  •  • 
  • 24.
    24 Часто архитектура системысильно связана с бизнес-моделью Software as a Service Для получения успешного продукта надо говорить с разработчиками на одном языке Базовое знание IT помогает грамотно формулировать ТЗ Понимание возможностей и ограничений Иногда стартап рождается из понимания того, как IT может улучшить окружающий мир Зачем стартапам знать технологии
  • 25.
  • 26.
    26 Преимущество платформы Microsoft КомпьютерГостинаяСмарт Облако C# C# C# C#
  • 27.
  • 28.
    28 Варианты получения ПОи облака BizSpark   (три  года  работы  компании)   Без  BizSpark   Средства разработки (Visual Studio) Бесплатно Visual Studio Professional / Ultimate Бесплатно Visual Studio Community Edition Подписка MSDN для компаний Операционная система (Windows 8/10) Бесплатно для целей разработки OEM или FPP Office Бесплатно для целей разработки Office 365 Developer Subscription Нет Облачные ресурсы Microsoft Azure – бесплатно в объеме trial (ок. $150/мес * число аккаунтов) Облачный грант $60000 Azure Trial – на 1 месяц, включено ~$150 Регистрация в магазине Windows / Windows Phone Бесплатно $19 единовременно. Студентам - бесплатно
  • 29.
  • 30.
    30 One Windows Platform Adaptive User Interface Natural User Inputs OneSDK+ Tooling One Store+ One Dev Center Cloud Services
  • 31.
    31 Visual Studio дляразработки унив. приложений
  • 32.
    32 Разделение дизайна иповедения <Page> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/ > <ColumnDefinition Width="*"/ > </Grid.ColumnDefinitions> <Button Grid.Column="0" x:Name="btn" Click="btn_Click"/> <TextBlock x:Name="txt“ Grid.Column="1"/> </Grid> </Page> Random Rnd = new Random(); private void btn_Click(object sender, RoutedEventArgs e) { var x = Rnd.Next(1, 7); btn.Content = x.ToString(); txt.Text += string.Format( "You pressed {0} at {1}n", x, DateTime.Now); }
  • 33.
  • 34.
    34 XAML+C#/VB XAML+C#/VB ObjectiveC Java * HTML Universal App Xamarin / Mono HTML5 + JS (Apache Cordova) C++ / DirectX MonoGame / XNA Unity Кросс-платформенная разработка Windows 8 Windows Phone iOS Android WebOS X / Linux
  • 35.
    35 Информационная поддержка конференций • Мобильные информационные приложения – под 3 платформы •  Регистрация, сбор заявок и т.д. Примеры использования: •  Startup Village •  Открытые инновации Использованный подход: •  Облачный сервис (Azure) •  Xamarin для генерации приложений под все платформы •  Единая бизнес-логика + единый интерфейс с помощью платформы Appercode Case Study: Konferenza
  • 36.
    36 Для самых начинающих: Love2Code:программирование для девушек и не только Увлекательное введение в C#, раздел 9 Разработка контентных приложений прямо в браузере: App Studio Курс «Создание приложений с помощью App Studio» Профессиональная разработка на C#/XAML Курс «Разработка приложений на платформе Майкрософт», раздел 3,4 Курс «Разработка современных приложений на C#», раздел 2 Игры Курс «Основы программирования на Unity» Курс «Разработка современных приложений на C#», раздел 4 Публикация приложений Курс «Публикация и продвижение приложений» Где посмотреть подробнее
  • 37.
    37 Облачная платформа Майкрософт ПоддерживаетPaaS и IaaS Как получить? Бесплатное тестирование на месяц http://aka.ms/ru_azure_trial Студенты и преподаватели в университетах http://aka.ms/ru_azure_univ По программе BizSpark – на три года http://www.microsoft.com/bizspark/ Azure for Research http://research.microsoft.com/en-us/projects/azure/
  • 38.
    38 Выполнение кода •  Веб-сайт • Веб-сервис •  Worker role Хранение данных •  SQL Azure •  Azure Storage •  NoSQL (DocumentDB, neo4j, …) Основные возможности Azure PaaS
  • 39.
    39 Что можно сделатьна Azure •  Landing Page •  Классические веб-сайты ASP.NET, Node.js, … •  Запустить движки WordPress, Moodle, MediaWiki и многие другие •  Организовать хранение данных в сети (SQL Server и др. СУБД, резервное копирование, файловый архив и т.д.) •  Запустить виртуальные машины с Windows, UNIX •  Организовать высокопроизводительный процесс сбора данных путем обхода веб-страниц •  Произвести единовременные вычисления на кластере
  • 40.
  • 41.
    41 Варианты создания LandingPage •  Движок блога (WordPress) •  Движок CMS •  Простейший сайт (HTML) •  Динамичный сайт (HTML5/JS, Angular.js) •  Сайт со сбором данных Где посмотреть подробнее: http://aka.ms/learnweb
  • 42.
    42 Пример: Web WeatherMonitor Данные Сбор данных Веб-сервис Облачное приложение Веб- интерфейс http://aka.ms/cloudweatherstation Веб- интерфейс
  • 43.
    43 Web Weather Monitor– технологии Azure Storage Worker role Web API Облачное приложение Web Role ASP.NET IoT: .NET MF Web Role ASP.NET
  • 44.
    44 Выбор хранилища данных AzureStorage Знакомое API как на SQL Server Мощный эффективный язык запросов Ограниченный размер базы, не масштаб. Масштаб! Простые примитивы (блоб, очередь, табл.) Похожая-на-SQL работа с данными Масштаб! Специфические задачи (графы, документы)
  • 45.
    45 производят данные…Устройства… MicrosoftAzure IoT services: Интернет вещей Трансформация бизнеса Инновации Эффективность Другие устройства Windows
  • 46.
  • 47.
    47 Raspberry Pi 2Microsoft Band SensorCore Kinect for Windows         Широкий спектр устройств для интернета вещей
  • 48.
    48 Основные идеи: Использовать Kinectдля обнаружения людей перед стендом и менять поведение •  Визуальный язык создания сценариев •  Специализированные модули Использовать Kinect для сбора данных о просмотрах и последующей аналитики •  Пол •  Статистика по времени просмотра, перемещения, момент ухода •  Эмоциональное состояние, пульс Case Study:
  • 49.
    49 Мораль •  Информационные технологииспособны улучшить почти любой бизнес-процесс •  Архитектурно современные системы – это множество клиентских устройств + облако •  Технологии Майкрософт позволяют быстро прототипировать и доступны стартапам (BizSpark)
  • 50.