В полном соответствии с общемировыми тенденциями и российским курсом на импортозамещение наша крупнейшая ИТ-компания с банковской лицензией обратила внимание на Open Source. В последний день Гайдаровского форума на панельной дискуссии президент и председатель правления Сбербанка Герман Греф выступил с неожиданным заявлением о переходе на Open Source-платформу — программный продукт GridGain In-Memory Data Fabric.

Генеральный директор «Сбербанк-Технологий» Алиса Мельникова впоследствии смягчила заявление руководителя банка. Она уточнила, что использование GridGain In-Memory Data Fabric является «одним из важных, но далеко не единственным направлением». По ее словам, несмотря на успешно проведенное тестирование СУБД PostgreSQL как возможной замены СУБД Oracle, с учетом того, что Сбербанк владеет неограниченной корпоративной лицензией на указанный продукт Oracle, никаких планов по переходу на СПО-платформу у него нет.

Но все же Open Source постепенно завоевывает место в крупнейшем банке страны. Новое свидетельство тому — открытый тендер «Выбор организации на выполнение работ по разработке программного обеспечения в отношении платформы динамической инфраструктуры OpenStack (Автоматизированная система Платформа динамической инфраструктуры [АС ПДИ], IaaS) для нужд ПАО Сбербанк», информация о котором появилась на сайте госзакупок.

В конкурсной документации прямо написано: АС ПДИ «не должна содержать в своём составе никакого закрытого или коммерческого ПО». Все компоненты системы должны распространяться под открытыми лицензиями (например, Apache 2.0, GPL, LGPL, MIT, Creative Commons) и быть совместимыми между собой.

ИТ-инфраструктура Сбербанка

Все информационные системы Сбербанка распределяются по трём различным зонам функционального назначения:

  • продуктивные зоны, выполняющие задачи штатного функционирования информационных систем;
  • зоны тестирования, где контролируется качество разработок и настроек информационных систем перед их внедрением в продуктивные зоны;
  • зоны разработки, где информационные системы разрабатываются, настраиваются и тестируются.

АС ПДИ, которую предполагается использовать в ЦОДе Сбербанка в Южном Порту (Москва), предназначена для организации доступа к тестовым средам и управления их жизненным циклом, состоящим из следующих этапов:

  • описание конфигурации в терминах используемых базовых инфраструктурных сервисов;
  • размещение заказа на создание;
  • разворачивание тестовой среды средствами АС ПДИ:
  • эксплуатация тестовой среды;
  • уничтожение тестовой среды.

Система должна поддерживать до 8500 одновременно запущенных виртуальных машин, до 700 физических серверов-гипервизоров, до 1000 пользователей, в том числе до 250 одновременно работающих.

В рамках первой фазы подсистема вычислительных сетей (ПВС) должна быть реализована при помощи базовой функциональности модуля OpenStack Neutron. При этом все изменения референсной архитектуры OpenStack реализуются с использованием штатного и предусмотренного архитектурой механизма расширения (плагины OpenStack Deployment Service — Fuel), чтобы обеспечить повторяемость при повторном разворачивании.

Система должна включать ПВС, осуществляющую управление жизненным циклом экземпляров виртуальных машин (создание, размещение и удаление) и основанную на ПО OpenStack Nova.

Подсистема хранения данных (объектная) реализуется на базе ПО с открытым исходным кодом OpenStack Swift.

Подсистема оркестрации должна реализовывать механизм исполнения бизнес-процессов (workflow engine) на базе OpenStack Mistral.

Система управления доступом на базе OpenStack Keystone должна поддерживать интеграцию с внешним каталогом пользователей Microsoft Active Directory по протоколу LDAP и применение ролевой модели разграничения доступа к ресурсам и операциям.

Сбербанк и открытое сообщество

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

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

Пожалуй, это первый такого рода документ Сбербанка, где требуются положительные отзывы на программный код со стороны сообщества и размещение в публичном репозитории исходного кода на GitHub.

