«Разработка операционной системы рыночного уровня должна укладываться в 1 млрд долларов»

В нашем проекте «Где рождается наукоемкий бизнес?» ученые в своих лабораториях и рабочих пространствах рассказывают о перспективных исследованиях, разработках и их технологическом применении в различных сферах бизнеса. В этом выпуске мы побеседовали с кандидатом физико-математических наук, основателем компании «Апрентис» Антоном Чижовым и основателем и совладельцем группы компаний DZ Systems Дмитрием Завалишиным. Группа компаний DZ Systems была основана почти 9 лет назад и в основном занимается разработкой enterprise-систем, вебовских систем типа e-commerce, порталов, площадок. Самое известное из того, что было сделано, — это e-commerce платформа для компании «Юлмарт», крупнейшего кибермаркета в России. Второе направление — это мобильная разработка. Здесь, в частности, были созданы банк-клиенты для таких крупных банков, как Райффайзен и Банк Москвы. Большое количество приложений делаются для компании Яндекс.

О специфике разработок enterprise-систем

Дмитрий Завалишин: Понятно, что коммерческая компания, которая занимается разработкой прикладного программного обеспечения, всегда занимается оптимизацией стоимости эффективности этого процесса, качеством результата. Мы все время работаем над тем, чтобы делать то, что нужно нашему клиенту, быстрее, дешевле, лучше, ближе соответствовать его ожиданиям. И, что очень важно, готовый продукт должен быть достаточно гибким, потому что в 100% случаев в процессе обкатки, эксплуатации возникают пожелания его модифицировать, доработать. И когда пришел Антон с «Апрентис», то он точно соответствовал нашим ожиданиям. Антон Чижов: В предыдущей фирме мы много работали с Salesforce, писали веб-приложения. А это очень крупная американская система, в первую очередь ориентированная на CRM. И было понимание, что Salesforce в России как CRM пойдет плохо. Он может использоваться только в фирмах, которые используют по-настоящему западный подход к ведению всех процессов и взаимодействий с клиентами. Там он стандартизован, там он понятен. В России с этим ситуация совершенно другая. Гибкости не хватало. И мы решили сделать некоторую платформу, которая позволяла бы достаточно гибко и быстро разрабатывать именно web-приложения в таблично-карточной системе.

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

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

Программный архитектор Антон Чижов и IT-предприниматель Дмитрий Завалишин о разработке enterprise-приложений, недостатках UNIX и российской операционной системе

О платформе «Апрентис» Дмитрий Завалишин: «Апрентис» — это платформа-конструктор для разработки бизнес-приложений. Ее целевая задача — построить бизнес-приложение типа CRM, ERP или для документооборота за очень короткий срок и при этом обеспечить достаточную гибкость.

Основной key point «Апрентис», который дает нам преимущество перед конкурентами, в том, что мы способны уже после первой встречи с клиентом, обсудив с ним черновые ожидания, через 2–3 дня вернуться к нему с работающим прототипом.

В этот момент пользователь вовлечен в процесс создания приложения, и это значительно облегчает процесс внедрения.

Антон Чижов: Есть два базовых процесса работы над заказами: это либо точное техническое задание, либо живой процесс, когда заказчик по ходу дела начинает детализировать свои требования. Но даже если есть четкое техзадание, то часто оказывается, в процессе тестирования возникает необходимость внесения каких-либо изменений. И если платформа, на которой разрабатывается приложение, недостаточно гибкая, это затруднит выполнение заказа. В «Апрентисе» же это делается достаточно легко, можно все перестраивать и дорабатывать.

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

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

Дмитрий Завалишин: С одной стороны, это платформа, то есть инструмент для создания приложений. С другой стороны, это платформа, в которой накоплен опыт создания этих приложений, и по некоторым направлениям у нас есть шаблоны. То есть, скажем, если клиент или мы для клиента собираемся делать CRM, то мы делаем его не с нуля, для этого есть некоторое количество шаблонных приложений CRM-типа.

