SlideShare a Scribd company logo
1 of 14
Как легко и быстро
поднять стартап на
облаке Azure
НА ПРИМЕРЕ СЕРВИСА 1CFR.RU
Андрей Тукманов
Обучение
МГИЭМ Программист САПР
ITM-BA АНХ
УПП
Работа
Более 5 лет
1С франчайзи более 7 лет
Ассистент программиста 1С
www.1cfr.ru
 Ведение списка конфигураций 1С для
отслеживания обновлений
 Ведение клиентской базы
 Оповещения на мобильном устройстве
 Единая Google аутентификация
 Отправка скриншотов клиентами
 Отправка видео записей рабочего стола
Storage
Как это все увязано в проекте
1cfr.ru
Сайт
Мобильное
приложение
Ассистент
Cloud Services
Worker Role
Web Role
Redis
CacheTables
Queue
Blob
Rest запросы
JSON ответы
Скриншоты
Видео
Файлы
Ресайз и
обработка
графики
Ссылки на файлы
Сессии
Подключения к ассистенту
Обновление статистики
Получение
ссылок на
файлы
Почему облако?
Легкость написания серверного кода
Масштабирование проекта
Все что нужно уже сконфигурировано
Требования к проекту:
Программист
•Минимум кода
для быстрого
создания
прототипа
•Минимум усилий
на изобретение
велосипедов
•Возможность
масштабировать
проект
•Безопасноть
готового решения
Androidклиент
•Общение с
сервером через
REST-API
•Поддержка
начиная с версии
2.1
Сервер
•Масштабирование
•Минимум
администрирования
•Безопасность
•Цена
Azure Cloud Services
Масштабирование
•Одним кликом можно менять количество
единиц. Возможность автоматического
масштабирования
WCF для создания RESTfull сервиса
•Visual Studio 2012 поддерживает из коробки
создание шаблонов проектов для Azure
Services
Пример кода для простого WCF
сервиса
 [ServiceContract]
 public partial class helloWorld {
 …
 [OperationContract]
 [WebGet(UriTemplate = "/test/{testWord}", ResponseFormat =
WebMessageFormat.Json)]
 public String testException(String testWord)
 { return “Hello world: ” + testWord;}
 …
 }
 Добавить в файл *.svc <%@ ServiceHost Debug="true"
Factory="System.ServiceModel.Activation.WebServiceHostFactory“
Service…" %>
Хранение данных
SQL
• Можно арендовать как виртуальную машину так и
отдельно сервис SQL сервера
Tables
• Легко создавать и модифицировать структуру. Azure
берет все на себя
• Отсутствие головной боли с транзакциями
• Гораздо дешевле при больших объемах данных
• Быстрый поиск записей по RowKey + PartitionKey
Пример описания структуры
таблицы
 public class testTable : TableEntity
 {
public String testField {get; set;}
...
 }
 ...
 TableOperation.InsertOrReplace(entity);
«Тяжелые» операции: Insert, Delete,
обработка файлов / изображений
 Можно усложнять код, увеличивать процессорные мощности
 Можно выделить отдельный процесс для обработки заданий, что
увеличит отзывчивость сервиса в целом
 Создаем очередь Azure Queue
 Создаем WorkerRole для обработки сообщений из очередей
 Получение сообщения: testQueue.GetMessage()
 Удаление обработанного: testQueue.DeleteMessage()
 Есть возможность отображать сообщение повторно, если оно не
обработано.
 Увеличиваем количество экземпляров, если необходимо
Работа с файлами
 Возможность получить огромные объемы для службы Azure
Storage (100 000 гб)
 4 строчки кода выдавать ссылку на загрузку/выгрузку файла с
ограничением по времени
 SharedAccessBlobPolicy policy = new SharedAccessBlobPolicy() {
 SharedAccessExpiryTime = DateTime.UtcNow - TimeSpan.FromMinutes(10),
 SharedAccessStartTime = DateTime.UtcNow + TimeSpan.FromMinutes(50)};
 blockBlobWr.GetSharedAccessSignature(policy)
 Это повышает безопасность и позволяет не хранить ключи
