Бесперебойная работа
От инфраструктурных решений, используемых у крупных ритейлеров, требуется доступность 24x7х365, так как продажи осуществляются по всей России во всех 10 часовых поясах, в том числе ночью. Даже кратковременные сбои приводят к простою критичных бизнес-процессов, к крупным финансовым и имиджевым потерям.
Сбои происходят по нескольким причинам: пользовательские или программные ошибки, поломка оборудования и т.д. В случае с оборудованием проблема решается дублированием компонент и созданием кластеров. Для приложений интернет-магазина лучшим вариантом является использование технологии виртуализации, например, в одном из реализованных ритейловых проектов мы используем VMware HA, в другом – Oracle VM Cluster.
При высоких нагрузках имеет смысл осуществить интеграцию инфраструктуры интернет-магазина с CDN-решением (Content Delivery Network) от компании-поставщика CDN-услуг. Это позволит снизить нагрузку на каналы связи за счет того, что статический контент интернет-магазина будет храниться в стороннем облаке.
Нельзя забывать и о резервном копировании, позволяющем восстанавливать данные в регламентированный срок (ПО NetBackup или CommVault). Для обеспечения бесперебойной работы интернет-магазина также необходимо регулярно актуализировать версии ПО и ОС.
Также необходимо предусмотреть обеспечение отказоустойчивости для СУБД, этот функционал может быть реализован несколькими способами или с помощью их совмещения. Например, возможно использование кластерного ПО (Veritas InfoScale) или механизмов самой СУБД (Oracle Data Guard (standby)). Применяя standby с отставанием, также можно защититься и от логических ошибок. Так, в одном нашем проекте мы построили кластер из двух серверов, а на третьем установили standby с отставанием, что позволило реализовать защиту как от выхода из строя одного из узл ов кластера, так и от логических ошибок.
Масштабируемость
Сначала стоит сказать 2 слова о вертикальном и горизонтальном масштабировании. Архитектурные решения современных интернет-магазинов изначально предполагают гибкое масштабирование. Front-end, бизнес-логика и сегмент распределенного хранилища объектов горизонтально масштабируются средствами ПО интернет-магазина. Это наилучшим образом сочетается с применением технологии виртуализации. Как уже упоминалось, в одном из наших проектов у крупного ритейлера мы использовали ПО VMware и применяли шаблоны виртуальных машин.
Сегмент СУБД в большинстве случаев вертикально масштабируемый. При реализации решения для сегмента СУБД серверное оборудование выбирается с учетом потенциального роста объема данных и возможности установки дополнительных компонент, таких как CPU, RAM и PCI-адаптеры.
Эти особенности программных решений обуславливают следующие требования к инфраструктуре:
- унификация компонент;
- автоматизация процессов развертывания;
- наличие проактивного мониторинга.
При этом добавление новых компонент должно быть максимально автоматизированным.
Безопасность
Самые актуальные угрозы безопасности для интернет-магазинов – это похищение базы данных клиентов, мошенничество с электронными платежами, вывод магазина из строя путем прямого вмешательства, осуществления DDoS-атак, вмешательство в процесс работы магазина и др. На инфраструктурном уровне можно решить задачи защиты от внешних атак на интернет-магазин и ограничить Back-end магазина от проникновения снаружи.
Один из наших характерных проектов в этой области – построение модульной виртуализованной ИТ-инфраструктуры для работы новой программной платформы интернет-магазина «М.Видео». ИТ-инфраструктура состоит из нескольких типовых модулей, решающих разные задачи: предоставление статической информации, динамическая генерация контента, обработка поисковых запросов, обращение к базам данных и др.
Разделение по функциональным ролям позволяет выявлять узкие места в части производительности и масштабировать только конкретные проблемные участки. Ускорить этот процесс помогают шаблоны развертывания, преднастроенные для каждого модуля. Большая часть ИТ-сервисов размещена в виртуальной среде и зарезервирована по схеме N+1. Сервисы, наиболее требовательные ко времени отклика (обработка обращений к базам данных), расположены на физических серверах. Их отказоустойчивость гарантирует кластерная конфигурация.
Целостность сессий обеспечивается сетевыми балансировщиками, которые также кластеризованы. Например, отложив товар, покупатель может продолжить поиск по сайту – статус его корзины не изменится.
Добавление новых вычислительных ресурсов не требует изменений на прикладном уровне и может быть произведено в течение 1,5–2 часов (ранее на это требовалось 2–3 месяца).
В данный момент мы осуществляем аутсорсинг сопровождения ИТ-инфраструктуры, включающий в том числе мониторинг доступности сайта, аппаратной среды и системного ПО.
Как правило, в наших проектах мы используем минимум 2 сегмента DMZ (демилитаризованные зоны). Первый сегмент является Front-end’ом и принимает все входящие соединения, также он выполняет функции балансировщика нагрузки и защиты от атак. Front-end-сегмент может быть основан как на физическом оборудовании, например, от F5 или Cisco, так и на виртуальных серверах с использованием специализированного ПО (Web Application Firewall). Второй сегмент – это Back-end, в котором расположены серверы приложений интернет-магазина и СУБД. Благодаря такой архитектуре, повышается безопасность интернет-магазина.
Итак, дополнительные ИБ-требования к архитектуре инфраструктурного решения интернет-магазина подразумевают выделение сегментов DMZ, разделение продуктивных и тестовых сред, применение специальных программно-аппаратных средств для обеспечения безопасности.
Скорость изменений
Ключевым параметром для интернет-коммерции является TTM (Time-to-Market) для новых сервисов и услуг и готовность инфраструктуры выдерживать пиковые нагрузки.
Применение модульных структур (использование современных технологий контейнеризации, виртуализации, унификация инфраструктурных компонентов) в решении позволяет добавлять в интернет-магазин новый функционал и избавляться от устаревших компонентов в короткие сроки. Кроме того, указанные технологии вкупе с максимальной автоматизацией процессов дают возможность в сжатые сроки разворачивать дополнительные среды и вносить изменения в архитектуру интернет-магазина.
Эволюция электронной коммерции и сопутствующих сервисов постоянно формирует новые требования к инфраструктуре интернет-магазинов. Каждый день мы наблюдаем вывод на рынок новых услуг, которые ранее были просто невозможны, происходит стирание границ между классическим offline-магазином и каналом интернет-коммерции. Поэтому инфраструктурное решение для интернет-магазина должно постоянно развиваться и отвечать современным тенденциям.