newsmode
search
Меню
arrow_back Назад

Vercel’s Path to Product-Market Fit — From Open-Source Project to Billion-Dollar Business

auto_awesomeКраткое саммари

Гильермо Раух, основатель Vercel, вырос в пригороде Буэнос-Айреса и с детства учился программированию через open-source сообщество, что в итоге привело его в Сан-Франциско и Facebook. После работы во WordPress (купившей его первый стартап Cloudup) он в 2015 году основал ZEIT (позже Vercel), решив сделать развёртывание во фронтенд-облаке мгновенным. В 2016 году он выпустил open-source фреймворк Next.js, которым сегодня пользуются более 850 000 разработчиков (ChatGPT, TikTok, Notion), а Vercel недавно был оценён в $2,5 млрд при общем финансировании $313 млн. Раух выстроил необычную модель монетизации: Next.js остаётся полностью бесплатным, а Vercel зарабатывает на инфраструктуре, заменяющей целые команды platform engineering. Ключевыми сигналами product-market fit для него стали крупные конкуренты (Redfin, Trulia), пытавшиеся построить то же самое. Его уроки: упрощать предложение, ценить velocity выше speed, делать ставку на интеграции и использовать понятный, а не категориальный язык на старте.

Выросший в пригороде Буэнос-Айреса в 90-х, Guillermo Rauch знал немного людей с компьютерами. Поэтому в семь лет, когда он запустил Windows 95 на ПК, который отец принёс домой, Раух был заворожён этой новой технологией.

«Папа бросил нам с братом вызов — исследовать, что мы можем с ним делать, — вспоминает он. — Сможем ли мы установить софт? Сможем ли его взломать? У него был очень экспериментальный взгляд на всё это».

Приняв вызов, Раух начал учиться программировать самостоятельно. Это были ранние дни интернета, поэтому информации в сети было немного, и обычно она была не на испанском. Но это его не остановило — Раух также самостоятельно выучил английский. Его первой целью было заменить Windows на Linux — сложная задача, которая привела его к восторженной группе незнакомцев в интернете, бесплатно делившихся своими знаниями в программировании: к open-source сообществу.

В ранней юности у Рауха был ненасытный аппетит — он узнавал всё, что мог, о Linux, JavaScript и веб-разработке, и заработал себе репутацию open-source контрибьютора и фронтенд-разработчика.

«Я создавал такие демо, которые попадали на главную Digg и Reddit. Я становился пятиминутной интернет-знаменитостью каждый раз, когда делал по-настоящему крутое демо с использованием этих фронтенд-технологий, — говорит он. — То, что меня больше всего увлекало — делать UI быстрее, динамичнее, в реальном времени, — тоже начинало приобретать большую известность».

Всего в 16 лет Раух стал основным разработчиком open-source проекта MooTools, а позже к нему обратился Facebook с предложением нанять юного феномена. Тогда он понял, что это хобби может стать карьерой. Он бросил школу и в итоге переехал в Сан-Франциско, чтобы начать свою первую полноценную работу инженером-программистом — всего в 18 лет. «Open source в конечном счёте стал моим путём из Аргентины», — говорит Раух.

Тогда он этого не знал, но open source также стал его путём к миллиардному бизнесу. Его компания Vercel — фронтенд-облачный сервис, стоящий за open-source фреймворком Next.js, — недавно была оценена в $2,5 млрд. Если вы когда-либо заходили на сайты eBay, Zapier или The Washington Post, вы видели Vercel в действии. Что касается Next.js, более 850 000 разработчиков используют его для создания сайтов с миллиардами пользователей по всему миру — таких как ChatGPT, TikTok и Notion.

Достижение product-market fit в любой форме — повод для празднования, но Рауху удалось достичь его высшей степени, того, что мы в First Round называем «экстремальным product-market fit». Это значит, что его продукт заслужил глубокую и широко распространённую любовь и спрос клиентов и поставляется через масштабируемую, прибыльную go-to-market модель.

В этом эксклюзивном интервью мы подробно разбираем подход Рауха к созданию таких любимых инструментов для разработчиков, его свежий взгляд на монетизацию open-source проекта, ранние сигналы PMF, которые он заметил, и что бы он сделал иначе, если бы мог начать всё заново.

РАННЕЕ ВДОХНОВЕНИЕ ДЛЯ VERCEL