доступа на клиентских приложениях для загрузки.
Кэш
 In Role Caching
 Позволяет кэшировать объекты для доступа из всех экземпляров
 Можно установить TTL для именованного кэша
 Redis Cache
 Общая служба, доступ к которой можно получить из любой службы
 Можно хранить текстовые и числовые данные
 Можно установить TTL для любой позиции добавляемой в кэш
Контакты
 Тукманов Андрей
 info@1cfr.ru
 Skype: andrewtukmanov

More Related Content

What's hot

Развертывание и управление CMS Drupal в Microsoft Azure
Развертывание и управление CMS Drupal в Microsoft AzureРазвертывание и управление CMS Drupal в Microsoft Azure
Развертывание и управление CMS Drupal в Microsoft AzureArtur Baranok
 
Облачные технологии и виртуализация
Облачные технологии и виртуализацияОблачные технологии и виртуализация
Облачные технологии и виртуализацияoelifantiev
 
CodeFest 2011. Левин М. — Фреймворк для автоматизации тестирования и функцион...
CodeFest 2011. Левин М. — Фреймворк для автоматизации тестирования и функцион...CodeFest 2011. Левин М. — Фреймворк для автоматизации тестирования и функцион...
CodeFest 2011. Левин М. — Фреймворк для автоматизации тестирования и функцион...CodeFest
 
Александр Ломов-«Как перестать беспокоиться и начать использовать Cloud Foundry»
Александр Ломов-«Как перестать беспокоиться и начать использовать Cloud Foundry»Александр Ломов-«Как перестать беспокоиться и начать использовать Cloud Foundry»
Александр Ломов-«Как перестать беспокоиться и начать использовать Cloud Foundry»Tanya Denisyuk
 
IOP202 DevCon 2012 Apache Lucene in Windows Azure
IOP202 DevCon 2012 Apache Lucene in Windows AzureIOP202 DevCon 2012 Apache Lucene in Windows Azure
IOP202 DevCon 2012 Apache Lucene in Windows AzureVadim Novitskiy
 
Android Telegram S Optimizations
Android Telegram S OptimizationsAndroid Telegram S Optimizations
Android Telegram S OptimizationsStepan Korshakov
 
06. Обучение и сертификация по Azure
06. Обучение и сертификация по Azure06. Обучение и сертификация по Azure
06. Обучение и сертификация по AzureAlexander Babich
 
Специфика рендеринга vue.js-приложений на сервере, Алексей Клюев
Специфика рендеринга vue.js-приложений на сервере, Алексей КлюевСпецифика рендеринга vue.js-приложений на сервере, Алексей Клюев
Специфика рендеринга vue.js-приложений на сервере, Алексей КлюевMail.ru Group
 
ZFConf 2010: Using Message Queues in Day-to-Day Projects (Zend_Queue)
ZFConf 2010: Using Message Queues in Day-to-Day Projects (Zend_Queue)ZFConf 2010: Using Message Queues in Day-to-Day Projects (Zend_Queue)
ZFConf 2010: Using Message Queues in Day-to-Day Projects (Zend_Queue)ZFConf Conference
 
Михаил Юматов: SaltStack
Михаил Юматов: SaltStackМихаил Юматов: SaltStack
Михаил Юматов: SaltStackit-people
 
.NET Core в современных проектах
.NET Core в современных проектах.NET Core в современных проектах
.NET Core в современных проектахAndrew Gubskiy
 
04 web server_deployment_ru
04 web server_deployment_ru04 web server_deployment_ru
04 web server_deployment_rumcroitor
 
06 php instalation_ru
06 php instalation_ru06 php instalation_ru
06 php instalation_rumcroitor
 
ВІТАЛІЙ ГОНЧАРУК «За допомогою чого пишуться серйозні веб додатки на .NET» O...
ВІТАЛІЙ ГОНЧАРУК «За допомогою чого пишуться серйозні веб додатки на .NET»  O...ВІТАЛІЙ ГОНЧАРУК «За допомогою чого пишуться серйозні веб додатки на .NET»  O...
ВІТАЛІЙ ГОНЧАРУК «За допомогою чого пишуться серйозні веб додатки на .NET» O...WDDay
 
Konstantin slisenko - Spring Framework
Konstantin slisenko - Spring FrameworkKonstantin slisenko - Spring Framework
Konstantin slisenko - Spring Frameworkbeloslab
 
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)Ontico
 

