Zarządzanie wysoką dostępnością w Intercomie

Opublikowany: 2022-05-06

Intercom jest firmą opartą na produktach, skoncentrowaną na maksymalizacji innowacji i szybkości rozwoju produktów.

Oznacza to również, że przestrzegamy wysokich standardów operacyjnych: minimalizując koszty, szybko rozwiązując problemy z jakością pojawiające się w istniejących produktach i łagodząc zagrożenia bezpieczeństwa.

Podstawą naszej kondycji operacyjnej jest dostępność. Bez solidnej dostępności, nic innego nie ma znaczenia. Aby zrealizować naszą misję uczynienia biznesu internetowego osobistym i skalowania w celu obsługi coraz większych klientów, nieustannie, rozważnie i ostrożnie inwestujemy w naszych ludzi, systemy i procesy, aby utrzymać wysokie standardy dostępności Intercomu.

„Sekret sukcesu Intercomu w tej dziedzinie jest prosty: lata konsekwentnej, starannej i wieloaspektowej pracy kulturalnej, organizacyjnej i inżynierskiej”

Sekret sukcesu Intercomu w tej dziedzinie jest prosty: lata konsekwentnej, starannej i wieloaspektowej pracy kulturowej, organizacyjnej, systemowej i inżynieryjnej oprogramowania. Dlatego zaufali nam nasi klienci – od małych startupów po ogromne, złożone przedsiębiorstwa.

Oto jak to robimy.

Dostępność jest zakorzeniona w naszej kulturze

Rola, jaką każdy pracownik Intercom odgrywa we wspieraniu dostępności, jest głęboko zakorzeniona w naszej kulturze. W przypadku zespołów inżynierskich dostarczenie kodu do produkcji tak szybko, jak to możliwe w małych partiach, pozwala nam uczyć się i iterować.

Zamiast spowalniać naszych inżynierów, inwestujemy w systemy i budujemy kulturę wokół tego, co to znaczy budować szybko i bezpiecznie. Kształcimy naszych inżynierów w zakresie tych zasad i procesów przez cały okres ich kariery w interkomie, od wdrażania pracowników po przeglądy wydajności. To nie tylko izolowane zmiany kodu, które są dostarczane bezpiecznie, cały nasz proces dostarczania oprogramowania ma na celu zapewnienie, że na każdym etapie tworzymy produkty, które są domyślnie niezawodne i skalowalne.

„Nasz zestaw narzędzi do obserwowania jest światowej klasy i umożliwia każdemu inżynierowi w firmie zrozumienie z najdrobniejszymi szczegółami, jak wysyłany przez nich kod zachowuje się w środowisku produkcyjnym”

Nasz zestaw narzędzi do obserwowania jest światowej klasy i umożliwia każdemu inżynierowi w firmie zrozumienie z najdrobniejszymi szczegółami, jak wysyłany przez nich kod zachowuje się w środowisku produkcyjnym. Jednak pomimo naszych najlepszych intencji, niektóre zmiany w kodzie nieuchronnie spowodują problemy. Dlatego inwestujemy również w mechanizmy, które pozwalają nam odzyskać sprawność nawet szybciej niż wdrażamy.

Budujemy mocne fundamenty techniczne

Budujemy wyłącznie przy użyciu bardzo niewielkiej liczby technologii w ramach naszego stosu, wspieranego przez określony zespół ds. technologii podstawowych. Z biegiem czasu zdobyliśmy głęboką wiedzę na temat tych technologii, a nasze wybory dotyczące architektury i wzorce implementacji są proste i sprawdzone. Oznacza to, że wiemy, co to znaczy projektować i budować z myślą o niezawodności, z rozwiązaniami sprawdzonymi na dużą skalę.

„Inwestujemy w tworzenie i utrzymywanie wspólnych systemów i narzędzi, które stanowią podstawę naszej zdolności do bezpiecznego wysyłania kodu i szybkiego odzyskiwania w przypadku, gdy coś pójdzie nie tak”

Korzystając z tych podstawowych technologii, inwestujemy w tworzenie i utrzymywanie współdzielonych systemów i narzędzi, które stanowią podstawę naszej zdolności do bezpiecznego dostarczania kodu i szybkiego odzyskiwania w przypadku, gdy coś pójdzie nie tak.