Когда Раух собрал чемоданы и переехал из Буэнос-Айреса в Сан-Франциско в 2006 году, это был переломный год для облачных вычислений. Amazon Web Services только что запустила свой первый продукт для масс, и Раух был среди его первых пользователей. С AWS разработчики по всему миру теперь были освобождены от необходимости управлять собственными серверами и аппаратными ресурсами и могли создавать и развёртывать веб-приложения быстрее и проще, чем когда-либо прежде, — или, по крайней мере, так это обещали.

«Компьютеры теперь были в облаке. Это было волшебство, — вспоминает Раух. — Железо стало софтом. Это так абстрактно, идея, что где-то роботы перемещают железо в стойках, а я этого просто не вижу. То есть в теории у нас была эта основа волшебства. Но потом, когда ты действительно начинал им пользоваться, делать что-либо в облаке было чертовски сложно».

Даже как технический волшебник Раух был расстроен недостатками облака, но он отложил эту маленькую идею на несколько лет, пока работал фронтенд-инженером. Его погружение в предпринимательство и фундамент того, что позже стало Vercel, официально началось в 2010 году с его первого стартапа Cloudup.

«Cloudup был ранним вдохновением для Vercel во многих отношениях, — говорит он, — потому что одной из убийственных фич было приложение, которое сидело у тебя на панели меню, и ты мог перетащить любой файл или даже папку с файлами, и оно мгновенно давало тебе гиперссылку. Это был самый простой способ поделиться чем угодно в интернете и сотрудничать с другими. И ты мог реально перетащить папку с файлами, и если эти файлы были HTML, то получал высокопроизводительный статический хостинг».

Пока Cloudup был ещё в закрытой бете, Раух показал его основателю WordPress, с которым познакомился благодаря своему участию в open-source сообществе.

«Когда я показал ему Cloudup, он подумал, что это имеет огромный смысл в контексте WordPress, потому что они тогда очень активно инвестировали в модернизацию фронтенд-слоя. Они были очень заинтересованы в технологиях реального времени для совместной работы, чтобы можно было зайти в WordPress и редактировать посты, что позже стало основой их блочного редактора в WordPress 5.0».

Материнская компания WordPress, Automattic, на самом деле купила компанию Рауха ещё до того, как Cloudup был выпущен публично.

Guillermo Rauch, Founder & CEO of Vercel

Знакомая проблема снова поднимает свою уродливую голову

После того, как сделка была закрыта, Раух начал работать в WordPress. Но в новой роли Раух снова столкнулся с той же тернистой проблемой: почему облако такое сложное для разработчиков?

«В WordPress они вложили миллионы и миллионы долларов в то, чтобы стать мастерами хостинга одного приложения: Wordpress.com. Но добавление любого нового приложения, продукта или фичи было крайне утомительным», — говорит Раух. Когда всё находится в одной кодовой базе («монолите»), база данных и код настолько тесно связаны, что это ограничивает возможности разработчиков.

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

«Это была не только проблема WordPress — в то время вся индустрия была преимущественно в монолитных архитектурах, — говорит Раух. — Но мир медленно начинал двигаться в сторону микросервисов и композируемости, разбивая эти монолитные способы построения. И обещание этого было в том, что разработчики получат много гибкости. Это то, что обещало мне облако — что я смогу двигаться очень быстро».

Шестерёнки в голове Рауха крутились. В ноябре 2014 года он изложил свои семь принципов улучшенного пользовательского опыта для веб-приложений в блог-посте, который позже стал чертежом для Next.js и Vercel.

«На тот момент у меня ещё не было фреймворка. У меня не было технологии, чтобы превратить эти принципы в действие, но тот блог-пост стал чем-то вроде генерального плана того, что позже стало Next.js, — объясняет он. — Я провёл реверс-инжиниринг того, как построены Google Search, Facebook и Amazon, и понял, что какой бы фреймворк я ни строил в будущем, он не должен иметь компромиссов. Он должен уметь построить что угодно — от маленького сайта до того, что масштабируется. Я хотел, чтобы его можно было дать в руки тому, кто строит следующий Amazon.com или следующий Google.com. Установка такой высокой планки дала мне направление для строительства».

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

В ноябре 2015 года Раух ушёл из WordPress, чтобы построить своё решение, которое он назвал ZEIT (позже название станет Vercel). Как только он взялся за задачу построить сайт для своей новой компании, он столкнулся с трением, которое ещё больше укрепило его веру в то, что облако нуждается в серьёзном пересмотре. Конечно, были SaaS-решения для запуска простых сайтов (вроде Squarespace), но Раух хотел построить production-уровень стека со сложностью AWS и маркетинговым сайтом на уровне любого топового корпоративного маркетингового сайта.