Как работать с ОреnStack

Как Сбербанк сможет работать с OpenStack? В чем преимущества этого решения? За комментариями мы обратились к Илье Алексееву, координатору российского сообщества OpenStack.

PC Week: Как устроен проект OpenStack?

Илья Алексеев: Серьезное преимущество модели Open Source заключается в возможности объединить ресурсы компаний, в которых работают лучшие специалисты ИТ-индустрии. При этом у каждой компании свои интересы, желание адаптировать разработку под свое железо или свои программные решения, свои взгляды на то, какие направления разработки наиболее важны. Чтобы найти баланс, все решения принимаются публично — все всё видят. Общую стратегию определяет технический комитет. Состав комитета определяется выборами, его задача определять техническую стратегию развития в целом.

Сам OpenStack разделен на ряд программных проектов охватывающих определенные направления. Для каждого отдельно взятого проекта есть также избираемый технический лидер проекта (Project Technical Lead, PTL) и основная команда (Core Reviewers, CR). При создания патча и отправки его в основную ветку кода именно эта команда принимает решение о принятии или непринятии патча. Проектирование также открытый процесс. Таким образом road map развития выбирает сообщество в целом.

PC Week: Насколько сложно попасть в технический комитет?

И. А.: Сообщество очень демократично. Всё определяется выборами. При этом учитываются авторитет человека и его вклад в сообщество — свой написанный код, его положительная оценка другими, его собственные оценки и рецензии на код других разработчиков. Таким же образом выбираются PTL по отдельным направлениям OpenStack.

PC Week: Как можно выполнить требование Сбербанка и разместить разработку в основном публичном репозитории исходного кода на GitHub? Кто принимает такое решение?

И. А.: Решение принимают разработчики конкретного проекта. Непосредственно решение принимается членами основной команды проекта (CR + PTL). CR вы можете стать, если наберёте достаточный авторитет в сообществе, чтобы другие CR данного проекта присвоили вам такой статус. Это долгий и не совсем простой процесс.

PC Week: Какие есть модели работы с OpenStack?

И. А.: Есть несколько подходов. Самый простой — вы скачиваете «ванильную» версию, сами ее ставите, адаптируете под свои нужды и поддерживаете. Вариант полностью бесплатный, но надо понимать, что вам придется развивать экспертизу в своей компании. В этом варианте лучше всего, если вы будете участвовать в сообществе своими группами разработчиков.

Второй подход — использовать компанию, специализирующуюся на OpenStack. Эта компания адаптирует решение под ваши нужды и даже сможет в дальнейшем осуществлять поддержку. Но если эти изменения не попадут в основной публичный репозиторий (Upstream), то со временем ваша версия будет все сильней отличаться от основной и ее поддержка будет обходиться вам все дороже.

Третий вариант — заключить договор с компанией, у которой есть опыт работы с сообществом и широкая экспертиза, способность отстаивать свои решения в сообществе, и на этой базе начать развивать собственную экспертизу. Похоже, что по этому пути и идет Сбербанк. Выбранная компания-подрядчик будет размещать свои разработки в основном публичном репозитории. И будем надеяться, что после этого Сбербанк разовьет свою экспертизу в необходимом объеме.

PC Week: Почему Сбербанк выбрал OpenStack?

И. А.: OpenStack — оптимальное открытое решение для облачных приложений. Сейчас его используют крупнейшие западные компании, такие как Bloomberg, Wal-Mart, eBay, PayPal и др. Это обеспечивает им гибкость и сокращает время разработки. Как заявил Герман Греф, время разработки и внедрения новых продуктов в Сбербанке должно измеряться часами, а не месяцами, поэтому выбор облачной платформы OpenStack для разработки ПО банка представляется вполне логичным.

Автор статьи — канд. техн. наук, член ассоциации RCCPA.