Actualog: Powered by Windows Azure – опыт использования платформы

О компании

ACTUALOG – это универсальная B2B платформа для обмена информацией о продуктах и продуктовых каталогах между производителями, поставщиками и потребителями. Система предоставляет возможность организовать всю имеющуюся информацию с помощью универсального классификатора, который создается общими усилиями с привлечением сообщества экспертов.

Для удобного доступа различных групп компаний к большим объемам информации предусмотрена фильтрация по отраслевым сообществам. Это позволяет пользователям видеть только интересующие их разделы классификатора и до минимума сокращает необходимость сложной навигации по всеобъемлющему классификатору. Инновационный пользовательский интерфейс позволяет эффективно взаимодействовать потребителям, поставщикам и сообществу экспертов используя, в том числе, и такой современный способ коллективной работы как социальные сети.

Одной из важнейших функций системы является поддержка многоязычности, которая позволяет не только локализовать интерфейс пользователей из разных стран, но и хранить информацию о компаниях, продуктах и категориях на различных языках, предоставляет возможность создавать мультиязычные каталоги продукции.

С помощью относительно небольшого начального объема инвестиций   команде разработчиков удалось создать продукт с высокой степенью готовности к промышленной эксплуатации.

В настоящий момент завершена разработка бета-версии платформы, первые клиенты начали использовать решение.

Ситуация

С момента начала проекта в марте 2011 года команде удалось реализовать все основные функциональные подсистемы.   В настоящее время возможна регистрация пользователей через социальные сети, создание классификатора и каталогов продуктов. Система имеет широчайшие возможности конфигурирования метаданных, таких как отдельные атрибуты, шаблоны, фасеты классификации и категории продуктов с одной стороны, и их связи с сообществами и компаниями с другой.

Реализована возможность встраивания карточек продуктов и каталогов во внешние сайты.

Облачная платформа Windows Azure изначально была выбрана командой разработчиков как технологическая основа для дальнейшей работы над проектом. Все основные архитектурные решения были задуманы с учетом возможностей и преимуществ, которые дает разработчикам Windows Azure.

Azure дал серьезный импульс развитию проекта еще на стадии проработки бизнес-идеи, так как именно модель облачных вычислений представлялась единственно правильной и экономически оправданной для продуктов такого класса. Команда архитекторов и разработчиков ясно осознавала, что Windows Azure позволяет решить многие проблемы масштабирования, которые неизбежно возникли с ростом количества онлайн-пользователей и внедрения продукта у крупных заказчиков, использующих API.

ACTUALOG был задуман как система, способная обслуживать миллионы пользователей, и вопросам масштабирования с самого начала уделялось пристальное внимание.  Все альтернативные решения выглядели неоправданно затратными.

Также значительно снизить риски и сократить начальные инвестиции позволило участие в программе BizSpark, в рамках которой команда ACTUALOG получила полноценный доступ в Azure, а также все необходимые средства разработки и тестирования.  В облачной среде не только происходит развертывание тестовых и конечных версий продукта по модели PaaS, но также и сам процесс разработки в значительной степени ориентирован на облачные технологии. Для поддержки процессов разработки используется модель IaaS, что подразумевает использование одного или нескольких  виртуальных серверов с программным обеспечением системы контроля версий, управления проектом и поддержки коллективной работы.

С самого начала работы мы размещали систему контроля версий и управления проектом на виртуальных серверах сторонних провайдеров чтобы  избежать неоправданных инвестиций в оборудование. К сожалению этот опыт оказался неудачным, не всегда провайдеры облачных IaaS сервисов  могут обеспечить приемлемый уровень надежности оборудования. Мы столкнулись со аппаратным сбоем, который, к счастью, не привел   к значительной потере информации. С тех пор все виртуальные серверы поддержки процесса разработки были перенесены в среду IaaS Windows Azure, которая обеспечивает на порядок более высокий уровень отказоустойчивости.

Решение

