Доработка существующего функционала сайта и разработка нового для платформы «Наниматель»
Производительность сайта – важная составляющая продаж. Она влияет на восприятие бизнеса клиентами и конверсию в конечном итоге. В 2022 году за три дня мы подключились к модернизации биржи для самозанятых, чтобы наладить ее работу и улучшить пользовательский опыт. Работа на проекте еще продолжается, в кейсе рассказываем о том, что уже сделано.
Клиент
«Наниматель» – это платформа, которая объединяет самозанятых и работодателей. При этом в кабинете формируются договоры и вся необходимая отчетность, которая отправляется в ФНС.
Цель
Доработка существующего функционала сайта и разработка нового.
Что сделали
Когда мы приступили к работе, конфигурация инфраструктуры была неоптимальной – некоторые изменения могли привести к отказу системы. Поэтому DevOps-специалист и разработчик параллельно исправляли узкие места в проекте, каждый со своей стороны.
Также в самом начале нашего сотрудничества ресурсы Reg.ru, где находился домен «Нанимателя», были подвержены DDOS-атаке. Чтобы предотвратить проблемы клиента в будущем и обеспечить стабильность доступа, мы перевели его сайт на Яндекс.Облако.
Исследование проблем производительности и настройка CI/CD
-
Настроили логирование и мониторинг. Цель – выявлять любые сбои в системе до того, как с ними столкнутся пользователи.
-
Организовали процесс резервного копирования: от конфигураций виртуальных машин до файлов приложений.
-
Переписали конфигурацию инфраструктуры, чтобы при изменениях поддерживалась стабильность работы.
-
Улучшили механизмы и сократили время непрерывной интеграции и доставки кода на стенды – CI/CD. Это увеличивает скорость внедрения изменений.
Управление облачной инфраструктурой: Infrastructure as Code
-
Импортировали текущую инфраструктуру Yandex.Cloud в Terraform-репозиторий. Этот инструмент позволяет управлять облаком в парадигме Infrastructure as Code. Когда нам нужно будет внести изменения, достаточно будет проверить и исправить только необходимые фрагменты кода.
-
Разработали подробную документацию инфраструктуры – чтобы клиенту было легко модернизировать продукт в будущем.
Разработка: улучшение работы сайта
-
Привели код к общепринятым практикам, повышающим эффективность, скорость и качество работы.
-
Предложили клиенту и реализовали четыре микросервиса: для хранения реквизитов пользователей, сообщений и уведомлений, платежных документов и договоров. Так на бирже остается только информация, связанная с пользователями и заданиями, это ускоряет загрузку и работу с сайтом.
Результат
- решили более 50 крупных задач;
- снизили нагрузку на техническую поддержку;
- сократили время, которое пользователи тратили на технические процессы – для некоторых задач более чем в 1000 раз (загрузка заданий, подписание договоров и т.д.)
Технологии
PHP 7.4 и 8.1, Yii2, Vue.js, MySQL, PostgreSQL, REST API, TochkaBank API, nalog.ru api, Yandex Message Queue, Grafana, Apache, Gem Backup, Ansible, Terraform