«Только эти первые три-четыре недели попыток поднять сайт подтвердили все мои предыдущие гипотезы: «Боже, как мы сделали облако таким сложным в использовании? Как мы сделали простое действие — выложить новую идею, новый сайт — таким трудным?» — вспоминает он.

Если Раух, разработчик-одиночка, изо всех сил пытался построить высокодинамичный сайт для своей компании из одного человека, представьте следующие 100 000 бизнесов, которые будут бороться со своей цифровой трансформацией, потому что технология, на которой они строят, отстаёт. Его решением, таким образом, будет платформа развёртывания специально для фронтенда (его специализация и часть, которую пользователи действительно видят), которая сделает для разработчиков проще, быстрее и надёжнее вывод их проектов в мир.

СОЗДАНИЕ ПРОТОТИПА

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

«Создать такую инфраструктуру за три месяца очень, очень сложно, но я хотел установить себе дедлайн, чтобы начать получать обратную связь. В процессе строительства мы поняли, что платформе развёртывания нужно динамическое веб-приложение для таких вещей, как оркестрация и просмотр логов. Для такой платформы требовалось многое».

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

«Я описываю это так: React был отличным двигателем, но мне нужна была машина, чтобы добраться из точки А в точку Б. Поэтому я начал работать над этим фреймворком, Next.js, который тогда был внутренним. Мы начали обкатывать этот инструмент, тогда мы называли его N4, и каждый день мы говорили: «Хм, это работает действительно хорошо, мы движемся очень быстро, он даёт нам те результаты, которые мы хотели»».

Шесть месяцев спустя N4 был слишком хорош, чтобы держать его при себе. Раух выпустил его как open-source проект под названием Next.js в октябре 2016 года. Он стал мгновенным хитом среди разработчиков.

«Для посторонних это казалось мгновенным успехом, потому что Next.js получил много внимания и адопшна буквально с первого дня. Но они не видели всей разработки, которая шла до этого. Они не видели всех этих внутренних битв и стресс-тестов. Я думал о принципах, которым будет соответствовать фреймворк, ещё за два года до этого, а то и больше. Так что история о мгновенном успехе — это немного миф».

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

МОНЕТИЗАЦИЯ OPEN-SOURCE ПРОЕКТА

Можно назвать это счастливой случайностью: Раух изначально намеревался построить платформу, помогающую инженерам развёртывать их проекты, но по пути построил React-фреймворк, который стал мгновенной open-source сенсацией.

Но кодирование успешного open-source проекта и построение успешного бизнеса часто противоречат друг другу в одном ключевом аспекте: деньги. Большинство open-source софта доступно бесплатно и никогда не стремится приносить прибыль. У тех немногих, кто стремится, есть ограниченные варианты.

«Когда вы пытаетесь перейти от open source к бизнесу, там не очень много креативности. Вы либо идёте в open core, где вы по сути ограничиваете бесплатные фичи, либо используете какую-то лицензию, которая позволяет вам отдавать фичи, но ограничивает то, как они используются и развёртываются».

Выросший в open-source сообществе, Раух был этим раздражён, и он не хотел ограничивать своих клиентов Next.js. Поэтому он выбрал свежий подход.

Нужно выровнять создание ценности open source с созданием ценности бизнеса, который поддерживает этот open source проект.

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

Вот как это работает: на сегодняшний день любой может бесплатно использовать весь фреймворк Next.js. Если они хотят, чтобы их проекты хостились на платформе, специально построенной для Next.js, которая улучшает то, что они строят, они платят Vercel за этот апгрейд. И поскольку Next.js остаётся open source, если клиент когда-нибудь решит снять свою нагрузку с Vercel и захостить самостоятельно, он может это сделать. Они не привязаны к одному вендору.

«Так что это очень простое уравнение на стороне инфраструктуры для компании: «Поднять ли мне команду из 20 инженеров-программистов? Или передать это Vercel, чтобы они позаботились об этом?» Один клиент в Японии недавно показал мне презентацию о том, сколько инженерных ресурсов они смогли перенаправить из platform engineering в продуктовый инжиниринг и data science, потому что Vercel освободил инфраструктурные ресурсы их компании, чтобы они могли вместо этого создавать ценность для клиента и инсайты», — говорит Раух.

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

Он указывает на пример MongoDB — open-source проекта, превратившегося в бизнес, который генерирует $1,5 млрд годовой выручки. Он зарабатывает, беря плату за хостинг полностью управляемой базы данных MongoDB Atlas, а также за поддержку и консалтинговые услуги.

