место в рейтинге
  • 89260
  • 85
  • 13
Нравится блог?
Подписывайтесь!

Техническая структура Wooppay. Показать всё что скрыто

От автора

Данная статья ориентирована на широкий круг читателей и не описывает реализацию архитектуры с технической точки зрения (хотя это довольно интересная и обширная тема), поэтому, возможно, не оправдает надежд профессионалов в области информационных технологий, жаждущих технических подробностей и захватывающего чтива, изобилующего описанием новейших технологий, применяемых при проектировании высоконагруженных систем.

Во время проектирования архитектуры ПС Wooppay мы столкнулись с классической проблемой выбора между безопасностью и масштабируемостью.

С одной стороны, сервис с динамическим ростом нагрузки и требованием высокой доступности, с другой жесткие меры информационной безопасности. Проблему масштабируемости можно решить путем использования IaaS (проще говоря, облака), но размещать где-то, в каком-то облачном датацентре финансовую и конфиденциальную информацию деятельности ПС не хотелось (не по фэншую это как-то). Тогда, мы просто напросто возьмем и купим 6 серверов, 2 коммутатора и 2 маршрутизатора, засунем их в стойки в 2-х датацентрах и получим «офигительную» отказоустойчивую архитектуру — одним словом, как два пальца об асфальт.

Но, ПС Wooppay — классический пример высоконагруженной системы и поэтому, как любая система такого класса, в конце концов, исчерпает свободные ресурсы выделенных аппаратных средств. Понятно, что можно наращивать мощности вставляя планки памяти, диски, процессоры (вертикальное масштабирование) или купить и воткнуть в балансировщик новый сервер (горизонтальное масштабирование), но процесс покупки данных «обновлений» затягивается, затем идет доставка, установка, тестирование. Снижение производительности сервиса недопустимо даже в пиковые дни/часы нагрузки. Теперь немного логических рассуждений: мы видим, что нагрузка на сервис не больше 70%, но в конце декабря она уже составляет 120% (появляются длинные очереди, отказ в обслуживании и прочие прелести недостаточной производительности), мы быстро установили сервер и распределили нагрузку, тем самым справились в пик, но затем все возвращается к первоначальному состоянию: нагрузка уже ниже 40% и половина ресурсов простаивают, а это лишние расходы на колокейшн, электроэнергию, сопровождение. В нашем случае данный способ построения технической архитектуры неудобен — это раз; нерентабелен — это два.

А почему бы не рассмотреть вариант размещения веб и транзакционных серверов сервиса в «облаке», а серверов БД в ЦОДах (центр обработки данных)? Это позволит нам оперировать необходимыми вычислительными мощностями и «потреблять» ровно столько, сколько нужно. Еще одним плюсом является уменьшение парка обслуживаемой техники, повышение утилизации ресурсов в мировом масштабе (привет Гринпису =). Лишний сервер потребляет электроэнергию, а следовательно выделяет тепло, его необходимо охлаждать и т. п., а в ЦОД поставщика облачных сервисов ведутся постоянные работы по снижению тепловыделения, оптимизации охлаждения и т.п.). БД в ЦОД и на физическом сервере несомненно будет демонстрировать большую производительность, а собственные аппаратные фаерволы и маршрутизаторы CISCO позволяют достаточно хорошо защитить периметр изнутри.

Мы рассмотрели этот вариант и пришли к выводу, что для стартап проекта с динамической и труднопрогнозируемой нагрузкой и повышенным требованиям к информационной безопасности это будет наилучшим решением.

Важным фактором работоспособности платежной системы является система мониторинга: именно она помогает определить в какой момент времени необходимо запустить либо остановить дополнительный экземпляр сервера. Все необходимые инструменты мониторинга и масштабирования предлагаются поставщиком IaaS в виде сервисов и API.

ПС Wooppay постоянно совершенствуемая система, практически каждую неделю добавляются новые пользовательские функции, оптимизируются скрипты автомасштабирования, совершенствуются методы защиты информации. Для этих целей была «развернута» идентичная «тестовая» инфраструктура, позволяющая проводить полное функциональное тестирование всех нововведений. Для уменьшения времени загрузки контента и снижения нагрузки на основной канал связи, вся медиа информация была размещена на физическом сервере в датацентре на территории РК. Не буду перечислять все применяемые для повышения производительности технологии, дабы не утомлять уважаемого читателя кучей скучных терминов, лишь отмечу, что, конечно же, мы применяем интеллектуальные (насколько это возможно для программы) балансировщики, кэширование и т.п.

В конце концов, после долгой кропотливой работы, мы пришли к тому, что нам удалось построить достойный экземпляр высоконагруженной отказоустойчивой системы, способный незамедлительно реагировать на изменения функциональной среды и адаптироваться к ним, при этом экономя солидную сумму условных единиц на радость нашему финансовому директору и инвесторам.

Что же мы имеем в итоге:

  • N (динамическое число) активных веб-серверов, работающих через балансировщик нагрузки;
  • N активных серверов обработки транзакций, работающих через балансировщик нагрузки;
  • N серверов для хранения сессий, неперсонифицированной и не финансовой информации;
  • отказоустойчивый кластер БД с полным дублированием аппаратной части;
  • VPN туннели из облака к ЦОДам через разных провайдеров доступа к интернет.
 

