О компании GridGain Systems заговорили в 2015 году, после того как стало известно, что Сбербанк планирует масштабное внедрение технологий обработки в памяти GridGain In-Memory Data Fabric и становится инвестором компании. Никита Иванов, основатель и технический директор GridGain Systems, родился и вырос в Ленинграде, окончил Балтийский государственный технический университет «Военмех», а с середины 90-х годов живет и работает в США. У него имеется более чем двадцатилетний опыт разработки программного обеспечения для высокопроизводительных систем и платформ промежуточного слоя. Он один из первопроходцев применения Java для разработки серверного промежуточного ПО. В 2005 году Иванов вместе с коллегами начал работу над распределенной технологией обработки данных в памяти, которая и положила начало продукту GridGain In-Memory Data Fabric. В 2015-м по результатам тендера решение GridGain было выбрано в качестве инфраструктурной платформы для проектов Сбербанка, и с прошлого года идет внедрение системы в производственную среду этой крупнейшей в мире финансовой организации.

В интервью журналу «Открытые системы.СУБД» Никита Иванов рассказал об истории и перспективах своей компании и о том, почему технологиям in-memory альтернативы нет.

 

Как была создана компания GridGain?

Как и многие проекты в области инфраструктурного ПО, проект, который лег в основу технологий GridGain, начинался в рамках сообщества Open Source — cегодня это проект Apache Ignite, развиваемый с середины 2000-х. Компания GridGain Systems была создана в 2010 году вокруг этого проекта, когда были привлечены первые инвестиции.

Идея вычислений в памяти (in-memory computing) не нова — она появилась еще в 1960-е годы, с началом применения первых внешних накопителей на лентах. Доступ к ним был на несколько порядков медленнее, чем доступ к данным в памяти, поэтому сразу возник вопрос: почему бы не держать часто используемые данные в памяти, там же, где выполняются программы? С тех пор практически все системы по хранению и обработке данных имели возможность кэширования. В первых реализациях in-memory computing было совсем мало памяти, она была безумно дорогой, но с годами ситуация изменилась: падение цен на память, широкое распространение 64-битных процессоров и всплеск объемов данных — все это определило возможность современных реализаций in-memory computing. Наличие 64-битного процессора позволяет адресовать доступ к множеству данных на одном узле, а если соединить эти узлы в кластер, то появляется возможность работать с очень большими объемами данных. И самое главное, подоспели гражданские приложения, которые нуждаются в таком подходе к обработке данных, — в течение 20 лет это были в основном специализированные задачи военного назначения.

Сегодня in-memory computing становится для большинства современных приложений фактическим стандартом. И наш проект — один из тех, что возникли на последней волне развития технологии обработки в памяти.

Интересно также посмотреть на эту технологию с точки зрения эволюции систем хранения данных. Развитие шло от лент к жестким дискам, затем к флеш-памяти и сейчас — к хранению в памяти. К 2018 году прогнозируют активное развитие энергонезависимой памяти (non-volatile memory, NVM) и фактически хранение данных в памяти — это последний рубеж в эволюции хранения для компьютеров архитектуры фон Неймана. До тех пор пока мы кардинально не изменим эту архитектуру (например, перейдем к световым или биокомпьютерам), существенных прорывов в подходах к хранению уже не произойдет. Именно поэтому большинство аналитиков считают, что in-memory computing — это не просто очередная технология хранения, такая как флеш, а основной способ для работы с данными на долгое время.

 

В обозримом будущем альтернатива этому подходу не появится?

Да, для многих современных систем альтернативы уже нет. Скажите, вы часто слышите о проектах создания систем с нуля — в банке, страховой компании, индустрии развлечений, где не требуются высокая производительность и масштабируемость? Думаю, нет. Можете себе представить приложение на смартфоне, в котором ответ на ваш запрос приходит через час? Однако 20 лет назад все приложения были такими. Но мы забываем, что за нажатием кнопки запуска приложения на телефоне стоит обработка огромных объемов данных, которые постоянно растут. Поэтому и необходима обработка именно в памяти, то есть та, которая максимально приближена к оборудованию, иначе добиться ускорения уже физически невозможно. Сегодня нет технологий и подходов, которые бы обеспечивали более высокую скорость и большую масштабируемость, чем обработка и хранение в памяти.

