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

Обновление ИТ-ландшафта с Microsoft Azure
Дорожная карта эффективного и выгодного обновления ИТ-ландшафта с облачной технологией Azure включает несколько этапов:
-
Проверка комплекта документации по существующим подсистемам программного комплекса.
-
Формирование бизнес-требований к обновленной системе в непосредственном контакте с конечными пользователями.
-
Определение первой группы сервисов, которые перейдут в новую инфраструктуру.
-
Подбор и апробация технологий на замену существующим.
Необходимо получить либо полный датасет из существующей базы данных, либо де-идентифицировать его (например, в случае с медицинскими данными, где доступ к информации строго регулируется законом, личные данные и часть информации об истории болезни удаляются или заменяются).
-
Создание Proof of Concept на новых технологиях для проведения нагрузочного тестирования.
Небольшой вариант системы с реализацией нескольких функций позволит подтвердить соответствие нефункциональным требованиям (нагрузка, безопасность, отказоустойчивость).
-
Создание Minimum Viable Product (MVP, минимально функционального решения) на новых технологиях для проведения опытной эксплуатации.
В таком режиме первые пользователи – рабочая группа, конечные пользователи и руководители компании – имеют возможность опробовать решение, вынести свои замечания и предложения.
-
Полноценный ввод обновленных сервисов в промышленную эксплуатацию – после того, как учтены все требования.
Может выполняться на сервера, имеющиеся в старом ИТ-ландшафте, или на новые закупленные сервера (требования к новому ЦОДу формируются на основании 5 и 6 этапов).
-
Анализ результатов и перенос следующей группы сервисов.
После анализа результатов не стоит останавливаться на готовом решении – выбирается новая группа сервисов для перевода их на новый ИТ-ландшафт.
Эффективный путь от 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
Несколько наиболее важных рекомендаций, на которые стоит обратить внимание при запуске нового проекта:
-
Стоит ориентироваться на готовые методологии.
Среди них – Lean Startup: никакая разработка не начинается до подтверждения гипотез.
-
Задачи определяются по критериям SMART (Specific, Measurable, Achievable, Relevant, Time-bound).
Сформировать список задач, исполняемых за короткое время и с измеримым результатом, особенно важно, когда “тикает счетчик” потребляемых ресурсов в том же Azure.
-
Использование Open Source технологий.
Позволяет минимизировать расходы на всех этапах создания продукта. Установка своих баз данных на виртуальные машины Azure или дополнительных сервисов преобразования видео, обработки изображений и коммуникаций между сервисами – все это работает “из коробки”, и есть готовые фреймворки популярных языков программирования, которые предоставляют эту функциональность и снижают расходы на ее реализацию.
-
Применение Kubernetes как стандарта поставки ПО.
Позволяет быстро выполнить ввод в эксплуатацию и больших сервисов, и микросервисов.
-
Автоматизация операций управления ресурсами с Terraform.
Обеспечивает мобильность не только в Azure, но и в локальном облаке. Можно ориентироваться на популярный стек VMware: Terraform предоставляет библиотеки для работы, например, c платформой виртуализации облачных вычислений VMware vSphere – используя те же самые скрипты (или минимально изменяя их), можно произвести установку или поднять инфраструктуру в ЦОДе, нежели чем в облаке.
-
Быстрая реализация Proof of Concept на базе управляемых сервисов Azure.
-
Коммуникации с клиентами и пользователями.
При расстановке приоритетов важна обратная связь.
-
Разработка в режиме 24/7.
Использование Azure DevOps и Teams в коммуникациях распределенных команд позволяет получить единую инфраструктуру в рамках одного облака, которая покрывает полный цикл разработки.
В следующей части статьи расскажем о неочевидных способах снижения расходов в отлаженной инфраструктуре, о том, как правильно управлять оптимизацией бизнес-процессов, и зачем вам Azure Kubernetes Service и мультиоблако.
Поможем внедрить DevOps-практики за 8 простых шагов.
Назначьте консультацию с нашим техническим экспертом: hello@wave-access.com
Расскажем подробнее о наших проектах!
Свяжитесь с нами:
hello@wave-access.com
+1 866 311 24 67 (США)
+45 20 55 6222 (Дания)
+49 721 957 3177 (Германия)