快速基礎設施:在歐洲建立對講系統的 5 個經驗教訓
已發表: 2022-05-0612 月,我們宣布了歐洲數據託管,這是 Intercom 有史以來最大的基礎設施項目之一。 隨著我們繼續在全球範圍內擴展對講機,我們在構建基礎設施時學到的經驗非常寶貴——截至 2022 年 4 月,我們還在澳大利亞託管對講機。
到目前為止,Intercom 一直是託管在 AWS 的單個區域中的多租戶應用程序。 然而,長期以來,我們一直在與我們的客戶和潛在客戶討論歐洲數據託管問題——我們知道我們必須交付什麼以及我們必須解決的問題:對講機,但數據存儲和處理在歐洲。
我們知道什麼——我們不知道什麼
我們從很多“已知的知識”開始; 我們知道必須解決的問題,例如多區域軟件部署。 我們也發現了一些“已知的未知數” ; 我們需要解決但還不知道如何解決的問題——比如將新區域整合到我們的計費系統中。 我們也確信有很多“未知的未知數”等待被發現。 這些未知的未知因素使我們很難估計該項目需要多長時間,或者我們需要多少人投入其中。 範圍太廣,無法與我們過去承擔的其他項目或工作相比,成功之路也不清楚。
我們早期做的一件事是與之前從事過此類項目的類似公司的團隊交談。 在許多情況下,這些項目被證明是這些公司有史以來最大的一些項目,他們的大部分工程團隊花費了六個多月的時間才完成。
“在大流行期間,我們不願放慢研發團隊的速度——因此我們制定了項目計劃,以反映我們喜歡在 Intercom 工作的方式”
一些公司甚至在此過程中重新構想了他們的架構。 我們不願意做出如此規模的改變並放慢我們的研發團隊的速度(在大流行期間!),所以我們制定了項目計劃來反映我們喜歡在 Intercom 工作的方式。
這意味著儘管項目規模龐大,但要快速行動。 在長期優化的同時快速行動,以及採用我們的“快速發貨、早發貨、經常發貨”的原則,幫助我們不僅讓產品落地,而且最終比我們計劃的更快地交付給我們的客戶為了。
第 1 課:開始構建 - 快速
我們對快速行動的奉獻使我們上了第一課,這個決定真正開啟了這個項目的開始。 在最近的Intercom on Product 播客中,我們的聯合創始人 Des 談到了那個古老的絕地鐘形曲線模因,以及它通常如何應用於初創公司的速度。 大多數初創公司都會經歷“安裝更多流程”階段,直到他們最終意識到他們只需要盡快行動。 運用速度和忙碌將幫助我們找出那些“未知的未知數”,並在遇到它們時找到解決方案。
所以我們的前 CTO 和聯合創始人 Ciaran Lee 決定我們才剛剛開始。 我們將開始建設,並且非常非常快地進行,有一個專門負責該項目的小型臨時團隊——在指導下,失敗是完全可以的。
“被允許失敗改變了我們對項目的態度”
如果我們的方法不起作用,我們將獲得寶貴的經驗教訓,使我們能夠為將來可能起作用的事情做計劃。 在最好的情況下,我們會快速構建一些運行良好的東西,這樣我們就可以開始弄清楚如何將它交到客戶手中。 允許失敗改變了我們對項目的態度,使我們能夠開始前進。 我們沒有從一開始就試圖預測問題並展望未來以保證成功,而是開始構建,直到遇到問題,然後找到解決方案。
同樣重要的是要注意,我們並沒有構建以後可以用作構建塊以供以後完整實施的原型——我們正在構建真實的東西,在我們進行的過程中弄清楚事情。 因此,我們保持的勢頭最終對項目的成功至關重要。
第 2 課:堅持你的原則
一旦我們開始建造,我們的工程原則就幫助我們保持快速發展。 我們可以通過多種方式在歐洲構建對講機,包括重新設計我們的架構,但為了符合我們“技術上保守”的原則,我們選擇採用與構建現有生產環境相同的方法。

