В полном соответствии с общемировыми тенденциями и российским курсом на импортозамещение наша крупнейшая ИТ-компания с банковской лицензией обратила внимание на 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.