P.S. Как Вы уже заметили в данной статье никак не упоминаются меры и инструменты информационной безопасности, применяемые в облаке и в системе в целом. Полностью тема информационной безопасности будет раскрыта в другой статье.

 

Руководитель отдела технической инфраструктуры Александр Бондаренко.

Платёжная система Wooppay
Начните работать с Wooppay, почувствуйте, с какой лёгкостью вы делаете те вещи, на которые тратили своё личное время. Пользуйтесь Wooppay и личного времени станет больше. Стоит только придумать, чем его занять.
25 июля 2013, 17:46
3501

Загрузка...
Loading...

Комментарии

Оставьте свой комментарий

Спасибо за открытие блога в Yvision.kz! Чтобы убедиться в отсутствии спама, все комментарии новых пользователей проходят премодерацию. Соблюдение правил нашей блог-платформы ускорит ваш переход в категорию надежных пользователей, не нуждающихся в премодерации. Обязательно прочтите наши правила по указанной ссылке: Правила

Также можно нажать Ctrl+Enter

Популярные посты

СМИ – ассистент провокаторов? Как гости из соседних стран сеют раздор в Казахстане

СМИ – ассистент провокаторов? Как гости из соседних стран сеют раздор в Казахстане

Инцидент с пьяным киргизским гостем на борту Air Astana, наверное, остался бы только во внутренних сводках авиакомпании, если бы г-н Доган, не поднял громкий крик о государственном языке.
openqazaqstan
17 авг. 2017 / 14:43
  • 12257
  • 178
Дайте Байбеку сломать и переделать город. Он хочет шагнуть вверх, а не бабло украсть

Дайте Байбеку сломать и переделать город. Он хочет шагнуть вверх, а не бабло украсть

Я в тогдашней Алма-Ате родился, вырос. В школу начал ходить пешком. Весь центр опползал. Все эти знаковые места помню как ещё не знаковые места. Никаких этих ностальгических страданий у меня нет.
Aidan_Karibzhanov
21 авг. 2017 / 16:25
  • 7373
  • 34
Подземная Акмечеть Бекет-Ата в Атырауской области – одно из самых сакральных мест

Подземная Акмечеть Бекет-Ата в Атырауской области – одно из самых сакральных мест

Его отцом был Мырзагул, матерью Жания, оба глубоко верующие. По рассказам, Бекет-Ата обладал богатырской силой, что в том числе помогало выбивать мечети в крепких скалах.
theYakov
21 авг. 2017 / 17:21
  • 3432
  • 3
Имеющий уши да услышит. Латиница касается только казахского языка

Имеющий уши да услышит. Латиница касается только казахского языка

Президент Назарбаев наконец-то разъяснил для всех, кто ещё не понял, очевидный вопрос, который всем в Казахстане очевиден. Елбасы повторил: на латиницу мы переводим казахский язык, и это не означает отказ от русского языка.
openqazaqstan
18 авг. 2017 / 16:23
  • 3574
  • 52
Байбек замахнулся на то, о чём давным-давно писали и говорили – «город для людей»

Байбек замахнулся на то, о чём давным-давно писали и говорили – «город для людей»

Какой «золотой квадрат»? Вам действительно это место кажется лучшим?! Вот когда Байбеку удастся воплотить в реальность скверы и парки, тогда я буду согласен называть старый центр золотым квадратом.
openqazaqstan
вчера / 16:53
  • 3062
  • 20
«Нас и здесь неплохо кормят», или почему я не собираюсь уезжать из Казахстана

«Нас и здесь неплохо кормят», или почему я не собираюсь уезжать из Казахстана

Я всегда теряюсь, когда слышу этот вопрос, потому что я так и не сумел выразить причину одной фразой. Давайте рассмотрим популярные варианты, и я объясню, что именно мне в них не нравится.
convoluted
21 авг. 2017 / 12:29
Надо научиться видеть скрытые экономические процессы за вспышкой национального гнева

Надо научиться видеть скрытые экономические процессы за вспышкой национального гнева

При полном отсутствии бюджетного жилищного строительства, целые аулы оседают в ветхих домишках, сквозь заборы которых насмешливо возвышаются башни "коктемов", "риц карлтонов" и "есентаев".
niyazov
19 авг. 2017 / 11:16
  • 2616
  • 68
Казахский язык выбирает алфавит, который считает необходимым. Дело не в латинице

Казахский язык выбирает алфавит, который считает необходимым. Дело не в латинице

У русскоязычных казахов два варианта, один - срочно отдавать детей в казахские школы, если видят их будущее в стране. Русскоязычным неказахам ещё меньше выбора. Надо становиться казахами.
Aidan_Karibzhanov
22 авг. 2017 / 18:08
  • 2424
  • 60
В Кокшетау строят два парка для молодёжи. Будут учтены интересы и любителей спорта

В Кокшетау строят два парка для молодёжи. Будут учтены интересы и любителей спорта

Общая площадь парка составляет 25 гектаров. На территории предусмотрено устройство прогулочных дорожек, площадок для установки аттракционов и павильонов различного назначения, цветников.
zhasakmola
17 авг. 2017 / 17:13
  • 2215
  • 1