Однако все это не так просто, как кажется, хотя бы по причине разнообразия задач и данных. Пять-семь лет назад, когда мы только поднимали наш бизнес, слышали множество возражений: зачем нам такие технологии, если мы не занимаемся запуском ракет или исследованием залежей углеводородов? Но за последние годы ситуация изменилась, и теперь к нам приходят стартапы, которые не знают, как справиться с ежедневной обработкой 400 Тбайт данных.

 

Что сдерживает распространение технологий обработки в памяти и где прежде всего востребованы ваши решения?

Циклы развития ИТ-индустрии сокращаются, и если 20 лет назад такой цикл составлял 10–15 лет, то сегодня компании каждые два-три года обновляют свои программные стеки. Системы in-memory computing пока не стали стандартом для всех организаций во всем мире, но есть определенные категории предприятий, которые уже не могут без них обойтись. Например, на Уолл-стрит это абсолютно необходимая технология, и больше половины наших клиентов — это финтех-компании, для которых скорость обработки данных находит прямое отражение в деньгах. Они первыми обратились к технологии обработки в памяти еще в 1990-е и с тех пор являются локомотивом ее продвижения. Но у нас много других интересных клиентов, например, в области биоинформатики, где ведется создание новых лекарств, в разработке мобильных приложений и др. Появляются клиенты, о заинтересованности которых в наших технологиях мы раньше даже и подумать не могли. Недавно к нам обратились заказчики из Autodesk, пожелавшие добавить к своей системе проектирования интересную возможность — кнопку, нажав на которую, пользователь отправляет чертеж детали в производственные студии по всему миру, имеющие 3D-принтеры. Конструктору выставляется предложение по цене, а система автоматически выбирает производство с оптимальными затратами. Когда в Autodesk была запущена эта функция, то все системы компании сразу «упали», поскольку не могли справиться с таким огромным числом студий, желающих предложить свои услуги и конкурирущих за право изготовить изделие по чертежу.

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

 

А какова ситуация в России?

Мы пытались продвигать здесь наши технологии сразу после кризиса 2008 года, вели переговоры с ФНС, «Газпромом», с другими крупными компаниями, которые в один голос заявляли, что эти «космические» технологии им не нужны. А через четыре года мы начали сотрудничать со Сбербанком и сейчас уже работаем с рядом российских компаний, с ФНС и др. В России поняли, что если требуется конкурировать наравне со всем миром, то такие системы нужны.

 

Ваш продукт — это своего рода «прослойка» между памятью и СУБД. Но есть мнение, что современные СУБД не готовы к работе даже с технологиями флеш-памяти, что уж говорить об in-memory computing.

 Никита Иванов: «Сегодня нет технологий и подходов, которые бы обеспечивали более высокую скорость и большую масштабируемость, чем обработка и хранение в памяти»
 Никита Иванов: «Сегодня нет технологий и подходов, которые бы обеспечивали более высокую скорость и большую масштабируемость, чем обработка и хранение в памяти»

 

Если посмотреть на технологии in-memory двадцатилетней давности, то это было именно так: системы выполняли только роль кэша между базой данных и приложением. Но за последнее время сложность подобных решений значительно выросла, и идея «прослойки» уходит. Сегодня GridGain сама по себе может полностью заменить СУБД, поскольку поддерживает все те же ключевые функции: SQL, транзакции, высокую доступность и др. Более того, мы предоставляем в разы больше функциональности, чем традиционные СУБД: потоковую репликацию, вычислительный грид (традиционные высокопроизводительные системы), интеграцию со Spark и Hadoop, файловую систему в памяти и многое другое.