[embedded content]

О конкуренции С одной стороны, рынок очень большой. С другой стороны, сложный и конкурентный — 1С: Предприятие вполне себе попадает в эту нишу. Или тот же SAP Business ONE.

Если говорить про успешность продукта, то мы постоянно делаем на нем какое-то количество проектов. Нельзя сказать, что у него какая-то бешеная доля рынка. Но в рамках наших потребностей и наших задач мы двигаемся довольно ощутимо.

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

Традиционно «Апрентис» был ориентирован на бизнес-приложения, в которых особенный дизайн, проработка user-интерфейса отсутствовали. И реалии современного мира и уж тем более разработка публичных веб-систем требуют от нас детального отношения к дизайну, к user experience, и на сегодня в «Апрентисе» реализуется новый блок функциональности, который позволит делать на нем проекты, имеющие уникальные пользовательские интерфейсы, специально разработанные под конкретного клиента.

Программный архитектор Антон Чижов и IT-предприниматель Дмитрий Завалишин о разработке enterprise-приложений, недостатках UNIX и российской операционной системе

О парадигмах операционных систем Идея операционной системы «Фантом» началась с осознания, что современные операционные системы сделаны такими, какие они есть, не потому, что так делать хорошо, а потому, что так сложилось исторически в течение многих десятилетий. Причем на сегодня можно говорить о том, что парадигма операционной системы UNIX, безусловно, победила.

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

Если бы мы попытались представить себе жизнь программы и переселились в ее окружение, то выяснилась бы интересная вещь. Я очень люблю такую параллель. Все, наверное, собирали мебель из IKEA: взял коробочки, вынул детальки, сложил их, свинтил пару винтиков — получается стол. Интересно, что современная программа, работающая под UNIXом, вынуждена вести себя так, как если бы мы с вами утром, уходя на работу, были вынуждены разобрать в доме всю мебель и сложить ее обратно в коробочки, а вечером, вернувшись с работы, снова раскрыть коробочки, вынуть все детальки и собрать обратно.

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

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

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

[embedded content]

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

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

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

И второй вопрос: как переносить программы в эту систему? Ключевой ответ самый простой: на сегодня разрабатывается инструментарий, чтобы портировать в «Фантом» приложения, разработанные на языке Java, и, в частности, приложения, разработанные под платформу Android.

Второй канал, который мы продумываем, — это портирование unix-приложений. В некотором объеме он уже реализован, но менее существенен и менее интересен, потому что это и не позволяет во всей полноте реализовать преимущества операционной системы.

На сегодня у нас есть инженерный прототип, то есть существует реализованное ядро операционной системы, которое может продемонстрировать те свойства, о которых мы сейчас говорили, но готовым продуктом, который можно выпускать на рынок, он, конечно, не является.

На сегодня «Фантом» полностью финансируется нами самостоятельно, но мы ищем партнеров, так как это очень дорогостоящий проект.

Программный архитектор Антон Чижов и IT-предприниматель Дмитрий Завалишин о разработке enterprise-приложений, недостатках UNIX и российской операционной системе

Как-то озвучили стоимость разработки одной из версий Windows. Кажется, это была Vista, и называлась сумма в районе 8 млрд долларов.

Россия на сегодня в год на системное программное обеспечение — это не только операционные системы, но и базы данных, и еще некоторое количество софта — тратит около 1,6 млрд долларов.

Оценочно можно предположить, что стоимость разработки реально полноценной операционной системы рыночного уровня в 1 млрд должна вполне укладываться. Если соотнести это с затратами более чем 1,5 млрд в России на закупку софта, то начинает складываться картина потенциальной безубыточности такого проекта в перспективе 3–5 лет.

Фото: Евгений Вербовой / ПостНаука

Полный текст статьи читайте на Postnauka.ru