DevCon12 // msdevcon.ru #msdevcon 23-24 мая, 2012 г. Microsoft.

Презентация:



Advertisements
Похожие презентации
Microsoft TechDays Людмила Шайкина Quarta Consulting
Advertisements

Msdevcon.ru#msdevcon. OPEN SOURCE РЕШЕНИЯ В ОБЛАКЕ WINDOWS AZURE Воркачёв Владимир.
Новые продукты Microsoft для повышения качества и эффективности образования Амит Миталь Старший вице-президент Microsoft по развитию социальных проектов.
Microsoft TechDays Евгений Марченков Эксперт по технологиям разработки ПО Microsoft.
Microsoft TechDays Павел Маслов MVP, Directory Services.
Вычислительные ресурсы и приложения доступные через Интернет в виде сервисов Облачные вычисления.
Innovation Day. 12 основных фактов о SaaS-бизнесе Оценка стоимости размещения в Azure.
Microsoft TechDays Леонид Шапиро MCT ЦКО «Специалист»
Microsoft TechDays Николай Миляев консультант Microsoft.
На примере одного дня из жизни руководителя. Поездка в Милан.
Валерия Казбан, менежер по работе с государственным сектором, Майкрософт Украина Опыт внедрения концепции е- управления Майкрософт Украина: локальные особенности.
Msdevcon.ru#msdevcon. ВЗГЛЯД РАЗРАБОТЧИКА: WINDOWS AZURE IAAS Воркачёв Владимир.
DevCon12 // msdevcon.ru #msdevcon мая, 2012 г. Microsoft.
Microsoft TechDays Константин Трещев MCITP: Enterprise Administrator
Ромуальд Здебский Microsoft.
ПРАКТИЧЕСКИЙ ОПЫТ КОМПАНИИ ABBYY ПРИ ПОСТРОЕНИИ СЕРВИСА НА WINDOWS AZURE Руководитель группы веб- разработки Lingvo ABBYY Евгений Агафонов.
Будущее режима /hosting в Exchange Иван Макаров Менеджер по маркетингу Exchange Microsoft Россия.
Microsoft TechDays Евгений Марченков Эксперт по технологиям разработки ПО Microsoft.
Microsoft TechDays Золотовицкий Аркадий Директор по производству «Интеллектуальные системы»
Microsoft TechDays Иван Андреев Microsoft TechDays Игра состоит из: Графика Управление AI Звук.
Транксрипт:

DevCon12 // msdevcon.ru #msdevcon мая, 2012 г. Microsoft

// DevCon12 Практический опыт миграции сервиса на Azure Иван Бодягин Deputy CTO ABBYY

Содержание Облачные сервисы Архитектура FineReader Online Практика использования Очереди, таблицы, Хранилища Развертывание Масштабирование

#msdevcon Зачем нужны и какие бывают Облачные сервисы

Зачем нужны online сервисы Устранение цепочки посредников Новые рыночные ниши борьба с пиратством новый класс решений

Чем хороши облака Масштабирование потребляется только необходимый объем ресурсов скорость масштабирования в несколько раз выше, чем при традиционном подходе Надержность и доступность гораздо выше скорость реакции на инцидент на много больше инструментов

Чем хороши облака Экономия на обслуживании оборудования не для всех сценариев Гео-распределение датацентры по всему миру

Какие бывают облака + очень низкий порог вхождения - больше работы по обслуживанию окружения - создается иллюзия полноценного облачного сервиса Infrastructure as a Service (IaaS)

Какие бывают облака - требует серьезных усилий при переходе + меньше работ по администрированию + гарантировано обладает преимуществами облачных решений Platform as a Service (PaaS)

#msdevcon FineReader Online Архитектура

Abbyy.Online API

Детали реализации IPlatformQueue AzureQueue – реализация очереди для Azure IPlatformBlobStorage AzureBlobStorage – реализация облачного хранилища IPlatformData AzureSqlData – реализация для SQL Azure AzureTableData – реализация для AzureTable (успехом не увенчалась)

Архитектура Два экземпляра каждой роли для отказоустойчивости При исключении, отсутствии ответа, превышении времени обработки задания процесс убивается. Задание возвращается в очередь Узлы развернуты в разных регионах Регионы могут помогать друг-другу при высоких нагрузках

#msdevcon WASABi Azure Autoscale Application Block

Два типа правил Constraint Работают на основе временных границ Помогают держать в рамках бюджет Имеют ранги для определения победителя, если времена пересекаются Reactive Динамически подстраивают число «инстансов» или выполняют другие действия руководствуясь указанными предусловиями Предусловия формируются из счетчиков или произвольных бизнес- метрик Помогают динамически подстраиваться вашему приложению под текущую нагрузку

особенности По прежнему необходимо писать ручной код, так как это библиотека а не встроенный сервис. Нет необходимости заботиться об отказоустойчивости – поддерживается механизм лизинга и взаимного контроля

#msdevcon Опыт работы с Azure

Развертывание Если нужно развернуть несколько проектов или дополнительные сущности, то на них должна быть ссылка из основного проекта Есть ограничения на размер пакета Решение: Все необходимые проекты и прочие сущности предварительно архивируются и выкладываются в BLOB Storage При развертывании все извлекается из облачного хранилища, распаковывается и устанавливается

Развертывание Есть ошибки при формировании пакета Неочевидное расположение каталогов с сайтами Затруднена отладка – в некоторые моменты просто нет диагностики Эмулятор малопригоден Маскирует ошибки Не полностью моделирует реальное облако

Очереди Service Bus уведомления, приоритеты, фильтрация Azure Queue Нельзя изменить время обработки Нет приоритетов Нельзя фильтровать

Таблицы Только один индекс (из 2х частей) Весьма ограниченый набор типов Даже enum не поддерживается Плохой дизайн библиотеки POCO объекты с определенными полями Плохая диагностика Нельзя использовать сортировку

SQL Azure Очень бедный инструментарий Сложности при миграции Невозможно сделать согласованный бакап Всегда нужно учитывать возможность ошибки соединения В среднем одно подключение в сутки с ошибкой

Общий итог Не смотря на недавний старт, Azure уже является достаточно взрослой платформой для развертывания отказоустойчивых и масштабируемых решений PaaS подход в перспективе предпочтительнее IaaS. Azure активно развивается и с каждым релизом предоставляет новый полезный функционал ServiceBus, Azure cache, Access Control…

#msdevcon Иван Бодягин Deputy CTO ABBYY

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.