«Если я использую MongoDB, я первый скажу своей команде: «Давайте отдадим Mongo экспертам по хостингу Mongo. Давайте отдадим её ребятам, которые закаляли эту систему в масштабе». Но мне даёт уверенность знание, что я ставлю на открытую платформу, поэтому если я решу не делать этого, у меня есть свобода забрать нагрузку с собой. Именно поэтому open source, на мой взгляд, лучший вариант. Потому что если есть компания, поддерживающая его, я могу автоматизировать кучу своей работы. И если по какой-то причине мне нужно сделать это on premise, у меня тоже есть такая возможность».

Если бы я делал это снова, я бы делал то же самое: использовал бы open source. И я бы продолжал инвестировать в то, чтобы продукт был максимально бесплатным и доступным.

Рауху удалось создать блестящую синергию между своими продуктами: широкая популярность Next.js, который остаётся open source, настроила Vercel на то, чтобы стать выручкогенерирующим дополнительным продуктом, потому что пользователи Next.js естественным образом тяготеют к платформе, построенной для этого фреймворка. А в свою очередь, выручка Vercel финансирует поддержку Next.js. Это win-win для софта и его клиентов.

СИГНАЛЫ «ЭКСТРЕМАЛЬНОГО PRODUCT-MARKET FIT»

Определение точного момента, когда вы нашли product-market fit, может быть сложным для любого основателя. Для Рауха это было особенно так из-за его существующей популярности в open-source мире.

«К моменту, когда я выпустил Next.js, у меня уже было довольно много фолловеров в сообществе разработчиков благодаря моей работе над MooTools, Socket.IO и Mongoose, поэтому я мог легко заставить людей хотя бы посмотреть на то, что я собираюсь выпустить».

Поэтому того факта, что другие разработчики жаждали заполучить его новейший софт, было недостаточно, чтобы Раух поверил, что он нащупал product-market fit. Кричали ли люди о Next.js из-за решения или из-за его собственного статуса? Вместо этого самым сильным индикатором того, что он построил продукт, решающий реальную проблему, было то, что у него появились конкуренты. Крупные.

«Сразу после того, как мы выпустили Next.js, кто-то из Redfin связался со мной, сказав, что они строят то же самое. А неделю спустя кто-то из Trulia связался со мной, сказав, что они строят то же самое. Это были не просто ребята, делающие маленькие эксперименты. У меня были все эти люди, управляющие бизнесами в масштабе, которые говорили мне, что они либо строят версию этого, либо собираются собрать команду, чтобы начать строить версию этого, либо просили меня поделиться идеями и лучшими практиками».

Один сигнал product-market fit, на который я рекомендую обратить внимание: когда что-то действительно нужно, вы обнаружите, что в других организациях есть множество очень умных людей, пытающихся построить версию этого.

И несмотря на всю любовь клиентов к тому, что построил Раух, это не значит, что у него не было критиков.

«Не все в сообществе разработчиков были в восторге от Next.js, и тогда были конкурентные альтернативы с совершенно другой философией, — говорит Раух. — Так что нельзя сказать, что мы выиграли сразу. Нам пришлось маневрировать на этом рынке и в конкуренции довольно много лет».

Один аспект Next.js, который вызвал раздражение? Он использует серверный рендеринг, идя против течения более популярного клиентского рендеринга. Но благодаря своему тщательному маркетинговому исследованию Раух был уверен, что сделал правильный выбор.

«Годами раньше, когда я провёл реверс-инжиниринг Amazon, Google и Facebook, было: «Подождите, эти ребята не делают это таким образом. Должна быть веская причина для производительности, масштаба, приватности и многого другого». Поэтому было интересно, что в течение пары лет у нас были эти почти конкурирующие сигналы: некоторым отдельным разработчикам это не нравилось, но крупные организации были очень рады».

4 УРОКА О ПОСТРОЕНИИ СОФТА, ОТ КОТОРОГО КЛИЕНТЫ В ВОСТОРГЕ

От покупки Cloudup компанией Automattic до впечатляющего списка клиентов Vercel, включающего Adobe, Loom и Meta, Раух явно нашёл формулу построения софта, решающего реальные проблемы. Он распаковывает самые проникновенные уроки, которые он извлёк из своего десятилетнего пути в предпринимательстве.

Вместо того чтобы строить больше, станьте исключительно хороши в меньшем.