Ten rodzaj automatyzacji daje nam możliwość wdrażania zmian w niewielkim procencie ruchu klientów lub w określonej grupie klientów, aby zrozumieć ich wpływ. Możemy łatwo włączyć lub wyłączyć dostęp dowolnego klienta do funkcji, co jest użyteczną funkcją w przypadku wystąpienia incydentu. Możemy również odzyskać dane, po prostu decydując się na naciśnięcie przycisku, aby „przywrócić” bezpieczną, działającą wersję kodu – w mniej niż pięć minut.

Utrzymujemy bardzo bliskie relacje z naszym głównym dostawcą infrastruktury chmury, Amazon Web Services (AWS), aby stale wspólnie oceniać solidność naszej platformy infrastruktury i sprawdzać, czy istnieją możliwości rozwoju i dalszego wzmacniania naszej niezawodności.

Zarządzamy ryzykiem i reagujemy natychmiast, gdy coś pójdzie nie tak

Część strategii programu ma na celu identyfikację, ustalenie priorytetów i ograniczenie ryzyka, które zagrażałoby naszej dostępności. W ramach organizacji inżynieryjnej mamy dedykowanego kierownika ds. programu technicznego dostępności (TPM), prowadzącego program międzyinterkomowy, którego celem jest ciągłe wzmacnianie i ochrona naszej dostępności.

„Zespół programowy współpracuje z menedżerami z całej inżynierii, aby dogłębnie zrozumieć wszelkie zagrożenia, przed którymi stoimy”

Zespół programowy współpracuje z menedżerami z całej inżynierii, aby w pełni zrozumieć wszelkie zagrożenia, przed którymi stoimy. Pozycje te są następnie traktowane priorytetowo jako dane wejściowe do planów inżynieryjnych, a TPM pomaga zapewnić wykonanie prac zgodnie z harmonogramem.

Kiedy napotykamy incydent mający wpływ na naszych klientów, nasze rozbudowane platformy monitorowania i alarmowania wychwytują go niemal natychmiast, a nasz proces reagowania na incydenty zaczyna działać. Nasi klienci są naprawdę globalni, co oznacza, że ​​wspieramy ich ciągłym całodobowym wsparciem inżynieryjnym i wsparciem zarządzania incydentami.

Nasi ratownicy są w trybie online i reagują w ciągu kilku minut od wezwania, wraz z dowódcą incydentu. Dowódca natychmiast skupia się na minimalizowaniu wpływu klienta i koordynuje cały wysiłek, w tym identyfikację problemów, segregację, komunikację i rozwiązywanie. Jest to wysoce zdyscyplinowany i zorganizowany proces, oparty na bardzo dobrze zdefiniowanych rolach i zasadach działania.

„Zazwyczaj rozwiązujemy takie incydenty w ciągu kilku minut, publikując aktualizacje na naszej stronie statusu, jednocześnie pracując nad przywróceniem usługi do normy”

Zazwyczaj takie incydenty rozwiązujemy w ciągu kilku minut, publikując aktualizacje na naszej stronie statusu, jednocześnie pracując nad przywróceniem usługi. Wznowienie normalnej usługi z pewnością nie jest jednak dla nas punktem końcowym. Kluczową częścią naszego procesu zarządzania incydentami jest przegląd incydentów, podczas którego głęboko zagłębiamy się w przyczyny i czynniki przyczyniające się do incydentu oraz szukamy wniosków.

Na wewnętrznym, otwartym forum zastanowimy się, gdzie mogliśmy zrobić lepiej, i zaproponujemy krótkoterminowe działania, a także długoterminowe zmiany strategiczne. To spotkanie jest dla nas jednym z najbardziej korzystnych: przypomnienie, że bycie naprawdę wielkim wymaga zaangażowania w ciągłe doskonalenie.

Co oznacza dla naszych klientów koncentracja na dostępności

Nasze zaangażowanie w sukces naszych klientów oznacza, że ​​solidna dostępność jest koniecznością. Nasze holistyczne podejście pozwoliło nam znacznie przekroczyć docelowy czas pracy bez przestojów wynoszący 99,8% przez kilka lat, zapewniając platformę wzrostu, której mogą zaufać wszyscy nasi klienci.

Jest to drugi z serii treści poświęconych inwestycjom Intercomu we wspieranie przedsiębiorstw. Zapoznaj się z innymi artykułami z tej serii.