Именно поэтому нас выбрали Сбербанк и Barclay’s, ведь GridGain — не просто инструмент вычисления в памяти, а возможность заменить все базы данных, которые сегодня развернуты в финансовых учреждениях. В Сбербанке это и происходит — одна из идей состоит в том, чтобы перейти с СУБД Oracle на GridGain. Базы данных в современном мире становятся местом, где складируются данные на долговременное хранение,  размещаются резервные копии, однако все это обходится компаниям слишком дорого. Зачем Сбербанку ежегодно платить десятки миллионов долларов в год лицензионных отчислений за резервную систему хранения, когда вся обработка будет на GridGain? Для этих целей гораздо проще развернуть, например, Hadoop.

Сама идея СУБД начинает постепенно вымываться, но, естественно, этот процесс займет определенное время. Цели использования СУБД меняются, наверно, будут меняться и сами технологии.

 

Насколько сложен процесс миграции с Oracle на GridGain?

Такие компании, как Сбербанк, имеют очень сложную ИТ-инфраструктуру, однако они приняли стратегическое решение о постепенном переходе от традиционных СУБД к обработке в памяти с использованием нашей технологии. Cложность такого перехода определяется конкретным проектом. Имеются проекты, где на GridGain переводятся уже существующие системы, а есть такие, где все делается с нуля с использованием наших технологий. Уже введены в продуктивную эксплуатацию первые системы на базе GridGain, причем меньше чем через год после подписания контракта, что для такого масштабного банка поразительный результат. Мы видим, как работают другие, более консервативные банки — например, американские, для которых любое небольшое изменение в бизнес-процессе занимает годы.

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

 

Какие еще у вас есть клиенты с похожими по масштабу задачами?

Сбербанк — уникальная компания. Мы работаем и с Barclay’s, и с Citibank, но аналогов тому, чего стремится достичь Сбербанк, пока нет. И поскольку у нас команда преимущественно российская, нам очень приятно, что банк именно из России настолько инновационен в самом правильном, непафосном смысле этого слова. По мнению аналитиков Gartner, в области in-memory computing Сбербанк является банком номер один в мире.

 

Что сегодня представляет собой рынок in-memory computing, кто ваши конкуренты?

Из больших компаний — это SAP с системой HANA, хотя опции обработки в памяти имеются в продуктах Oracle, Microsoft и IBM. Но всем этим компаниям гораздо сложнее, поскольку им надо обслуживать свои традиционные СУБД — эту громадную «дойную корову», которой они добавляют «бантики» работы в памяти, но принципиально сделать с ней ничего не могут, так как это важнейший источник дохода. Это монстры со своим рынком, и мы с ними практически не конкурируем.

Есть интересные стартапы вроде VoltDB и MemSQL. Они реализуют традиционные базы данных SQL, в которых диск заменен на память. Есть ряд компаний, подход которых аналогичен нашему, а мы предоставляем больше, чем просто СУБД: наша система реализует целый комплекс функций, формирующих полноценную структуру работы с данными, потому она и называется In-Memory Data Fabric. Среди компаний, придерживающихся схожего подхода, можно назвать Hazelcast, которая работает здесь в Кремниевой долине, Gigaspace из Израиля, и, наверно, на сегодня все. Поле конкуренции не такое большое. Нам помогает то, что мы развиваем свою систему в рамках модели Open Source и лидируем в этой области. Вообще, модель Open Source очень важна в сфере инфраструктурного ПО; в противном случае, думаю, у вас практически нет шансов. Это подтверждает успех и Hadoop, и Spark, и компаний, которые развивают свои решения на основе этих технологий.

Для Hadoop предлагается много коммерческих реализаций. С Ignite происходит что-то подобное?

