Hızla altyapı: Avrupa'da İnterkom inşa etmekten öğrenilen 5 ders

Yayınlanan: 2022-05-06

Aralık ayında, Intercom'un bugüne kadarki en büyük altyapı projelerinden birinin sonucu olan Avrupa veri barındırma hizmetini duyurduk. Intercom'u küresel olarak genişletmeye devam ederken, altyapıyı kurarken öğrendiğimiz dersler paha biçilemez - Nisan 2022'den itibaren Intercom'u Avustralya'da da ağırlıyoruz.

Şimdiye kadar Intercom, AWS'de tek bir bölgede barındırılan çok kiracılı bir uygulamaydı. Bununla birlikte, müşterilerimizle ve potansiyel müşterilerimizle Avrupa'daki veri barındırma hakkında uzun süredir konuşuyoruz - neyi teslim etmemiz gerektiğini ve çözmemiz gereken sorunu biliyorduk: Intercom, ancak Avrupa'da depolanan ve işlenen verilerle.

Bildiklerimiz – ve bilmediklerimiz

Bir çok “bilinen bilinen” ile yola çıktık ; çok bölgeli yazılım dağıtımları gibi çözmemiz gerektiğini bildiğimiz sorunlar. Bazı “ bilinen bilinmeyenler” de belirledik; Yeni bölgeyi faturalandırma sistemimize entegre etmek gibi çözmemiz gereken, ancak henüz nasıl olduğunu bilmediğimiz sorunlar. Keşfedilmeyi bekleyen pek çok “bilinmeyen bilinmeyen” olduğundan da emindik. Bu bilinmeyen bilinmeyenler, projenin ne kadar süreceğini veya projeye kaç kişi ayırmamız gerektiğini tahmin etmeyi zorlaştırdı. Kapsam, geçmişte üstlendiğimiz diğer projeler veya işlerle karşılaştırılamayacak kadar genişti ve başarıya giden yol belirsizdi.

Erken yaptığımız bir şey, daha önce bu tür bir projeyi üstlenen benzer şirketlerdeki ekiplerle konuşmaktı. Çoğu durumda, bu projeler, mühendislik ekiplerinin çoğunluğunun tamamlanması altı aydan uzun sürmüş ve bu şirketlerin şimdiye kadar üstlendiği en büyük projeler olduğu ortaya çıkmıştı.

"Bir pandeminin ortasında Ar-Ge ekiplerimizi yavaşlatmak konusunda isteksizdik - bu nedenle proje planımızı Intercom'da çalışmayı sevdiğimiz yolu yansıtacak şekilde oluşturduk"

Bazı şirketler bu süreçte mimarilerini yeniden hayal edecek kadar ileri gitti. Bu ölçekte değişiklikler yapmak ve Ar-Ge ekiplerimizi yavaşlatmak konusunda isteksizdik (bir pandeminin ortasında!), bu nedenle proje planımızı Intercom'da çalışmayı sevdiğimiz şekilde yansıtacak şekilde oluşturduk.

Bu, projenin ölçeğine rağmen hızlı hareket etmek anlamına geliyordu. Uzun vadede optimize ederken hızlı hareket etmek ve "hızlı gönder, erken gönder, sık gönder" ilkemizi kullanmanın yanı sıra, ürünü sadece yerden kaldırmamıza değil, nihayetinde müşterilerimize planladığımızdan daha erken teslim etmemize yardımcı oldu. için.

Ders 1: Hemen inşa etmeye başlayın – hızlı

Hızlı hareket etmeye olan bağlılığımız bizi ilk dersimize ve bu projenin başlangıcını gerçekten ortaya çıkaran karara getirdi. Yakın tarihli bir Intercom on Product podcast'inde , kurucu ortağımız Des, o eski Jedi çan eğrisi memesinden ve bunun yeni başlayanların hızına nasıl sıklıkla uygulandığından bahsetti. Çoğu startup, mümkün olduğu kadar hızlı hareket etmeleri gerektiğini en sonunda fark edene kadar “daha ​​fazla süreç kurma” aşamasından geçer. Hız ve koşuşturma , bu “bilinmeyen bilinmeyenleri” bulmamıza ve karşılaştığımız çözümlere ulaşmamıza yardımcı olacaktı.