What's hot (20)

Развертывание и управление CMS Drupal в Microsoft Azure
Развертывание и управление CMS Drupal в Microsoft AzureРазвертывание и управление CMS Drupal в Microsoft Azure
Развертывание и управление CMS Drupal в Microsoft Azure
 
Облачные технологии и виртуализация
Облачные технологии и виртуализацияОблачные технологии и виртуализация
Облачные технологии и виртуализация
 
CodeFest 2011. Левин М. — Фреймворк для автоматизации тестирования и функцион...
CodeFest 2011. Левин М. — Фреймворк для автоматизации тестирования и функцион...CodeFest 2011. Левин М. — Фреймворк для автоматизации тестирования и функцион...
CodeFest 2011. Левин М. — Фреймворк для автоматизации тестирования и функцион...
 
Александр Ломов-«Как перестать беспокоиться и начать использовать Cloud Foundry»
Александр Ломов-«Как перестать беспокоиться и начать использовать Cloud Foundry»Александр Ломов-«Как перестать беспокоиться и начать использовать Cloud Foundry»
Александр Ломов-«Как перестать беспокоиться и начать использовать Cloud Foundry»
 
IOP202 DevCon 2012 Apache Lucene in Windows Azure
IOP202 DevCon 2012 Apache Lucene in Windows AzureIOP202 DevCon 2012 Apache Lucene in Windows Azure
IOP202 DevCon 2012 Apache Lucene in Windows Azure
 
Service stack
Service stackService stack
Service stack
 
Android Telegram S Optimizations
Android Telegram S OptimizationsAndroid Telegram S Optimizations
Android Telegram S Optimizations
 
06. Обучение и сертификация по Azure
06. Обучение и сертификация по Azure06. Обучение и сертификация по Azure
06. Обучение и сертификация по Azure
 
Специфика рендеринга vue.js-приложений на сервере, Алексей Клюев
Специфика рендеринга vue.js-приложений на сервере, Алексей КлюевСпецифика рендеринга vue.js-приложений на сервере, Алексей Клюев
Специфика рендеринга vue.js-приложений на сервере, Алексей Клюев
 
Sql server 2011
Sql server 2011Sql server 2011
Sql server 2011
 
ZFConf 2010: Using Message Queues in Day-to-Day Projects (Zend_Queue)
ZFConf 2010: Using Message Queues in Day-to-Day Projects (Zend_Queue)ZFConf 2010: Using Message Queues in Day-to-Day Projects (Zend_Queue)
ZFConf 2010: Using Message Queues in Day-to-Day Projects (Zend_Queue)
 
Михаил Юматов: SaltStack
Михаил Юматов: SaltStackМихаил Юматов: SaltStack
Михаил Юматов: SaltStack
 
Silverlight 5
Silverlight 5Silverlight 5
Silverlight 5
 
.NET Core в современных проектах
.NET Core в современных проектах.NET Core в современных проектах
.NET Core в современных проектах
 
Capistrano Framework
Capistrano FrameworkCapistrano Framework
Capistrano Framework
 
04 web server_deployment_ru
04 web server_deployment_ru04 web server_deployment_ru
04 web server_deployment_ru
 
06 php instalation_ru
06 php instalation_ru06 php instalation_ru
06 php instalation_ru
 
ВІТАЛІЙ ГОНЧАРУК «За допомогою чого пишуться серйозні веб додатки на .NET» O...
ВІТАЛІЙ ГОНЧАРУК «За допомогою чого пишуться серйозні веб додатки на .NET»  O...ВІТАЛІЙ ГОНЧАРУК «За допомогою чого пишуться серйозні веб додатки на .NET»  O...
ВІТАЛІЙ ГОНЧАРУК «За допомогою чого пишуться серйозні веб додатки на .NET» O...
 
Konstantin slisenko - Spring Framework
Konstantin slisenko - Spring FrameworkKonstantin slisenko - Spring Framework
Konstantin slisenko - Spring Framework
 
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
 

Viewers also liked

Школы и сады москвы
Школы и сады москвыШколы и сады москвы
Школы и сады москвыTatiana Smetanina
 
Аналитика мобильных приложений - Тинькофф
Аналитика мобильных приложений - ТинькоффАналитика мобильных приложений - Тинькофф
Аналитика мобильных приложений - ТинькоффTatiana Smetanina
 
