Ситуация
Заказчик сталкивался с растущим числом отказов своего биллингового портала, влияющих на конечных пользователей. Портал также служил единым магазином для всех предложений и услуг, и приток пользователей значительно снизился из-за сбоев и большого времени отклика. Заказчику требовалось решение, которое автоматически масштабировалось бы для обработки высокой рабочей нагрузки. Заказчик стремился к большей гибкости, масштабируемости и эффективности в своей инфраструктуре на базе Linux.
Решение
Текущая среда была построена на основе веб-служб Linux на базе Java и некоторых приложений на основе Windows IIS. По этой причине в клиентском приложении использовалось множество устаревших компонентов, которым для работы требуются службы уровня ОС. Вместо того, чтобы выполнять простой перенос, команда Softline решила внедрить архитектуру микросервисов, поскольку интеграция с Docker основных компонентов среды, работающих в службах Linux, обеспечивает простой способ создания образов. Еще одно преимущество этого подхода – более быстрый запуск новых функций.
Softline предложила разбить монолитное корпоративное приложение, состоящее из взаимосвязанных сервисов с отслеживанием состояния, на микросервисы, постепенно заменяя их. Наш подход подразумевает разбиение приложений Java на компоненты и встраивание каждого в отдельный контейнер. Еще одна особенность нашего решения – размещение основных сервисов, чувствительных к задержкам, в регионах, где проживает большинство клиентов, в основном в центральной части Индии. Softline предложила отделить уровень представления от уровня вычислений. Это дает больше свободы при добавлении или изменении функций и позволяет командам разработчиков работать над несколькими функциями одновременно. Кроме того, поскольку каждая служба имеет собственное состояние и свои данные, это упростило независимое масштабирование уровня данных и уровня вычислений. Компания Softline предложила службы Azure Kubernetes для размещения инфраструктуры на основе микросервисов, чтобы обеспечить избыточность, отказоустойчивость и масштабируемость, что обеспечит удобство работы конечных пользователей.
Это дает заказчику возможность реализовывать любой микросервис на разных языках программирования и фреймворках, выбирая лучшую технологию для конкретного случая.
Softline помогла заказчику разработать методологию DevOps, которая обеспечит более быстрое предоставление функций, более стабильную операционную среду, улучшенное взаимодействие и совместную работу и больше времени на внедрение инноваций, а не на поддержку и обслуживание.
Чтобы создать сборку и затем развернуть ее, мы использовали пайплайн Azure CI / CD для создания артефакта для служб Azure Kubernetes в форме контейнерного приложения. Первоначальный процесс включал интеграцию Azure Dev Ops с репозиторием исходного кода, настройку начальных служб, таких как база данных (MySQL) и AKS, а также сетевое соединение между ними. Мы определили и создали конвейер сборки, который преобразует код клиента в артефакт. Конвейер релиза в конечном итоге развернет артефакт, созданный конвейером сборки, в Azure AKS.
Результаты
После внесения изменений проблемы клиентов с биллинговым порталом были решены. Внедрение новых обновлений стало проще, что улучшило работу пользователей. Заказчик объединился с другим поставщиком услуг связи, и новая возможность простого внедрения и развертывания изменений обеспечила плавное слияние без ущерба для платежного портала и веб-сайта и бесперебойного взаимодействия с веб-сайтом для конечных пользователей.
Кроме того, благодаря автоматическому развертыванию и обновлению приложений нам удалось сократить накладные расходы заказчика на общую стоимость инфраструктуры для размещения приложений и количество рабочих рук для управления этим. Используя AKS и Azure, заказчик может использовать контейнерные приложения и масштабировать свои ресурсы на лету.