Начните вводить запрос...
Технологии

Open Source проекты в Azure. Дорожная карта: от MVP к эксплуатации

Опубликовано 24 сентября, 2020

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Эффективный путь от 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: никакая разработка не начинается до подтверждения гипотез.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Похожие сервисы

Миграция на Open-Source
Удаленный центр разработки
Внедрение DevOps-методологии
Мы используем файлы cookie, чтобы улучшать ваше взаимодействие с сайтом. Продолжая использовать сайт или нажимая кнопку «Принять», вы соглашаетесь с использованием нами файлов cookie, как описано в Политике обработки персональных данных.

Как мы обрабатываем Ваши личные данные

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