Инфраструктура на скорости: 5 уроков, извлеченных из строительства Intercom в Европе

Опубликовано: 2022-05-06

В декабре мы объявили о размещении данных в Европе в результате одного из крупнейших инфраструктурных проектов Intercom. Уроки, которые мы извлекли при создании инфраструктуры, бесценны, поскольку мы продолжаем расширять Intercom по всему миру — с апреля 2022 года мы также размещаем Intercom в Австралии.

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

Что мы знали и чего не знали

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

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

«Мы не хотели замедлять работу наших научно-исследовательских групп в разгар пандемии, поэтому мы построили план проекта так, чтобы он отражал то, как нам нравится работать в Intercom».

Некоторые компании зашли так далеко, что в процессе переосмыслили свою архитектуру. Мы не хотели вносить изменения такого масштаба и замедлять работу наших R&D-команд (в разгар пандемии!), поэтому мы построили план проекта так, чтобы он отражал то, как нам нравится работать в Intercom.

Это означало действовать быстро, несмотря на масштаб проекта. Быстрое продвижение с оптимизацией в долгосрочной перспективе , а также использование нашего принципа «отправлять быстро, отгружать раньше, отгружать часто» помогли нам не только запустить продукт, но и в конечном итоге доставить его нашим клиентам раньше, чем мы планировали. за.

Урок № 1: Просто начните строить — быстро

Наше стремление двигаться быстро привело нас к первому уроку и решению , которое действительно положило начало этому проекту. В недавнем подкасте Intercom on Product наш соучредитель Дес рассказал о том старом меме о кривой колокола джедая и о том, как он часто применяется к скорости стартапов. Большинство стартапов проходят стадию «установить больше процессов», пока, наконец, не осознают, что им просто нужно двигаться как можно быстрее. Использование скорости и суеты должно было помочь нам выяснить эти «неизвестные неизвестные» и найти решения по мере их появления.

И поэтому наш бывший технический директор и соучредитель Киаран Ли решил, что мы только собираемся начать. Мы собирались начать строить и работать очень, очень быстро, с небольшой специальной командой, посвященной проекту, и с руководством, что это совершенно нормально, чтобы потерпеть неудачу.

«Допущение неудачи изменило наш подход к проекту»

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

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

Урок № 2: Придерживайтесь своих принципов

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

«Мы не просто копировали и вставляли, а уменьшали и упрощали»

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

Урок № 3: Обходите правила, когда вам нужно

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

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

Урок № 4. Держите работу как можно более локальной

Возможно, это было самым важным решением, которое мы приняли, чтобы проект двигался быстро. Несмотря на то, что мы коснулись всех частей Intercom в рамках проекта, мы решили не распределять работу между несколькими командами, а вместо этого оставили как можно больше работы локально для нашей специальной проектной группы. Помимо того, что мы избегали более широких процессов планирования, это означало, что нам не нужно было просить наши отделы исследований и разработок облегчить развертывание наших функций в Европе. Мы избегали бесчисленных совещаний, документов и сообщений Slack, просто выполняя работу самостоятельно в качестве подхода по умолчанию.

«Мы взяли на себя ответственность за проблему и предоставили себе возможность добиться прогресса в ее решении»

Мы взяли на себя ответственность за проблему и позволили себе добиться прогресса в ее решении, минимизировав общие затраты для Intercom за счет минимизации сбоев в работе групп, не работающих над Project Europe. Несколько раз нам приходилось обращаться за помощью к опытным людям, и мы преподнесли несколько сюрпризов некоторым командам, но в целом это был чрезвычайно успешный подход.

Урок № 5. Держите временные рамки гибкими

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

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

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

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

У нас есть канал Slack, показывающий, когда наша команда по продажам заключает сделки с клиентами, использующими платформу, что приносит Intercom реальный доход. Отдача от борьбы за усыновление на этих последних этапах становится очевидной в этом канале — она объединяет ценность всей работы, которую мы проделали, чтобы зайти так далеко. Было бы намного проще следовать нашему существующему графику, но, подтолкнув себя, нам удалось передать его клиентам на месяц раньше, чем планировалось.

Наши знания помогут нам двигаться быстрее

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

Узнайте больше о европейском хостинге данных с Intercom