Первый стартап Рауха, Cloudup, на самом деле начинался как продукт для определённой отраслевой вертикали: как edtech-платформа с широким разнообразием продуктов. Но когда Раух заметил, что учителя используют одну конкретную функцию — обмен файлами — для рассылки планов уроков, он решил свести продуктовое предложение к этой самой любимой функции и развернуть edtech-стартап в то, что стало Cloudup. Раух считает, что именно этот шаг помог ему достичь успешного экзита. Позже он применил тот же ключевой урок при построении Vercel.

«Одним из катализаторов нахождения совместного product-market fit для Next.js и Vercel было упрощение нашего предложения. В начале самый первый прототип платформы развёртывания был ориентирован на развёртывание абсолютно всего. А потом мы поняли — мы делаем лучше фронтенд-часть сайта. Мы давали людям лучший React-опыт. Так зачем мы пытались сделать всех счастливыми? Почему бы нам не упростить предложение? После этого мы решили строить frontend cloud, тогда как в начале мы пытались строить cloud».

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

Velocity важнее, чем speed.

«Move fast and break things» стало представлять этос культуры стартапов Кремниевой долины, но Раух предостерегает от погони за скоростью ради скорости.

Фокусируйтесь на velocity итераций, а не на speed. Velocity — это speed с направлением: вы знаете, куда направляетесь. Или даже если не знаете, куда направляетесь, вы ищете направление. Это не значит, что вы просто пишете код по 20 часов в день и штампуете фичи направо и налево.

Раух, по его собственному признанию, одержим скоростью, поэтому это был особенно важный инструмент в его арсенале.

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

Не недооценивайте силу интеграций.

«На раннем этапе я недооценил, сколько ценности можно накопить, имея исключительно хорошие интеграции, — говорит Раух. «Это ловушка, в которую могут попасть основатели: вместо того чтобы интегрироваться, они пытаются вскипятить весь океан».

«Гораздо лучше сказать: «Мы не решаем этот набор проблем, но мы интегрируемся с решениями, которые вы уже купили». Ваша сила может быть в том, что вы не строите, а вместо этого в том, с чем вы интегрируетесь. И это особенно верно, если вы хотите провести реверс-инжиниринг product-market fit Vercel», — говорит Раух.

«Это было ключевым ключом к нашему росту. Вместо того чтобы говорить: «Кстати, у нас тоже есть Git-хостинг. Пожалуйста, используйте наш», — мы можем сказать: «У Vercel есть Git-интеграции, чтобы вы могли разворачивать ваши GitHub или GitLab проекты с нами»».

Когда ваш продукт новый, делайте сообщения понятными — а не категориеобразующими.

Сегодня Vercel известен как категориеобразующий frontend cloud. Но это не было фреймингом продукта на раннем этапе, и Раух предостерегает основателей от попыток запускаться с совершенно новым месседжингом при выходе на рынок.

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

«Сегодня, я думаю, Vercel заслужил право пытаться определить категорию и занять эту возвышенную позицию как «frontend cloud», но на раннем этапе нам приходилось быть очень конкретными и скромными в нашем языке. Команда и я смеялись, потому что мы недавно посмотрели на ранние версии сайта Vercel, и нам немного стыдно, потому что мы слишком упростили слоган продукта на главном изображении. Я точно не помню, что это было, но представьте, скажем, «Faster websites, made easier». Это была очень упрощённая вещь, но она была понятной для того места, где мы находились, поэтому в то время это работало».

ПУТЬ ВПЕРЁД

Сегодня Vercel — стартап серии D с общим финансированием $313 млн. По мере роста компании она расширилась до предложений, попадающих в две продуктовые категории: managed infrastructure и developer experience (DX) платформа. А в 2023 году Vercel сделала большую ставку на искусственный интеллект с выпуском v0.

«С v0 мы пионерим эту концепцию, которую называем «generative UI». Вы вводите текстовый промпт на простом английском, и мы даём вам реальный React и Tailwind код, который делает именно то, что вы описали. AI — это следующий рубеж в том, как мы будем улучшать developer experience, делать разработчиков более продуктивными и помогать компаниям итерировать быстрее».

Для начинающих предпринимателей Раух видит огромную возможность использовать AI и движение в сторону фронтенд-сервисов, чтобы откусить кусок рынка. И как мы освещали раз за разом в этой серии, product-market fit — это движущаяся мишень, и Раух стремится взять свои уроки PMF, чтобы построить и масштабировать эту новую итерацию.

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

«Очевидно, как платформа, мы пристрастны, потому что видим столько энтузиазма в построении AI-продуктов. Но даже как предприниматель, я очень радуюсь всем этим новым продуктам, которые будут выведены на рынок благодаря AI, если вы готовы выйти за рамки того, как продукты строились в прошлом».