“我們不只是複制和粘貼,而是縮小和簡化”
我們幾乎沒有在我們的歐洲擴建項目中引入任何新的軟件、服務或方法。 同時,我們極大地簡化了我們的架構,採用了我們美國基礎設施的元素,並以一種更易於使用的方式在我們的新環境中重用它們。 我們不只是複制和粘貼,而是縮小和簡化,符合我們“保持簡單”的原則。
第 3 課:在需要時改變規則
我們需要在我們的計劃流程和團隊結構方面留出很大的靈活性,以便讓這個項目配備人員並開始,改變“規則”,同時確保讓每個人都了解我們在做什麼。 我們建立了一個臨時項目團隊,其中包括來自現有團隊的經驗豐富的工程師來開始該項目的工作。
當然,這個決定有一些後果:團隊的能力較低; 項目成員必須跨越多個每日站立會議; 和其他項目必須被取消優先級。 這絕不可能是我們所有項目的默認方法,但是當我們知道我們需要實現什麼,並且我們想立即開始時,尊重我們的流程以促進進步是有意義的。
第 4 課:盡可能在本地工作
這可能是我們為保持項目快速推進而做出的最重要的決定。 儘管作為項目的一部分涉及對講機的所有部分,但我們決定不跨多個團隊進行工作,而是將盡可能多的工作保留在我們的特設項目團隊本地。 除了避免更廣泛的規劃流程外,這意味著我們不必要求我們的研發團隊來促進我們的功能在歐洲的部署。 我們只是通過默認方式自己完成工作,從而避免了無數次會議、文檔和 Slack 消息。
“我們承擔了問題的責任,並授權自己在這方面取得進展”
我們承擔了問題的責任,並授權自己在此問題上取得進展,通過最大限度地減少對不從事歐洲項目工作的團隊的干擾,最大限度地降低對講機的總體成本。 在某些情況下,我們確實不得不向有專業知識的人尋求幫助,我們給一些團隊帶來了一些驚喜——但總的來說,這是一個非常成功的方法。
第 5 課:保持時間靈活
在我們建立基礎設施並確保 Intercom Europe 正常運行後,我們進入了項目的不同階段,並與 Intercom 的多個團隊合作,以協調面向客戶的發布。
我們的發布阻礙主要是我們自己的內部流程,以及一些我們認為對發布並不重要的面向客戶的集成。 所以我們問自己,我們是否可以在沒有WhatsApp 等功能的情況下啟動並在我們進行時填補這些空白? 真正阻礙我們的是什麼?
“通過查看時間表並評估剩下要做的事情,我們認為我們可以將發射推遲到 12 月”
我們的項目計劃在 1 月啟動,但通過查看時間表並評估剩下要做的事情,我們認為我們可以將其推遲到 12 月。 我們需要客戶支持、銷售、分析、營銷、法律、研發和其他方面的幫助,但每個人都齊心協力快速行動。
我們有一個 Slack 頻道,顯示我們的銷售團隊何時使用該平台與客戶達成交易,從而為 Intercom 帶來實際收入。 在這些最後階段爭取採用的回報在這個渠道中變得很明顯——它結合了我們為實現這一目標而投入的所有工作的價值。 遵循我們現有的時間表會容易得多,但通過推動我們自己,我們設法比計劃提前一個月將其交到客戶手中。
我們的學習將幫助我們更快地前進
這是一個非常令人興奮的項目——我為我們所做的工作感到自豪,並且我們將項目對整個 Intercom 團隊的影響降到最低。 仍有許多正在進行的工作,但我們從經驗中吸取的教訓是非常寶貴的,因為我們建立了我們的澳大利亞託管服務並繼續在其他司法管轄區開發基礎設施。
了解有關使用 Intercom 的歐洲數據託管的更多信息