Блог

Полезные статьи и новости о жизни WaveAccess

Как работать с Open Source проектами в Azure. Часть 2

Во второй части статьи на тему применения практик DevOps для создания, развертывания и сопровождения Open Source проектов вас ждет дорожная карта эффективного и выгодного обновления ИТ-ландшафта с Microsoft Azure, а также эффективный путь от MVP к промышленной эксплуатации с помощью Azure Kubernetes Service.

How to work with Open Source projects in Microsoft Azure_Part 2_en cover

Обновление ИТ-ландшафта с Microsoft Azure

Дорожная карта эффективного и выгодного обновления ИТ-ландшафта с облачной технологией Azure включает несколько этапов:

  1. Проверка комплекта документации по существующим подсистемам программного комплекса.

  1. Формирование бизнес-требований к обновленной системе в непосредственном контакте с конечными пользователями.

  1. Определение первой группы сервисов, которые перейдут в новую инфраструктуру.

  1. Подбор и апробация технологий на замену существующим.

Необходимо получить либо полный датасет из существующей базы данных, либо де-идентифицировать его (например, в случае с медицинскими данными, где доступ к информации строго регулируется законом, личные данные и часть информации об истории болезни удаляются или заменяются).

  1. Создание Proof of Concept на новых технологиях для проведения нагрузочного тестирования.

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

  1. Создание Minimum Viable Product (MVP,  минимально функционального решения) на новых технологиях для проведения опытной эксплуатации. 

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

  1. Полноценный ввод обновленных сервисов в промышленную эксплуатацию – после того, как учтены все требования. 

Может выполняться на сервера, имеющиеся в старом ИТ-ландшафте, или на новые закупленные сервера (требования к новому ЦОДу формируются на основании 5 и 6 этапов).

  1. Анализ результатов и перенос следующей группы сервисов.

После анализа результатов не стоит останавливаться на готовом решении – выбирается новая группа сервисов для перевода их на новый ИТ-ландшафт.

Эффективный путь от MVP к промышленной эксплуатации с помощью Azure Kubernetes Service 

Примером эффективного перехода от минимально функционального решения к промышленной эксплуатации служит кейс WaveAccess по разработке медиа-платформы – с нуля до первых продаж. 

Заказчик – видеомаркетинговая компания – хотел вывести на рынок платформу управления видеоконтентом и рекламой и расширить аудиторию ее пользователей,  привлекая их к размещению контента на платформе с подключением рекламных сервисов и последующему размещению на внешних площадках (YouTube, Vimeo, Facebook и др.). Помимо разработки самой платформы, требовалось обеспечить ее быструю масштабируемость и поддержать большое количество клиентов, которые могут практически без перерыва одновременно производить контент в своих аккаунтах.

Среди основных возможностей решения, предложенного WaveAccess:

  • Загрузка и хранение видеоконтента как напрямую, так и его импорт из внешних источников (например, YouTube).

  • Автоматизированное приведение контента к единому формату, установка водяных знаков, кодов отслеживания и т.д.

  • Интеграция с сервисами видеорекламы.

  • Асинхронная непрерывная обработка контента от 2000 клиентов.

  • Максимально эффективная доставка контента зрителю. 

В проекте использовалась сеть доставки контента, так как клиенты заказчика географически распределены по всему миру, и нет возможность хранить все на серверах в одном регионе.

  • Аналитика поведения зрителей для предоставления релевантного контента (система сегментирует аудиторию по интересам, в частности помогая видеоблогерам понять, какая реклама подходит их зрителям).

  • Подсистема отчетности об успешности рекламных кампаний.

В результате за год было разработано MVP, которое помогло заказчику заключить контрактов на сумму более $5 млн.

В проекте были задействованы технологии и инструменты:  

  • Microsoft Azure;

  • Java Spring Framework;

  • Apache Kafka (для коммуникации между микросервисами);

  • JavaScript, AngularJS, D3, HTML 5;

  • Azure Kubernetes Service (позволил быстро и гибко сформировать инфраструктуру, необходимую для поставки решения);

  • Terraform, Ansible, Docker. 

Благодаря динамической инфраструктуре и возможности управлять ресурсами с помощью Terraform и Ansible удалось эффективно использовать виртуальные ресурсы, предоставляемые Azure, а также предоставить заказчику план по снижению расходов за счет использования зарезервированных инстансов (RI) и готовых сервисов Azure.

Как запустить стартап с использованием Azure

Несколько наиболее важных рекомендаций, на которые стоит обратить внимание при запуске нового проекта:

  1. Стоит ориентироваться на готовые методологии. 

Среди них – Lean Startup:  никакая разработка не начинается до подтверждения гипотез.

  1. Задачи определяются по критериям SMART (Specific, Measurable, Achievable, Relevant, Time-bound).

Сформировать список задач, исполняемых за короткое время и с измеримым результатом, особенно важно, когда “тикает счетчик” потребляемых ресурсов в том же Azure.

  1. Использование Open Source технологий. 

Позволяет минимизировать расходы на всех этапах создания продукта. Установка своих баз данных на виртуальные машины Azure или дополнительных сервисов преобразования видео, обработки изображений и коммуникаций между сервисами – все это работает “из коробки”, и есть готовые фреймворки популярных языков программирования, которые предоставляют эту функциональность и снижают расходы на ее реализацию.

  1. Применение Kubernetes как стандарта поставки ПО.

Позволяет быстро выполнить ввод в эксплуатацию и больших сервисов, и микросервисов.

  1. Автоматизация операций управления ресурсами с Terraform. 

Обеспечивает мобильность не только в Azure, но и в локальном облаке. Можно ориентироваться на популярный стек VMware: Terraform предоставляет библиотеки для работы, например, c платформой виртуализации облачных вычислений VMware vSphere – используя те же самые скрипты (или минимально изменяя их), можно произвести установку или поднять инфраструктуру в ЦОДе, нежели чем в облаке.

  1. Быстрая реализация Proof of Concept на базе управляемых сервисов Azure.

  1. Коммуникации с клиентами и пользователями. 

При расстановке приоритетов важна обратная связь.

  1. Разработка в режиме 24/7.

Использование Azure DevOps и Teams в коммуникациях распределенных команд позволяет получить единую инфраструктуру в рамках одного облака, которая покрывает полный цикл разработки.

В следующей части статьи расскажем о неочевидных способах снижения расходов в отлаженной инфраструктуре, о том, как правильно управлять оптимизацией бизнес-процессов, и зачем вам Azure Kubernetes Service и мультиоблако.

 

Поможем внедрить DevOps-практики за 8 простых шагов.

Назначьте консультацию с нашим техническим экспертом: hello@wave-access.com

Заказать звонок

Удобное время:

Отменить

Пишите!

Присоединить
Файл не больше 30 Мб.
Отменить