В сентябре 2014 года в рамках стратегической Программы «Надежность критичных АС Сбербанка (99.99)» осуществлен перевод системы Way4 в конфигурацию Oracle Real Application Cluster.
О реализации проекта рассказал Андрей Глушак, начальник отдела проектов блока ИТ и территориального развития Управления проектных менеджеров.
Предыстория системы Сбербанка по обслуживанию карт
Как известно, Сбербанк не просто занимает лидирующие позиции на рынке банковских карт в России. Его доля превышает 50% как по числу выданных карт, так и по количеству обслуживаемых торговых точек. В настоящее время клиенты Сбербанка активно используют более 110 млн. карт, выполняя до 45 млн. финансовых операций ежедневно.
Основной системой, обслуживающей операции по банковским картам клиентов Сбербанка, является Way4, разработанная компанией OpenWay. Ее база данных содержит всю необходимую информацию по держателям карт Сбербанка и транзакциям.
Являясь изначально цельной системой, база данных Way4 должна работать с огромными объемами информации на соответствующем по уровню оборудовании. Фактически, для Way4 применяются самые производительные сервера и дисковые массивы, выпускаемые серийно. Однако, учитывая дальнейший рост карточного бизнеса, такой производительности оборудования уже недостаточно.
Как обеспечить дальнейший рост бизнеса? Сразу после перехода в 2011 году на новое оборудование ответственные за сопровождение Way4 начали изучать варианты дальнейших шагов для увеличения производительности системы.
Самый простой путь регулярной замены оборудования на более новое не подходил, ведь циклы выпуска серверов компаниями-производителями явно не соответствовали прогнозам роста бизнеса. Правильным вариантом для развития посчитали линейное масштабирование системы, когда обслуживание клиентов ведется с использованием нескольких экземпляров системы, слабо связанных между собой.
Однако этот путь развития является довольно длительным, ведь для его реализации необходимо провести значительный объем изысканий, внести большое количество изменений в логику обработки операций Way4, а часть модулей системы переписать почти полностью.
Исследовательская работа по этому направлению сейчас активно ведется в рамках стратегической программы «Надежность критичных автоматизированных систем Банка (99.99)», первые результаты по ней ожидаются к середине 2015 года. Но клиенты Сбербанка не могут ждать пока Банк реализует систему в архитектуре линейного масштабирования.
Прежняя конфигурация системы не справилась бы с прогнозируемой уже к концу 2014 года нагрузкой. Поэтому в качестве среднесрочной меры был выбран вариант перевода базы данных Way4 в кластерную конфигурацию с применением технологии Oracle Real Application Cluster.
Внедрение Oracle RAC в Сбербанке
Проект по подготовке к использованию RAC для базы данных Way4 был начат в 2011 году, а в 2013 году эта задача была включена в состав программы «Надежность».
К концу 2013 года проектная команда под руководством Александра Назаренко выполнила основную часть работ, но потребовалось более 10 месяцев дополнительно для выявления и устранения ошибок и проблем конфигурации для того, чтобы запустить ее в промышленную эксплуатацию в сентябре 2014 года.
Технология Real Application Cluster предполагает использование нескольких узлов (серверов) с единой базой данных. Рассчитанная в первую очередь на повышение надежности, эта технология предполагает сбалансированное распределение подключений к базе данных по так называемым сервисам, выполняемым на разных узлах.
При этом между узлами ведется координация изменений данных для соблюдения целостности базы в каждый момент времени. При отказе одного из узлов выполнявшиеся на нем сервисы запускаются на оставшихся работоспособными других узлах с переключением на них пользовательских соединений.
В случае с Way4 было предложено иное использование узлов RAC. Узлы разделены по видам выполняемых на них задач. Один – для поддержки online-операций, второй же предназначен для выполнения бэкофисных процедур. Такое разделение позволяет уменьшить зависимость узлов между собой и сократить объем передаваемых между ними данных.
Следствием стало заметное изменение профиля нагрузки, сокращение времени выполнения некоторых операций на несколько часов и уменьшение влияния длительных операций с данными на скорость реакции системы по клиентским транзакциям.
Считается, что для использования технологии Oracle RAC не требуется вносить модификации в само приложение, а все проблемы синхронизации узлов, соблюдения целостности данных и сохранение доступности при сбоях обеспечиваются технологиями Oracle.
Возможно, для относительно простых приложений это утверждение соответствует действительности, но для решения нашей задачи были потрачены значительные усилия по доведению технологии до рабочего состояния.
Для уменьшения объема синхронизируемой между узлами информации и обеспечения приемлемого времени отклика потребовались изменения Way4 в структурах хранения данных, форме и порядке выполнения запросов к ним. После выявления в ходе тестирования проблем с программным обеспечением Oracle, операционной системой, другим системным ПО все эти компоненты также потребовали доработки.
О ходе работ регулярно информировались руководители участвующих в проекте компаний Oracle, IBM, Symantec. Так, для того, чтобы уложиться в обозначенные ранее сроки и успеть внедрить RAC до начала периода предновогодних нагрузок 2014 года, ответственным лицом от корпорации Oracle выступил старший вице-президент Juan C. Jones.
Со стороны Сбербанка работами в рамках программы надежности руководили вице-президент, Главный архитектор ИТ Андрей Григорьевич Хлызов и Управляющий директор Блока ИТ Илья Геннадьевич Старостин.
Полученная конфигурация базы данных Way4 RAC состоит из двух узлов IBM p795 256 cores с 2ТБ ОЗУ на каждом, связанных между собой 8-ю линиями 10G Ethernet и подключенных к общему дисковому массиву. Для обеспечения катастрофоустойчивости такой же комплект работает и во втором дата-центре.
Что дальше
Система Way4 в конфигурации Oracle RAC обеспечит обработку до 60 млн. финансовых документов в день с пропускной способность до 1700 авторизационных запросов в секунду. По нашим прогнозам, этого достаточно для того, чтобы поддержать рост бизнеса до середины 2016 года, когда на вооружении у ИТ Сбербанка появятся и другие варианты дальнейшего развития – например, линейное масштабирование.
Бизнес постоянно развивается. Появляются новые продукты, новые задачи. Разумеется, процессинговые системы тоже не стоят на месте. Продолжается оптимизация Way4, в том числе по устранению остающихся недостатков в части технологии RAC.
Накопленный опыт востребован в задачах перевода в конфигурацию Real Application Cluster других критичных информационных систем Банка, что также поможет увеличить возможности ИТ для обеспечения роста бизнеса и увеличения доли Банка на рынке.