Разработка мобильных приложений для взаимодействия с реальными устройствами
Разработка мобильных приложений для взаимодействия с реальными устройствамиРазработка мобильных приложений для взаимодействия с реальными устройствами
Разработка мобильных приложений для взаимодействия с реальными устройствамиTatiana Smetanina
 
От 1 до 100 дюймов
От 1 до 100 дюймовОт 1 до 100 дюймов
От 1 до 100 дюймовTatiana Smetanina
 
Разработка мобильных игр на HTML5 и JavaScript
Разработка мобильных игр на HTML5 и JavaScriptРазработка мобильных игр на HTML5 и JavaScript
Разработка мобильных игр на HTML5 и JavaScriptTatiana Smetanina
 
Разработка в Vs2015
Разработка в Vs2015Разработка в Vs2015
Разработка в Vs2015Tatiana Smetanina
 
Архитектура мобильных приложений - Тинькофф
Архитектура мобильных приложений - ТинькоффАрхитектура мобильных приложений - Тинькофф
Архитектура мобильных приложений - ТинькоффTatiana Smetanina
 

Viewers also liked (7)

Школы и сады москвы
Школы и сады москвыШколы и сады москвы
Школы и сады москвы
 
Аналитика мобильных приложений - Тинькофф
Аналитика мобильных приложений - ТинькоффАналитика мобильных приложений - Тинькофф
Аналитика мобильных приложений - Тинькофф
 
Разработка мобильных приложений для взаимодействия с реальными устройствами
Разработка мобильных приложений для взаимодействия с реальными устройствамиРазработка мобильных приложений для взаимодействия с реальными устройствами
Разработка мобильных приложений для взаимодействия с реальными устройствами
 
От 1 до 100 дюймов
От 1 до 100 дюймовОт 1 до 100 дюймов
От 1 до 100 дюймов
 
Разработка мобильных игр на HTML5 и JavaScript
Разработка мобильных игр на HTML5 и JavaScriptРазработка мобильных игр на HTML5 и JavaScript
Разработка мобильных игр на HTML5 и JavaScript
 
Разработка в Vs2015
Разработка в Vs2015Разработка в Vs2015
Разработка в Vs2015
 
Архитектура мобильных приложений - Тинькофф
Архитектура мобильных приложений - ТинькоффАрхитектура мобильных приложений - Тинькофф
Архитектура мобильных приложений - Тинькофф
 

Similar to Как легко и быстро поднять стартап на облаке

Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...Dmitry Andreev
 
Microsoft Visual Studio 2010
Microsoft Visual Studio 2010Microsoft Visual Studio 2010
Microsoft Visual Studio 2010Alexander Babich
 
Roman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureRoman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureAndrew Mayorov
 
Tfs Overview And Architecture (www.cmcons.com)
Tfs Overview And Architecture (www.cmcons.com)Tfs Overview And Architecture (www.cmcons.com)
Tfs Overview And Architecture (www.cmcons.com)Alexander Novichkov
 
Windows azure общий обзор
Windows azure общий обзорWindows azure общий обзор
Windows azure общий обзорMicrosoft
 
Fuse8.domain framework - анонс библиотеки для работы с данными
Fuse8.domain framework - анонс библиотеки для работы с даннымиFuse8.domain framework - анонс библиотеки для работы с данными
Fuse8.domain framework - анонс библиотеки для работы с даннымиAlexander Byndyu
 
Sql Server Data Services
Sql Server Data ServicesSql Server Data Services
Sql Server Data ServicesMedia Gorod
 
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...Ontico
 
Testing RIA with Selenium
Testing RIA with SeleniumTesting RIA with Selenium
Testing RIA with SeleniumSergey Shvets
 
Azure - облачные сервисы и приложения
Azure - облачные сервисы и приложенияAzure - облачные сервисы и приложения
Azure - облачные сервисы и приложенияAlexander Babich
 
Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014Alexey Bokov
 
Windows Azure для стартапов
Windows Azure для стартаповWindows Azure для стартапов
Windows Azure для стартаповAlexey Bokov
 