Приложения развертывается в среде PaaS в двух окружениях – тестовом (staging) и рабочем (production).  Для этого используются два отдельных сервиса в подсистеме Azure Cloud Services. Приложение разработано на C#, с использованием библиотеки jQuery и шаблона MVC 5.1.  Подсистема хранения данных использует SQL Azure и Azure Table Storage.  Доступ к данным реализован с помощью Entity Framework (SQL Azure) и Windows Azure SDK (Table Storage). Статичные изображения размещены в сети кэширующих серверов Azure CDN. Для кэширования используется Windows Azure Cache. Используется две роли – одна Compute Role – для работы сайта, и Worker Role для работы служб, обновления поискового индекса, рассылки писем. Для хранения файлов и изображений используется Azure Blob. Обмен сообщениями реализован с использованием библиотеки SignalR, которая использует Windows Azure Service Bus для создания общей очереди при использовании несколькими экземплярами сервиса.

Процесс разработки организован в соответствии с принципами Agile методологий с использованием непрерывной интеграции (Continuous Integration). На виртуальной машине (Virtual Machine) работает система управления процессом разработки Jira и система непрерывной интеграции (continuous integration system) Atlasian Bamboo, которая постоянно отслеживает изменения в Git-репозитории и при обнаружении изменений компилирует проект. Сервер по расписанию компилирует полный проект и вместе с обновлениями базы данных выкладывает на Cloud Service.

Преимущества

Использование платформы Windows Azure обеспечило необходимый запас прочности на годы вперед и позволило разработчикам больше уделить внимание конкретным задачам предметной области вместо решения общих вопросов масштабирования. Тем не менее, было сделано полномасштабное нагрузочное тестирования подсистемы хранения данных в облачной СУБД –    SQL Azure. Этот выбор на данный момент видится наиболее оптимальным ввиду того, что прогнозируется большой объем данных с относительно невысокой транзакционной нагрузкой.  В процессе нагрузочного тестирования была получена тестовая база данных содержащая десятки миллионов продуктов. При этом SQL Azure обеспечил пятикратный запас – тестовая база данных занимала всего порядка 30Гб при максимальном объеме базы данных 150Гб.

По нашим оценкам, один сервер Medium Instance может обеспечить одновременную работу до тысячи пользователей. В случае увеличения нагрузки система готова к масштабированию за счет встроенных возможностей Windows Azure.

К другим преимуществам платформы Windows Azure можно отнести простоту освоения разработчиками и достаточно короткий цикл начального обучения по сравнению с другими облачными платформами.  Компания Microsoft в рамках программы BizSpark  оказала неоценимую техническую поддержку команде разработчиков.  Это в итоге способствовало более полному использованию всех возможностей Azure и помогло создать продукт, соответствующий высоким требованиям надежности и масштабируемости.

Программное обеспечение

  • Azure Cloud Services
  • Azure SQL Database
  • Azure Storage
  • Azure Cache
  • Azure CDN
  • Azure Virtual Machines

Платформа Actualog

Применение специализированных решений для управления информацией о продукции (PIM, Product Information Management) обеспечивает решение следующих задач:

  • Формирование единого информационного пространства в компании на основе централизованного ведения справочных данных;
  • Информационное обеспечение надежной и качественной работы за счет однозначной идентификации объектов;
  • Повышение эффективности процессов за счет более полного и качественного описания объектов.

Решения по управлению информацией о продукции, в среднем позволяет добиться следующих результатов (Gartner Research):

  • Сокращение затрат на закупки и логистику: 15%
  • Сокращение стоимости закупаемых продуктов и материалов: 5-20%
  • Уменьшение складских запасов, неликвидов: 20-40%
  • Сокращение сроков закупок и поставок: 20%

Actualog – это первая в мире платформа для управления информацией о продукции (Product Information Management, PIM), использующая возможности краудсорсинга, обеспечивающая эффективную работу экспертного сообщества по созданию классификатора.

Leave a Reply

Your email address will not be published. Required fields are marked *