Ve böylece eski CTO'muz ve kurucu ortağımız Ciaran Lee yeni başlayacağımıza karar verdi. Projeye adanmış küçük bir geçici ekiple inşa etmeye başlayacak ve gerçekten çok hızlı bir şekilde gidecektik - başarısız olmanın tamamen iyi olduğu rehberliği ile.

“Başarısızlığa izin verilmesi projeye yaklaşımımızı değiştirdi”

Yaklaşımımız işe yaramasaydı, gelecekte işe yarayabilecek bir şey için plan yapmamızı sağlayacak değerli bilgiler edinirdik. En iyi senaryoda, müşterilerimizin eline nasıl geçireceğimizi bulmaya başlayabilmemiz için yeterince iyi çalışan hızlı bir şey inşa ederdik. Başarısızlığa izin verilmesi, projeye yaklaşımımızı değiştirdi ve ilerlemeye başlamamızı sağladı. Sorunları önceden tahmin etmeye çalışmak ve en başından başarıyı garanti etmek için ileriye bakmak yerine, bir sorunla karşılaşana kadar inşa etmeye başladık ve sonra bir çözüm bulduk.

Daha sonra tam bir uygulama için daha sonra yapı taşları olarak kullanılabilecek prototipler inşa etmediğimizi de not etmek önemlidir – gerçek olanı inşa ediyorduk, ilerlerken bir şeyleri çözüyorduk. Sonuç olarak sürdürdüğümüz ivme, projenin başarısı için kritik öneme sahip oldu.

2. Ders: İlkelerinize bağlı kalın

İnşaata başladığımızda mühendislik ilkelerimiz hızlı ilerlememize yardımcı oldu. Mimarimizi yeniden icat etmek de dahil olmak üzere Avrupa'da Intercom'u inşa etmenin birçok yolu vardı, ancak “ Teknik olarak muhafazakar olun ” ilkemize uygun olarak, mevcut üretim ortamını oluşturmak için kullandığımız yaklaşımın aynısını seçtik.

“Sadece kopyalayıp yapıştırmadık, küçülttük ve sadeleştirdik”

Avrupa yapımıza neredeyse hiçbir yeni yazılım, hizmet veya yaklaşım getirmedik. Aynı zamanda, ABD altyapımızın unsurlarını alarak ve bunları yeni ortamımızda birlikte çalışması çok daha kolay bir şekilde yeniden kullanarak mimarimizi büyük ölçüde basitleştirdik. Sadece kopyalayıp yapıştırmadık, bunun yerine “ Basit tutun ” ilkemize uygun olarak küçülttük ve basitleştirdik .

Ders #3: Gerektiğinde kuralları esnetin

Bu projeye personel almak ve başlatmak için planlama süreçlerimiz ve ekip yapılarımız etrafında çok fazla esnekliğe izin vermemiz gerekiyordu, “kuralları” esnetirken, herkesin ne yaptığımız hakkında bilgi sahibi olmasını sağladık. Proje üzerinde çalışmaya başlamak için mevcut ekiplerden deneyimli mühendislerden oluşan geçici bir proje ekibi kurduk.

Elbette bu kararın sonuçları vardı: takımlar daha düşük kapasitedeydi; proje üyeleri, birden fazla günlük stand-up'ı desteklemek zorunda kaldı; ve diğer projelerin önceliklerinin kaldırılması gerekiyordu. Bu, tüm projeler için asla varsayılan yaklaşımımız olamaz, ancak neyi başarmamız gerektiğini bildiğimizde ve hemen başlamak istediğimizde, süreçlerimizi ilerleme lehine saygılı bir şekilde gözden geçirmek mantıklıydı.