Облако Windows Azure для тестирования и разработки
Облако Windows Azure для тестирования и разработкиОблако Windows Azure для тестирования и разработки
Облако Windows Azure для тестирования и разработкиAlexey Bokov
 
летняя школа д1 (домашнее задание)
летняя школа д1 (домашнее задание)летняя школа д1 (домашнее задание)
летняя школа д1 (домашнее задание)Vyacheslav Checkmasov
 
CGVictor - Azure (Ажурные перспективы - СПб, INETA, 22.12.2009)
CGVictor - Azure (Ажурные перспективы - СПб, INETA, 22.12.2009)CGVictor - Azure (Ажурные перспективы - СПб, INETA, 22.12.2009)
CGVictor - Azure (Ажурные перспективы - СПб, INETA, 22.12.2009)cgvictor
 
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgДело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgIT61
 
Основные аспекты управления веб-проектом в Microsoft Azure Websites
Основные аспекты управления веб-проектом в Microsoft Azure WebsitesОсновные аспекты управления веб-проектом в Microsoft Azure Websites
Основные аспекты управления веб-проектом в Microsoft Azure WebsitesArtur Baranok
 
Виртуализация критически важных приложений
Виртуализация критически важных приложенийВиртуализация критически важных приложений
Виртуализация критически важных приложенийJack Chikovany
 

Similar to Как легко и быстро поднять стартап на облаке (20)

Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...
 
Microsoft Visual Studio 2010
Microsoft Visual Studio 2010Microsoft Visual Studio 2010
Microsoft Visual Studio 2010
 
Roman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureRoman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows Azure
 
Tfs Overview And Architecture (www.cmcons.com)
Tfs Overview And Architecture (www.cmcons.com)Tfs Overview And Architecture (www.cmcons.com)
Tfs Overview And Architecture (www.cmcons.com)
 
Windows azure общий обзор
Windows azure общий обзорWindows azure общий обзор
Windows azure общий обзор
 
Fuse8.domain framework - анонс библиотеки для работы с данными
Fuse8.domain framework - анонс библиотеки для работы с даннымиFuse8.domain framework - анонс библиотеки для работы с данными
Fuse8.domain framework - анонс библиотеки для работы с данными
 
Sql Server Data Services
Sql Server Data ServicesSql Server Data Services
Sql Server Data Services
 
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
 
Testing RIA with Selenium
Testing RIA with SeleniumTesting RIA with Selenium
Testing RIA with Selenium
 
Simonova sql server-enginetesting
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetesting
 
Azure - облачные сервисы и приложения
Azure - облачные сервисы и приложенияAzure - облачные сервисы и приложения
Azure - облачные сервисы и приложения
 
Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014
 
Windows Azure для стартапов
Windows Azure для стартаповWindows Azure для стартапов
Windows Azure для стартапов
 
Облако Windows Azure для тестирования и разработки
Облако Windows Azure для тестирования и разработкиОблако Windows Azure для тестирования и разработки
Облако Windows Azure для тестирования и разработки
 
летняя школа д1 (домашнее задание)
летняя школа д1 (домашнее задание)летняя школа д1 (домашнее задание)
летняя школа д1 (домашнее задание)
 
CGVictor - Azure (Ажурные перспективы - СПб, INETA, 22.12.2009)
CGVictor - Azure (Ажурные перспективы - СПб, INETA, 22.12.2009)CGVictor - Azure (Ажурные перспективы - СПб, INETA, 22.12.2009)
CGVictor - Azure (Ажурные перспективы - СПб, INETA, 22.12.2009)
 
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgДело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
 
Основные аспекты управления веб-проектом в Microsoft Azure Websites
Основные аспекты управления веб-проектом в Microsoft Azure WebsitesОсновные аспекты управления веб-проектом в Microsoft Azure Websites
Основные аспекты управления веб-проектом в Microsoft Azure Websites
 
Описание и архитектура TFS 2008
Описание и архитектура TFS 2008Описание и архитектура TFS 2008
Описание и архитектура TFS 2008
 
Виртуализация критически важных приложений
Виртуализация критически важных приложенийВиртуализация критически важных приложений
Виртуализация критически важных приложений
 

