Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемАнна Мурина
1 ПРАКТИЧЕСКИЙ ОПЫТ КОМПАНИИ ABBYY ПРИ ПОСТРОЕНИИ СЕРВИСА НА WINDOWS AZURE Руководитель группы веб- разработки Lingvo ABBYY Евгений Агафонов
2 СОДЕРЖАНИЕ Что такое «Облако» Облачные сервисы Windows Azure Описание Развертывание Очереди Таблицы Хранилища Масштабирование
3 СОДЕРЖАНИЕ Практика Сервисы ABBYY ABBYY FineReader Online ABBYY OCR SDK
4 Возможность легкого масштабирования в зависимости от нагрузки Экономия на обслуживании оборудования Возможность быть ближе к пользователю Размещение сервисов в датацентрах по всему миру Оплата за сервис основывается на основании потребляемых ресурсов ОБЛАКО
5 ОБЛАЧНЫЕ СЕРВИСЫ Custom Software Storage Servers Networking O/S Middleware Virtualization Data Applications Runtime You manage Infrastructure (as a Service) Storage Servers Networking O/S Middleware Virtualization Data Applications Runtime Managed by vendor You manage Platform (as a Service) Managed by vendor You manage Storage Servers Networking O/S Middleware Virtualization Applications Runtime Data Software (as a Service) Managed by vendor Storage Servers Networking O/S Middleware Virtualization Applications Runtime Data
6 IaaS теоретически позволяет, не изменив ни строчки кода, сделать сервис «облачным» PaaS провоцирует разрабатывать масштабируемую и надежную архитектуру, но и накладывает ограничения SaaS работает, когда нужен конкретный сервис МОДЕЛИ УСЛУГ
7 АРХИТЕКТУРА Cloud Storage (blob, table, queue) Web Role LB n Worker Role m
8 WINDOWS AZURE Platform as a Service (PaaS) Предоставляет необходимую инфраструктуру для построения масштабируемых приложений Модель оплаты – за использованные ресурсы Процессор, диск, транзакции, БД, траффик
9 WINDOWS AZURE Общее правило Языки Фреймворки.Net, Rails, Zend, ExpressJS, etc.
10 WINDOWS AZURE Web RoleWorker RoleVM Role
11 WINDOWS AZURE Практика Extra Small нужно использовать только для самых минимальных задач Скорость дисков в Extra Small ниже, Small – лучше, начиная с Medium - максимум Размер временной папки – 100Мб Обращайте внимание на размещение ваших сервисов Anywhere in Europe Affinity Group
12 РАЗВЕРТЫВАНИЕ Если нужно развернуть несколько проектов или дополнительные сущности, то на них должна быть ссылка из основного проекта Есть ограничения на размер пакета Решение: Все необходимые проекты и прочие сущности предварительно архивируются и выкладываются в BLOB Storage При развертывании все извлекается из облачного хранилища, распаковывается и устанавливается Внимательно относиться к инсталляторам компонентов При перезагрузке VM процесс развертывания начинается заново
13 WINDOWS AZURE Хранение данных Azure Drive Реализован поверх Blob Storage, кешируется на локальном диске BLOB Storage Файл + метаданные Table Storage Хранит набор сущностей. Сущность – набор свойств Azure Queue SQL Azure
14 BLOB STORAGE BLOB Storage REST API Возможность читать часть BLOB-а по смещению Возможность создавать публичные ссылки с разными ограничениями
15 TABLE STORAGE Только один индекс, состоящий из 2-х частей Можно хранить только ограниченный набор типов Нельзя использовать Enum Не очень удачно реализована библиотека для взаимодействия POCO объекты должны содержать определенные поля Плохая диагностика Нельзя использовать сортировку
16 ОЧЕРЕДИ СООБЩЕНИЙ Azure Queue Минимальный функционал Нельзя изменить время обработки сообщения Максимальное время обработки 2 часа Нет приоритетов Нельзя фильтровать сообщения
17 SQL AZURE Притворяется одним сервером На самом деле данные хранятся на многих серверах SQL Azure Data Sync Позволяет синхронизировать данные между локальным SQL и SQL Azure, а также между несколькими SQL Azure SQL Azure Reporting Облачные reporting services SQL Azure Federations Управление масштабированием Ограничения Из-за ограничений платформы функциональность системы тоже ограничена
18 WINDOWS AZURE Еще сервисы Service Bus Мощная система обмена сообщениями Уведомления, приоритеты, выборка по фильтру,... App Fabric Распределенный кэш Access Control Различные сценарии аутентификации
19 СЕРВИСЫ ABBYY ABBYY FineReader Online Распознавание документов для конечных пользователей Оплата берется за страницы
20 ДЕТАЛИ РЕАЛИЗАЦИИ IPlatformQueue AzureQueue – реализация очереди для Azure IPlatformBlobStorage AzureBlobStorage – реализация облачного хранилища IPlatformData AzureSqlData – реализация для SQL Azure AzureTableData – реализация для AzureTable (успехом не увенчалась)
21 ОТКАЗОУСТОЙЧИВОСТЬ Минимум два экземпляра каждой роли По одному процессу распознавания на ядро. Периодический опрос процессов При исключении, отсутствии ответа, превышении времени обработки задания процесс убивается. Задание возвращается в очередь
22 МАСШТАБИРУЕМОСТЬ Процессы обработки заданий поднимаются динамически, если есть необходимость Задачам можно назначать приоритеты Комплект из WebRole + WorkerRole развернут в нескольких географических регионах Обработчики из одного региона могут брать задания из других регионов, если кто-то не справляется
23 AUTOSCALE APPLICATION BLOCK Два типа правил Constraint Работают на основе временных границ Помогают держать в рамках бюджет Имеют ранги для определения победителя, если времена пересекаются Reactive Динамически подстраивают число «инстансов» или выполняют другие действия руководствуясь указанными предусловиями Предусловия формируются из счетчиков или произвольных бизнес-метрик Помогают динамически подстраиваться вашему приложению под текущую нагрузку
24 WASABI Брьба с «осцилированием» - «Yo-yo» проблема Разные условия для поднимания и выключения дополнительных инстансов Не включать/выключать дополнительные инстансы на границе часа Ограничивать «масштабы масштабирования»
25 СЕРВИСЫ ABBYY ABBYY Cloud OCR SDK OCR SDK для разработчиков Оплата берется за страницы Предоставляет Web API для распознавания текста Высокая точность распознавания Распознавание на 198 языках Легкая масштабируемость Доступные цены, он-лайн регистрация и оплата
26 СЕРВИСЫ ABBYY Почему OCR в облаке лучше Масштабируемость Экономия ресурсов Кроссплатформенность Любой язык программирования Простота разработки Оплата за ресурсы
27 АРХИТЕКТУРА Web Role Worker Role Blob Storage изображения результаты OCR SQL Azure … User App запрос статус запрос статус изображение результат OCR статус задание URL задание статус задания настройки Worker Role
28 ИТОГИ Не смотря на недавний старт, Azure является достаточно взрослой платформой для развертывания отказоустойчивых и масштабируемых сервисов PaaS подход в перспективе предпочтительнее Azure активно развивается и с каждым релизом предоставляет новый интересный функционал Service Bus, Azure Cache, Access Control, etc…
29 СПАСИБО ЗА ВНИМАНИЕ Руководитель группы веб-разработки Lingvo ABBYY Евгений Агафонов
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.