Ders #4: Çalışmayı mümkün olduğunca yerel tutun

Bu, projenin hızlı ilerlemesini sağlamak için verdiğimiz en önemli karar olabilir. Projenin bir parçası olarak Intercom'un tüm bölümlerine dokunmamıza rağmen, işleri birden fazla ekip arasında birleştirmemeye karar verdik ve bunun yerine mümkün olduğunca çok çalışmayı geçici proje ekibimize yerel olarak sürdürdük. Bu, daha geniş planlama süreçlerinden kaçınmanın yanı sıra, Ar-Ge ekiplerimizden özelliklerimizin Avrupa'ya dağıtımını kolaylaştırmalarını istemek zorunda olmadığımız anlamına geliyordu. Varsayılan bir yaklaşım olarak sadece işi kendimiz yaparak sayısız toplantı, belge ve Slack mesajından kaçındık.

“Sorunun sahipliğini üstlendik ve kendimize bu konuda ilerleme sağlamak için yetki verdik”

Sorunun sahipliğini üstlendik ve kendimize, Avrupa Projesi üzerinde çalışmayan ekiplerin kesintilerini en aza indirerek Intercom'un toplam maliyetini en aza indirerek ilerleme kaydetme yetkisi verdik. Birkaç kez uzman kişilerden yardım istemek zorunda kaldık ve bazı ekipler için birkaç sürprize neden olduk - ancak genel olarak bu çok başarılı bir yaklaşımdı.

5. Ders: Zaman çizelgelerini esnek tutun

Altyapıyı kurduktan ve Intercom Europe'un çalışır durumda olduğundan emin olduktan sonra, projenin farklı bir aşamasına geçtik ve müşteriye yönelik lansmanı koordine etmek için Intercom genelinde birden fazla ekiple birlikte çalıştık.

Lansman engelleyicilerimiz, büyük ölçüde kendi iç süreçlerimiz ve lansman için kritik olarak görmediğimiz, müşteriye yönelik çeşitli entegrasyonlardı. Bu yüzden kendimize sorduk, WhatsApp özelliği gibi şeyler olmadan başlatabilir ve ilerledikçe bu boşlukları doldurabilir miyiz? Bizi gerçekten geride tutan neydi?

“Zaman çizelgesine bakarak ve geriye kalanları değerlendirerek, fırlatmayı Aralık ayına çekebileceğimizi düşündük”

Proje planımızın Ocak ayında lansmanı vardı, ancak zaman çizelgesine bakarak ve geriye kalanları değerlendirerek, Aralık ayına çekebileceğimizi düşündük. Müşteri desteği, satış, analitik, pazarlama, hukuk, Ar-Ge ve diğerlerinden biraz yardıma ihtiyacımız vardı, ancak herkes hızlı hareket etmek için bir araya geldi.

Satış ekibimizin platformu kullanan müşterilerle anlaşmaları kapattığını ve Intercom için gerçek gelir getirdiğini gösteren bir Slack kanalımız var. Bu son aşamalarda evlat edinme mücadelesinin getirisi bu kanalda netleşir – bu noktaya gelmek için yaptığımız tüm çalışmaların değerini birleştirir. Mevcut zaman çizelgemizi takip etmek çok daha kolay olurdu, ancak kendimizi zorlayarak, planladığımızdan bir ay önce müşterilerimizin eline geçirmeyi başardık.

Öğrendiklerimiz daha hızlı ilerlememize yardımcı olacak

Bu üzerinde çalışmak çok heyecan verici bir proje oldu – yaptığımız işten ve projenin Intercom'daki ekipler üzerindeki etkisini en aza indirmiş olmaktan gurur duyuyorum. Halen devam eden çok sayıda çalışma var, ancak Avustralya barındırma hizmetimizi oluştururken ve diğer yetki alanlarında altyapıyı geliştirmeye devam ederken deneyimden aldığımız dersler çok değerliydi.

Intercom ile Avrupa veri barındırma hakkında daha fazla bilgi edinin