NIC.UA – сайт регистратора доменных имен
NIC.UA - крупнейший регистратор доменных имен в Украине и лидер по инновациям с 2007 года. NIC.UA регистрирует домены, поддерживает их на собственных серверах имен, предоставляет хостинг, оформляет торговые марки и SSL-сертификаты.
Задача
В основе системы старого сайта был монолитный сервер. Вместе с командой NIC.UA мы разделили систему на фронтенд и бекенд. Бекендом занимались разработчики NIC.UA, фронтендом — компания Stfalcon.com, а дизайнеры Александр Зайцев и Александр Колодько сделали сайт удобным и функциональным. Благодаря этому сервис стал более гибким и легко масштабируемым. Фронтенд был построен на Symfony2, это умная система, задача которой — взаимодействие между пользователем и мощным API бекенда. Она не только отображает страницы сайта, но и умеет интеллектуально подобрать нужный домен для клиента.
Решение
Что мы сделали?
- Перевели фронтенд сайта на PHP-фреймворк Symfony.
- Написали настраиваемую админ-панель для управления контентом на сайте.
- Изменили принцип поиска доменов.
- Внедрили горизонтальное масштабирование и непрерывную интеграцию.
Преимущества PHP-фреймворка Symfony
Для лучшей масштабируемости и удобства взаимодействия с панелью управления, мы перевели сайт NIC.UA на Symfony. На этом PHP-фреймворке работают BlaBlaCar, Spotify, MeinFernbus. Они обрабатывают огромные массивы данных ежедневно.
Актуальность
Является самым популярным PHP фреймворком в мире из-за высокой скорости работы и гибкости настройки для веб-решений.
Расширяемость
Функционал фреймворка организован в виде бандлов, с которыми легко работать, поскольку в любое время можно расширить приложение за счет подключения новых бандлов.
Автоматизация
Можно выполнять некоторые команды из консоли.
Удобство
Наличие панели веб-отладки с полезными данными для профилирования работы сайта и запросов к базе данных.
Разработка
Гибкая панель для управления контентом
Возможности стандартных админ-панелей сайтов крайне ограничены, поэтому для NIC.UA мы разработали специальную настраиваемую админ-панель с шаблонами. Она позволяет:
- создавать блоки, которые в неизменном виде будут отображаться в разных частях сайта;
- создавать лендинги (например, для акционных предложений);
- индивидуально настраивать каждую страницу сайта.
Новый интеллектуальный поиск доменов
Поиск доменов является одной из главных составляющих сервиса компании, поэтому мы сделали его еще лучше. Преимущества нового поиска:
Функция транслитерации, подбора синонимов и переводов
Пользователям не нужно повторять поиск, чтобы получить все наилучшие варианты. Теперь, подходящий для бизнеса домен, вы найдете еще быстрее.
Фильтры доменов
Можно выбрать популярные, международные, украинские или региональные домены.
Умное кеширование
Сервис не совершает лишних запросов к реестрам и не замедляет работу системы.
Как это работает?
Например, если клиент ищет домен для цветочного магазина, то в результатах поиска будут:
- варианты доменов с указанием необходимости зарегистрировать торговую марку (например, для домена cvety.ua);
- варианты с транслитерацией (например, поиск «cvety» также выдаст домены со словом «цветы»);
- синонимы (поиск «flowers» также выдаст домены со словом «bouquet-of-red-roses»);
- переводы (поиск «цветы» также выдаст домены со словом «flowers»).
Можно использовать удобный фильтр, чтоб выбрать популярные, международные, украинские или региональные домены.
Горизонтальное масштабирование и непрерывная интеграция
Взаимодействие с серверной частью NIC.UA осуществляется посредством API. Мы реализовали логику его работы и настроили беспрерывную интеграцию (Continuous Integration) с помощью GitLab.
Такой тип интеграции предполагает постоянное формирование основной ветки разработки с кодом от нескольких программистов, создание автоматических сборок и их тестирование. Благодаря беспрерывной интеграции нужные изменения вносятся проще и быстрее.
Существует два вида масштабирования:
- Вертикальное — ресурсы добавляются к одному серверу.
- Горизонтальное — расширение происходит за счет увеличения числа серверов.
Поскольку сайт NIC.UA должен выдерживать большие перепады нагрузок, стояла задача построить горизонтальное масштабирование проекта. Была создана система из нескольких серверов, часть из которых являются балансировщиками и распределяют нагрузку для остальных серверов. Если случится сбой, сервис продолжит работу, поскольку все задачи будут выполняться на исправном сервере, а неработающий будет игнорироваться. Так обеспечивается отказоустойчивость системы.
Мы гордимся своей работой и считаем, что создали лучший в Восточной Европе сайт регистрации доменов и хостинга. Теперь работать с NIC.UA удобно и выгодно: у них действует партнерская программа, бонусная система оплаты и специальные скидки для постоянных клиентов. Мы прислушиваемся к пожеланиям команды NIC.UA и продолжаем развивать сайт дальше.
Результат
Мы перевели фронтенд сайта на Symfony, реализовали удобную админ-панель, изменили принцип поиска доменов, внедрили горизонтальное масштабирование и непрерывную интеграцию. Мы учитываем пожелания NIC.UA и продолжаем развивать сайт.
Команда проекта:
- Владимир Сутовский
Менеджер проектов
- Миша
Менеджер проектов
- Михаил Вильшанский
Back-end разработчик
- Саша Ленский
Back-end разработчик
- Андрей Бойчук
Back-end разработчик
- Андрей
Backend разработчик