Начавшийся было рост числа компаний вокруг Hadoop быстро прекратился, все поняли, что достаточно двух-трех дистрибутивов, а четыре-пять уже перебор. Поэтому сейчас здесь по сути осталось три серьезных игрока: Cloudera, Hortonworks и MapR, — а остальные сошли с дистанции, даже Intel закрыла полумиллиардный проект по Hadoop. Ничего, кроме головной боли для пользователей, большое число коммерческих версий проекта с открытым кодом не приносит. Если посмотреть на Spark, то как была одна компания, которая занималась его развитием (Databricks), так она и осталась, хотя никому ничто не мешало найти инвестиции и начать что-то делать вокруг Spark. Само сообщество пользователей решило, что это не нужно. Действительно, гораздо проще сконцентрироваться на разработке самого проекта с открытым кодом и иметь одну, максимум две компании, которые реализуют для него корпоративные версии.

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

Для Apache Ignite пока есть только одна компания, разрабатывающая корпоративную версию, — это GridGain. Мы предоставляем стабильную версию с дополнительными функциями и стандартным набором сервисов поддержки, консалтинга и т. д. Может быть, появятся и еще компании, а может быть, и нет, но, даже если GridGain завтра перестанет существовать, проект Ignite продолжит развиваться, и это одно из преимуществ модели Open Source. Когда мы приходим в крупную организацию, возникает вопрос: как можно смотреть в будущее, работая сегодня с небольшим стартапом в 100 человек? Но риски снимает тот факт, что за нами стоит мощный проект с открытым кодом.

 

 Компания GridGain до сих пор сохраняет статус стартапа, когда она станет зрелым бизнесом?

Согласно известному определению, стартап — это временная организация, которая находится в поиске устойчивой бизнес-модели. Абсолютное большинство компаний в Кремниевой долине — это стартапы, независимо от того, сколько человек в них работает. Думаю, мы останемся стартапом еще долго, находясь в поиске устойчивой бизнес-модели, потому что меняются технологии, меняются ожидания, сокращаются циклы развития технологий. Например, на изменение бизнес-модели очень сильно повлияли облака, что больно ударило по таким компаниям, как Microsoft, Oracle и др. С появлением и взрослением подобных технологий будет меняться и наша бизнес-модель. Я вообще приверженец идеи, что практически любой бизнес, если он правильно управляется, всегда остается стартапом, потому что постоянно находится в поисках этой модели. Внешние факторы все время меняются, и если 100 лет назад можно было основать IBM и следующие 50 лет развиваться в рамках одной и той же бизнес-модели, то больше такого уже не будет.

Конечно, мы будем расти, последние три года GridGain ежегодно удваивает продажи, и на следующий год у нас тоже большие планы. Мы постоянно нанимаем людей по всему миру — в Европе, в России, в Америке, но по сути своего бизнеса остаемся стартапом.

 

Ваши разработчики все из России? Какие к ним предъявляются требования? Готовят ли российские вузы нужные вам кадры?

В нашем штате около 70% разработчиков из России. Я сам получил образование в России и был воспитан с той мыслью, что наши специалисты — лучшие в мире, однако это миф. Безусловно, в стране приличное базовое образование, но нашим выпускникам кардинально не хватает реального опыта участия в серьезных проектах. Например, в любом крупном центре США молодые специалисты очень быстро накапливают практический опыт, работая либо в Google, либо в Facebook, Twitter или Microsoft, хорошо понимая, что такое современная коммерческая разработка программного обеспечения. А в России этого просто нет, и это главная проблема для нас.

Ситуация меняется, но таких компаний, как GridGain, которая дает реальный опыт участия в разработке уникального программного продукта, в России по-прежнему единицы.

 

Каковы планы по развитию технологий GridGain?

Мы не станем отклоняться от стратегической линии и делать принципиально новые продукты, но проекту предстоит глубокое развитие в силу того, что меняются требования к нему. Для крупных организаций сегодня все более актуальны задачи цифровой трансформации, и с этим связаны ключевые направления совершенствования технологии GridGain. Одно из наиболее интересных и важных направлений на этот год — машинное обучение, другая область — HTAP (hybrid transactional analytical processing).

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

Наталья Дубова (osmag@osp.ru) — научный редактор, «Открытые системы. СУБД» (Москва).