Как легко и быстро поднять стартап на облаке

  • 1. Как легко и быстро поднять стартап на облаке Azure НА ПРИМЕРЕ СЕРВИСА 1CFR.RU
  • 2. Андрей Тукманов Обучение МГИЭМ Программист САПР ITM-BA АНХ УПП Работа Более 5 лет 1С франчайзи более 7 лет
  • 3. Ассистент программиста 1С www.1cfr.ru  Ведение списка конфигураций 1С для отслеживания обновлений  Ведение клиентской базы  Оповещения на мобильном устройстве  Единая Google аутентификация  Отправка скриншотов клиентами  Отправка видео записей рабочего стола
  • 4. Storage Как это все увязано в проекте 1cfr.ru Сайт Мобильное приложение Ассистент Cloud Services Worker Role Web Role Redis CacheTables Queue Blob Rest запросы JSON ответы Скриншоты Видео Файлы Ресайз и обработка графики Ссылки на файлы Сессии Подключения к ассистенту Обновление статистики Получение ссылок на файлы
  • 5. Почему облако? Легкость написания серверного кода Масштабирование проекта Все что нужно уже сконфигурировано
  • 6. Требования к проекту: Программист •Минимум кода для быстрого создания прототипа •Минимум усилий на изобретение велосипедов •Возможность масштабировать проект •Безопасноть готового решения Androidклиент •Общение с сервером через REST-API •Поддержка начиная с версии 2.1 Сервер •Масштабирование •Минимум администрирования •Безопасность •Цена
  • 7. Azure Cloud Services Масштабирование •Одним кликом можно менять количество единиц. Возможность автоматического масштабирования WCF для создания RESTfull сервиса •Visual Studio 2012 поддерживает из коробки создание шаблонов проектов для Azure Services
  • 8. Пример кода для простого WCF сервиса  [ServiceContract]  public partial class helloWorld {  …  [OperationContract]  [WebGet(UriTemplate = "/test/{testWord}", ResponseFormat = WebMessageFormat.Json)]  public String testException(String testWord)  { return “Hello world: ” + testWord;}  …  }  Добавить в файл *.svc <%@ ServiceHost Debug="true" Factory="System.ServiceModel.Activation.WebServiceHostFactory“ Service…" %>
  • 9. Хранение данных SQL • Можно арендовать как виртуальную машину так и отдельно сервис SQL сервера Tables • Легко создавать и модифицировать структуру. Azure берет все на себя • Отсутствие головной боли с транзакциями • Гораздо дешевле при больших объемах данных • Быстрый поиск записей по RowKey + PartitionKey
  • 10. Пример описания структуры таблицы  public class testTable : TableEntity  { public String testField {get; set;} ...  }  ...  TableOperation.InsertOrReplace(entity);
  • 11. «Тяжелые» операции: Insert, Delete, обработка файлов / изображений  Можно усложнять код, увеличивать процессорные мощности  Можно выделить отдельный процесс для обработки заданий, что увеличит отзывчивость сервиса в целом  Создаем очередь Azure Queue  Создаем WorkerRole для обработки сообщений из очередей  Получение сообщения: testQueue.GetMessage()  Удаление обработанного: testQueue.DeleteMessage()  Есть возможность отображать сообщение повторно, если оно не обработано.  Увеличиваем количество экземпляров, если необходимо
  • 12. Работа с файлами  Возможность получить огромные объемы для службы Azure Storage (100 000 гб)  4 строчки кода выдавать ссылку на загрузку/выгрузку файла с ограничением по времени  SharedAccessBlobPolicy policy = new SharedAccessBlobPolicy() {  SharedAccessExpiryTime = DateTime.UtcNow - TimeSpan.FromMinutes(10),  SharedAccessStartTime = DateTime.UtcNow + TimeSpan.FromMinutes(50)};  blockBlobWr.GetSharedAccessSignature(policy)  Это повышает безопасность и позволяет не хранить ключи доступа на клиентских приложениях для загрузки.
  • 13. Кэш  In Role Caching  Позволяет кэшировать объекты для доступа из всех экземпляров  Можно установить TTL для именованного кэша  Redis Cache  Общая служба, доступ к которой можно получить из любой службы  Можно хранить текстовые и числовые данные  Можно установить TTL для любой позиции добавляемой в кэш
  • 14. Контакты  Тукманов Андрей  info@1cfr.ru  Skype: andrewtukmanov