«Самый большой конкурент — это те, кто делают все самостоятельно» — Петр Зайцев о создании и развитии компании Percona
Мы продолжаем беседу со специалистами компании Percona. Материал получился очень интересный. На наши вопросы ответил Пётр Зайцев, основатель и CEO компании. Послужной список Петра велик: создание и развитие крупнейшего консалтинга, занимающегося поддержкой и обслуживанием решений на базе MySQL и MongoDB; соавторство опубликованной издательством O’Reilly книги «MySQL. Оптимизация производительности»; регулярные публикации в Percona Database Performance Blog, один из лучших технических блогов, посвященных MySQL и PostgreSQL. Незадолго до основания собственной компании, Петр возглавлял группу оптимизации производительности (High Performance Group) в MySQL AB.
Мы поговорили с Петром об истории становления компании, ключевых ценностях, трудностях работы на современном технологическом рынке и стратегии развития компании, обсудили некоторые особенности подбора сотрудников в Percona — процесс, который Петр курирует лично.
На PG Day’17 Russia Петр впервые прочитает для русскоязычной аудитории свой авторский курс, посвященный архитектуре и оптимизации производительности InnoDB, а также проведет обзор доступных средств для эксплуатации MySQL 5.7 как документо-ориентированной базы данных.
PG Day: Пётр, расскажи о себе, кто ты и чем ты занимаешься?
Петр: Петр Зайцев – основатель и СЕО компании “Перкона” (Percona). Компания была основана более 10 лет назад. Мы предоставляем решения в сфере MySQL и MongoDB. Основной наш бизнес – это поддержка (support), удаленное администрирование (remote DBA) и управление (managed services), но мы также занимаемся консалтингом и тренингами.
PG Day: Как вы начали строить бизнес именно вокруг MySQL? Почему выбрали эту СУБД?
Петр: На самом деле, не было такого, что я сел и стал думать, на чем делать бизнес. До основания “Перконы” я работал в компании MySQL AB и, соответственно, я знал технологии, у меня были связи, знакомства с людьми в этой индустрии. И поэтому, когда появилась возможность и желание сделать что-то свое, выбор был вполне понятным и очевидным. В бизнесе нужно делать то, что умеешь, то, в чем ты видишь потенциальный успех. В момент основания “Перконы” у меня не было грандиозной идеи, что она станет компанией, в которой будет работать более 100 человек. Я думал, что позанимаюсь консалтингом пару лет, а потом, может, буду делать что-то другое. Но начало оказалось довольно успешным, всё пошло-поехало, и мы втянулись.
PG Day: Когда ты еще работал в MySQL AB, у тебя был технический бэкграунд, то есть ты пришел в менеджмент из технологий?
Петр: Да, верно. В MySQL я работал в чисто технической роли. Последний год я был entry-level менеджером. Но, в основном, это было техническое направление.
PG Day: Если бы ты принимал сейчас решение открыть бизнес по консалтингу, по каким критериям бы выбирал технологию, стек? Как изменилось бы твое решение относительно текущих реалий?
Петр: Здесь есть несколько критериев. Я считаю, что с MySQL мне очень сильно повезло по двум причинам. Во-первых, когда “Перкона” была основана, рынок MySQL очень быстро рос, не хватало специалистов, и многие компании, которые хотели внедрять эту технологию, были готовы платить очень много денег. Такие циклы повторяются и для других технологий. Например, Hadoop. Несколько лет назад, когда произошел взрывной рост Hadoop, у людей, которые понимали в этой технологии, были очень хорошие возможности, потому что спрос превышал предложение в разы. Сейчас я бы, конечно, смотрел на это направление. И второе, один из ключевых моментов успеха — важно делать то, что тебе нравится, то, к чему у тебя лежит душа. Если ты занимаешься тем, что тебе не нравится, просто ради денег, то вряд ли будет успех, в какой бы области ты ни работал.
PG Day: Весь ваш софт полностью бесплатный. Вы не делаете проеприетарное ПО, которое можно было бы продавать. Почему вы отказались от такой модели развития бизнеса, как продажа своих закрытых решений?
Петр: Рынок закрытого программного обеспечения или даже открытых исходников основной функциональности (open core) с некоторыми платными фичами значительно больше, чем рынок полностью открытого программного обеспечения, которым занимается “Перкона”. Тем не менее, на нем также есть очень много конкурирующих компаний. В этот рынок вкладывается очень много ресурсов, компании поднимают много денег — венчурные капиталы и т.д. У них совершенно другая бизнес-модель, которая нам не очень интересна.
Мы фокусируемся на рынке чистого, открытого программного обеспечения, которое нам позволяет серьезно отличаться от других вендоров. Особенно это важно на рынке MySQL, где мы не работаем с какой-либо совершенно новой технологией, не создаем ее с нуля.
Часто люди, говоря о рынке “Перконы”, сравнивают нас с кем-то вроде MongoDB, MySQL или MariaDB. На самом деле это не совсем правильно, потому что наша задача не создать платформу или технологию с нуля, а предоставлять услуги для лучшей открытой платформы в этой области. Если бы мы делали Percona Server с закрытыми “примочками”, то разница между нашим решением и, например, решениями Oracle, была бы очень мала. Это был бы тот же самый Oracle, но попроще, подешевле. Это не очень хороший мотиватор. Если удел Oracle – это закрытое программное обеспечение, которое делает пользователей зависимыми от поставщика (vendor lock-in), даже в случае с MySQL – это open core, то мы делаем Open Source, который помогает избежать этого. Очень понятная и простая разница.
PG Day: Как с того момента, как ваша компания была основана, развился рынок поддержки, консалтинга MySQL? Наверняка у “Перконы” стало больше конкурентов. Чем вы от них отличаетесь? Что позволяет вам оставаться конкурентоспособными и занимать высокие позиции на рынке?
Петр: Если говорить о MySQL, “Перкона” работает на нескольких рынках, которые имеют разных конкурентов. Если говорить о поддержке, то компании, которые являются нашими конкурентами – это только Oracle и MongoDB, две единственные компании, которые реально могут предоставлять полный цикл поддержки, включая исправление проблем, багов в программном обеспечении. MariaDB тоже была на рынке MySQL, но сейчас они выходят с него и фокусируются только на поддержке платформы MariaDB.
Мы уникальны тем, что являемся единственной компанией, которая поддерживает широкий спектр MySQL и MongoDB технологий, а не только свои решения. Например, если MySQL от Oracle поддерживает свой стек технологий для бэкапа, мониторинга и всего остального, то мы поддерживаем как наши технологии Percona Server, Percona XtraDB Cluster, так и MySQL от Oracle, вариант MySQL от MariaDB, а также облачные решения — такие, как Amazon RDS и Google Cloud SQL.
В области поддержки мы являемся единственным вендором, который покрывает и MySQL, и MongoDB одновременно, что многим достаточно интересно по двум причинам. Во-первых, когда происходит эволюция технологий, во многих компаниях образуется баланс между тем, сколько MySQL и сколько MongoDB они используют. Достаточно сложно работать с двумя вендорами, это негибко и неудобно. Если “взлетит” цена на услуги Oracle, вы скажете: «Слушайте, ребята. Мы у вас купили поддержку для 100 MySQL instances, но на самом деле мы будем использовать 50 экземпляров MySQL, а остальные будут MongoDB. Можем мы перевести лицензии?». Конечно, они скажут: «Не можете», — потому что они будут получать меньше денег. С нашей стороны, мы предоставляем поддержку, которая покрывает оба решения, а сколько чего клиент предполагает использовать, остается на его усмотрение.
Во-вторых, любой вендор, который работает только с одной технологией, заинтересован в том, чтобы эта технология использовалась как можно больше. Чем больше ты сможешь показать, что MySQL может использоваться, тем больше договоров на поддержку ты можешь получить. На текущем этапе, если есть выбор между этими двумя СУБД, у нас нет такой мотивации. Клиент может использовать MySQL или MongoDB — для нас это не имеет финансовой разницы. Это позволяет всей нашей команде предлагать более объективные решения, которые основаны на выгодах для клиента, и избегать конфликта интересов. Наверное, одна из наиболее важных вещей, которые легли в основу “Перконы”: мы стараемся концентрироваться на решении, которое действительно является оптимальным клиента, а не для нашего кошелька.
В сфере удаленного управления и администрирования конкуренты у нас уже другие: такие компании, как Pythian и Datavail. И также “облачные” компании, потому что владельцы многих бизнесов сейчас начинают думать: “Если я буду использовать Database as a Service, облачные решения от Amazon, Google Cloud SQL, то, может, мне DBA и не нужны будут?” Для многих компаний это не совсем так, но этот вариант конкуренции тоже является интересным кейсом для нас. Но если говорить в целом о наших сервисах, самый большой конкурент – это, наверное, те, кто делают все самостоятельно. Я это часто объясняю на примере рынка уборки в офисе. Кто здесь самый большой конкурент? Возможно, многие скажут: «А давайте мы сэкономим деньги, сами будем убирать и пылесосить!» Понятно, что это своего рода выбор. И такой выбор стоит перед людьми, которые решают, самим управлять своими базами данных или отдать их кому-то другому.
PG Day: Ты упомянул про сервис удаленного администрирования. Я так понимаю, это DBA-специалисты, которые работают как внешние подрядчики для компаний, оказывают услуги консалтинга. Можешь рассказать, как вы пришли к такому направлению, чем оно привлекательно сейчас?
Петр: Во-первых, мы предпочитаем об этом говорить не как о внешнем подряде, который часто ассоциируется с чем-то негативным. Мы чаще говорим о продолжении облачной модели и технологий типа “Х as a service”. Что у нас происходит с облаком? Люди поняли, что очень часто не имеет смысла нанимать и содержать полный штат специалистов, которые могут поставить серверы и подключить кабели. Для многих компаний это не слишком критичные решения, их можно отдать на аутсорс, чтобы компания могла сфокусироваться на своем основном бизнесе.
Для технологичных компаний это создание продукта. Для компаний в области розничных продаж это может быть маркетинг или логистика. И операции по обслуживанию баз данных часто сводятся просто к работе, которая должна быть сделана. Если ее пытаются сделать внутри компании, то она отнимает энергию. Мы в данном случае предлагаем людям передать все эти проблемы нам и сфокусироваться на разработке своего продукта.
В этом плане рынок Database as a Service нам даже помогает, потому что эти компании вкладывают много средств в маркетинг. Они стараются донести до клиентов мысль о том, что самим настраивать базы данных и управлять ими может быть невыгодно. Но они не идут до конца. Если посмотреть, например, на Amazon RDS, то это не тот сервис, с которым может работать менеджер. Кто-то должен решать, какие instances нужно развернуть, как “задизайнить” схему. Простая настройка бэкапа, мониторинга тоже требует наличия технических специалистов. И это как раз то, что мы можем предложить, потому что мы умеем становиться частью команды и сотрудничать непосредственно и с менеджментом, и с отделом разработки для того, чтобы полностью решить эти проблемы.
PG Day: Ты рассказывало диверсификации тех технологий, которые вы поддерживаете. В какой момент появилось решение взять на поддержку MongoDB? Это был осмысленный шаг, или так органически получилось?
Петр: С одной стороны, мы в начале разработки своей стратегии хотели добавить еще технологии. Я считаю очень важным, чтобы мы действительно могли представлять объективные решения клиентам. Есть такая пословица: if you have a hammer, everything looks like a nail — если у тебя есть один инструмент, которым ты умеешь работать, то тебе все кажется подходящим для этого инструмента, даже когда он не нужен. Появилась возможность на рынке MongoDB, и она очень хорошо подошла для нас: на этом рынке имеется спрос на альтернативных вендоров поддержки, отчасти потому что MongoDB как компания много работала над позиционированием себя как альтернативы MySQL.
Мы смогли приобрести компанию TokuTek, которая уже предоставляла услуги поддержки MongoDB и своего “форка” MongoDB, известного на рынке. Это позволило нам успешно выйти на новый рынок, не делать все с нуля. Не случись этого, нам потребовалось бы больше времени, чтобы начать заниматься чем-то кроме MySQL.
PG Day: Консалтинг – это бизнес, который основан на людях. Компания у вас распределенная, нет одного большого здания, в котором вы все сидите. Как вам удается справляться с большим количеством клиентов? Какие специалисты у вас работают?
Петр: У нас сейчас работает около 150 человек, 30 разных стран, 20 разных штатов США. В основном, люди работают из дома. В США, в Северной Каролине, у нас есть небольшой офис, там в среднем работает 5 человек в день. Он сделан так, чтобы там было удобно проводить встречи. К нам часто приезжают гости. Также у нас есть много маленьких офисов.
На мой взгляд, не совсем правильно ставить в один ряд бизнес в области поддержки и консалтинговый бизнес. Мы начинали как консалтинговая компания, и через несколько лет нам стало сложно развиваться. Компания росла, усложнялась её структура, увеличивались издержки, мы стали заниматься разработкой программного обеспечения — такого как Percona Server для MySQL. Консалтинг часто является достаточно непредсказуемым: бывают периоды, когда клиенты приходят один за другим, но иногда случается менее “урожайный” сезон, и тогда тебя куча консультантов, которым нечем заняться.
Поэтому мы перешли на бизнес-модель: поддержка и удаленное управление — это подписка с фиксированной стоимостью за месяц или год, что дает преимущество как нам, так и нашим клиентам. Для нас это предсказуемый доход, возможность планировать инвестиции и ресурсы. Но и для клиентов это тоже более предсказуемо по бюджетам, которые могут быть запланированы один раз. За последний год мы перешли на эту модель оказания услуг по подписке, и где-то 85% наших доходов — это именно поддержка и удаленное управление. И только 15% — это консалтинг и тренинг.
Теперь с точки зрения масштабирования. Наличие фиксированной подписки позволяет нам инвестировать в технологию для того, чтобы увеличивать нашу эффективность. Наиболее очевидно это с точки зрения удаленного управления. У многих компаний, которые тарифицируют оплату по часам, возникает конфликт интересов. Если ты внедряешь слишком много автоматизации клиентам, то от них требуется оплачивать меньше часов. Но, поскольку клиенты платят тебе за часы, может быть сложно найти деньги на то, чтобы вкладываться в инновацию с целью увеличить автоматизацию и повысить продуктивность. С нашей точки зрения, поскольку мы продаем результат за фиксированную цену, основной интерес – автоматизировать всё как можно больше, чтобы снизить человеческие затраты. Это позволяет нам серьёзно вкладываться в автоматизацию. Это полезно клиенту, потому что системы, которые хорошо автоматизированы, более стабильны. Компьютер делает меньше ошибок, чем люди. Особенно это касается больших систем и больших команд.
Я думаю, что значительная доля нашего успеха связана с этим. Это позволяет нам быть значительно более гибкими с точки зрения персонала. Допустим, ты продаешь какой-то биллинг клиенту, и у тебя в штате есть какой-то супер-разработчик, в пять раз более продуктивный, и поэтому ты бы хотел за него брать в три раза больше денег. На самом деле, бизнес-модель консалтинга так не работает. К большому разбросу в ценах корпоративные клиенты относятся негативно, хотя широко известен факт, что продуктивность в области разработки программного обеспечения между специалистами среднего и высокого класса может отличаться в десять раз. Поэтому, фокусируясь на нашей модели работы по подписке, мы можем позволить себе вкладываться в высокоэффективный персонал.
PG Day: Ты начал говорить про клиентов корпоративного уровня. Я думаю, не секрет, что у вас много очень крупных клиентов типа BBC, Airbnb, Cisco и так далее. Каковы основные сложности взаимодействия с клиентом такого уровня?
Петр: У крупных компаний более высокие требования к структуре и постоянству результата. Это было для меня одним из челленджей в трансформации “Перконы”. Когда мы начинали, мы работали со многими стартапами. Интересные, активные ребята, которые могли сказать «Слушайте, как классно: я “Перконе” задаю вопрос и получаю от них три разных мнения, которые имеют право на существование». Мы все понимаем, что в области технологий нет единственно правильного решения, как в задаче по математике. Обычно их несколько, и все вполне приемлемые: можно сделать так или эдак, и всё будет работать. Поначалу мы нанимали таких умных, независимых ребят и говорили: «Ребята, делайте, как хотите. Главное, чтобы это было разумно, и клиент был доволен».
Когда мы начали работать с enterprise-клиентами, ожидания стали меняться. Они хотят постоянства — как, например, в Starbucks, которые говорят: «Ребята, нам не нужен самый лучший кофе в мире, но мы хотим приходить, просить капучино, и пусть он всегда будет абсолютно одинаковый». Корпорации уделяют этому аспекту очень много внимания. Они хотят задавать один и тот же вопрос (что они часто делают, потому что у них много команд, которые сталкиваются с одними и теми же проблемами) и рассчитывать на получение одного и того же ответа. Если они получают каждый раз разный ответ, их это просто сводит с ума. И это требует совершенно другого подхода к организации команды. Это требует создания внутренних процессов, внутренних баз знаний и так далее, чтобы мы гарантировали, что если у нас спрашивают вот такую вещь, то ответ от “Перконы” всегда будет такой. Можно придумать еще 25 разных ответов, которые тоже будут правильными, но наш ответ такой. Для меня это было не очень понятно, потому что несколько ограничивает креативность. Но многие enterprise-клиенты требуют и ожидают именно этого.
PG Day: Как вы осуществляете подбор хороших специалистов? Компания распределённая, люди разбросаны по всему миру. По своему опыту знаю, собеседовать людей удаленно значительно сложнее, чем вживую.
Петр: Да, я согласен, удалённый найм — вопрос сложный. Но у этой модели есть свои преимущества: если ты ищешь людей всему миру, то у тебя большой пул потенциальных кандидатов, не нужно ограничиваться рамками твоего города. В маленьких городках специалистов не хватает. Если ты находишься в Нью-Йорке или Сан-Франциско, специалисты есть, но за ними ведут охоту богатые компании. Есть еще аспекты, связанные с культурой. Представители некоторых культур на собеседовании будут отвечать, что они знают все. Другие люди более критичны к себе — в частности, русские. Очень часто слышишь: «Ну, я SQL не особенно хорошо знаю. Английский у меня плохой». Начинаешь говорить с человеком, а он и по-английски хорошо говорит, и MySQL совсем неплохо знает, просто у него очень высокие требования к себе.
Что еще интересно? Поскольку интервью проходит удаленно, мы проводим несколько собеседований с привлечением разных людей. Это у нас занимает больше времени, чем обычно, поскольку мы не приглашаем человека в офис. Понять с помощью устных вопросов, насколько человек хорош, сложно. Поэтому для многих позиций мы проводим тесты. У нас есть специальный тренажер: сломанная система, в которую нужно залогиниться и починить её. При этом один из наших сотрудников играет роль клиента, с которым можно общаться. Это позволяет проверить очевидные вещи, например, спросит ли кандидат: «А можно ваш сервер перезапустить?» Некоторые специалисты не понимают, что, работая с клиентами, эти моменты нужно уточнять. Им дали сервер “пофиксить”, и они считают, что теперь они могут все, что угодно: “положить” его на час, операционку переустановить. Мы смотрим не только на технические знания, но и на умение вежливо общаться, оценивать каковы потребности клиента, о чём его нужно информировать. Хороший сервис тоже важен.
В 95% случаев я провожу финальное интервью. Моя цель, прежде всего, ответить на вопросы человека. Я хочу, чтобы человек, который приходит к нам, имел возможность спросить меня, какие есть проблемы, чего следует опасаться, и уже потом, когда он решил ввязаться во все это, винить только себя в том, что он сделал такой выбор. Шутка, конечно. Я со своей стороны стараюсь убедиться, что эти люди соответствуют нашей компании, её культуре, имиджу. Таким образом, я тоже хочу взять ответственность за найм в том числе и на себя.
Расскажу об одном моем трюке. Я понимаю особенность технических позиций: у знаний очень небольшой период полураспада, образно выражаясь. Если сравнить то, что необходимо знать сейчас, и то, что требовалось знать 5 лет назад, выяснится, что появилось много нового, а половина старого багажа знаний уже не актуальна. Необходимо, чтобы человек мог быстро и эффективно учиться, поглощать новую информацию. В разговоре с кандидатами я нахожу что-то, о чём я имею большее представление, чем они. И, когда они начинают “плавать”, я говорю: «Отлично, ты же у компьютера сейчас. Давай я тебе дам пять минут, погугли, проведи исследование темы, а потом мы об этом поговорим снова!» Для меня это очень хороший показатель того, насколько толковым является человек. Специалисты, которые умеют быстро находить и усваивать информацию, обычно хорошо справляются со всеми обязанностями. У кого-то, возможно, и есть нужные нам сейчас знания, но информацию он усваивает очень медленно и плохо. Такой человек вряд ли сможет у нас работать.
PG Day: Как вы управляете рисками? DBA — это опасная профессия, человеку доверяются “живые” данные клиентов, всегда существует вероятность потерять что-то безвозвратно.
Петр: Риск, безусловно, есть. И кажется, если сотрудник находится где-то в другом месте, всё гораздо более страшно. Хотя, на самом деле, можно работать с человеком близко, а потом он учудит то, чего ты не ожидал. Поэтому я не считаю, что в данном случае риски существенно выше. Со своей стороны мы стараемся делать проверку рекомендаций, делаем background check человека: нет ли у него какого-то криминального прошлого, не наврал ли он, что учился в университете таком-то. Мы много людей нанимаем по личным рекомендациям. Могу сказать, что за 10 лет работы были разные случаи. С кем-то нам повезло, с кем-то не очень. Ошибки, конечно, люди допускали, но чтобы кто-то навредил из злого умысла — такого не было.
PG Day: В заключение, дай, пожалуйста, небольшой анонс мастер-класса, который ты будешь читать на PG Day’17.
Петр: Это хороший обучающий мастер-класс, в рамках которого мы поговорим об оптимизации и архитектуре InnoDB. Это подсистема хранения, storage engine, которая используется, наверное, в 99% инстансов MySQL по всему миру. Я читаю этот курс за границей на наших конференциях Percona Live более пяти лет, и всегда успешно. Каждый год я обновляю материал: появляются новые версии MySQL, какие-то новые возможности. Обычно с посещаемостью всё отлично, и я получаю хороший фидбек от людей. Им не надоедает. Мастер-класс выстроен как лекция, на очень детальном уровне рассматривающая наиболее важные аспекты InnoDB: как работает эта подсистема хранения, как устроены данные на физическом уровне, как работают транзакции, что происходит при разных операциях чтения, записи и так далее. Я считаю, что после прохождения обучения слушатели получат ясное представление о том, что для InnoDB хорошо, что плохо, почему база “тормозит” в каких-то ситуациях и что нужно делать, чтобы этого избежать.
PG Day: Кому в первую очередь может быть интересно участие в мастер-классе?
Петр: Больше всего этот мастер-класс интересен DBA и системным администраторам, которые работают с MySQL. Им нужно знать, как задействовать максимум возможностей MySQL. У слушателей будет много шансов задать вопросы, обсудить какие-то свои прикладные проблемы в разрезе изучаемого материала.
PG Day: Спасибо, Петр!
Автор: