Verwaltung der Hochverfügbarkeit bei Intercom
Veröffentlicht: 2022-05-06Intercom ist ein produktorientiertes Unternehmen, das sich auf die Maximierung von Produktinnovation und Entwicklungsgeschwindigkeit konzentriert.
Das bedeutet auch, dass wir uns an hohe Betriebsstandards halten: Minimierung der Kosten, schnelle Behebung von Qualitätsproblemen, die bei bestehenden Produkten auftreten, und Minderung von Sicherheitsrisiken.
Die Grundlage unserer betrieblichen Gesundheit ist die Verfügbarkeit. Ohne felsenfeste Verfügbarkeit zählt nichts anderes. Um unsere Mission zu erfüllen, das Internetgeschäft persönlich zu gestalten und zu skalieren, um immer größere Kunden zu unterstützen, haben wir kontinuierlich, nachdenklich und sorgfältig in unsere Mitarbeiter, Systeme und Prozesse investiert, um die hohen Verfügbarkeitsstandards von Intercom aufrechtzuerhalten.
„Das Erfolgsgeheimnis von Intercom in diesem Bereich ist einfach: Jahre konsequente, sorgfältige und facettenreiche kulturelle, organisatorische und technische Arbeit.“
Das Erfolgsgeheimnis von Intercom in diesem Bereich ist einfach: Jahre konsequente, sorgfältige und facettenreiche kulturelle, organisatorische, system- und softwaretechnische Arbeit. Aus diesem Grund vertrauen uns unsere Kunden – von kleinen Startups bis hin zu großen, komplexen Unternehmen.
So machen wir es.
Verfügbarkeit ist in unsere Kultur eingebettet
Die Rolle, die jeder Intercom-Mitarbeiter bei der Unterstützung der Verfügbarkeit spielt, ist tief in unserer Kultur verankert. Entwicklungsteams können Code so schnell wie möglich in kleinen Chargen in die Produktion bringen, um zu lernen und zu iterieren.
Anstatt unsere Ingenieure zu verlangsamen, investieren wir in Systeme und bauen eine Kultur darauf auf, was es bedeutet, schnell und sicher zu bauen. Wir schulen unsere Techniker während ihrer gesamten Intercom-Karriere in diesen Richtlinien und Prozessen, von der Einarbeitung der Mitarbeiter bis hin zu Leistungsbeurteilungen. Es sind nicht nur isolierte Codeänderungen, die sicher versendet werden, unser gesamter Softwarebereitstellungsprozess zielt darauf ab, sicherzustellen, dass wir in jeder Phase Produkte erstellen, die standardmäßig zuverlässig und skalierbar sind.
„Unser Observability-Toolset ist Weltklasse und versetzt jeden Ingenieur im Unternehmen in die Lage, bis ins kleinste Detail zu verstehen, wie sich der von ihm gelieferte Code in einer Produktionsumgebung verhält.“
Unser Observability-Toolset ist Weltklasse und versetzt jeden Ingenieur im Unternehmen in die Lage, bis ins kleinste Detail zu verstehen, wie sich der von ihm gelieferte Code in einer Produktionsumgebung verhält. Trotz all unserer besten Absichten werden einige Codeänderungen jedoch unweigerlich Probleme verursachen. Aus diesem Grund investieren wir auch in Mechanismen, die es uns ermöglichen, Probleme noch schneller zu beheben, als wir bereitstellen.
Wir bauen starke technische Grundlagen auf
Wir bauen ausschließlich mit einer sehr kleinen Anzahl von Technologien als Teil unseres Stacks, unterstützt von einem speziellen Enablement-Team für „Kerntechnologien“. Wir haben im Laufe der Zeit ein umfassendes Know-how in diesen Technologien entwickelt, und unsere Architekturentscheidungen und Implementierungsmuster sind einfach und bewährt. Das bedeutet, dass wir wissen, was es bedeutet, auf Zuverlässigkeit zu konzipieren und zu bauen, mit Lösungen, die sich im großen Maßstab bewährt haben.
„Wir investieren in den Aufbau und die Wartung gemeinsam genutzter Systeme und Tools, die unsere Fähigkeit untermauern, Code sicher zu versenden und uns schnell zu erholen, falls etwas schief geht.“
Mithilfe dieser Kerntechnologien investieren wir in den Aufbau und die Wartung gemeinsam genutzter Systeme und Tools, die unsere Fähigkeit untermauern, Code sicher zu versenden und uns schnell zu erholen, falls etwas schief geht.
Diese Art der Automatisierung gibt uns die Möglichkeit, Änderungen auf einen kleinen Prozentsatz des Kundenverkehrs oder auf eine bestimmte Gruppe von Kunden anzuwenden, um deren Auswirkungen zu verstehen. Wir können den Zugriff jedes Kunden auf eine Funktion einfach ein- oder ausschalten, was im Falle eines Vorfalls eine nützliche Funktion darstellt. Wir können auch wiederherstellen, indem wir einfach die Taste drücken , um zu einer sicheren Arbeitsversion des Codes zurückzukehren – in weniger als fünf Minuten.

Wir unterhalten sehr enge Beziehungen zu unserem primären Anbieter von Cloud-Infrastrukturen, Amazon Web Services (AWS), um die Robustheit unserer Infrastrukturplattform kontinuierlich gemeinsam zu bewerten und zu verstehen, ob es Möglichkeiten gibt, sich weiterzuentwickeln und unsere Zuverlässigkeit weiter zu stärken.
Wir managen Risiken und reagieren sofort, wenn etwas schief geht
Ein Teil der Programmstrategie zielt darauf ab, Risiken zu identifizieren, zu priorisieren und zu mindern, die unsere Verfügbarkeit gefährden würden. Innerhalb der Engineering-Organisation haben wir einen dedizierten Availability Technical Program Manager (TPM), der ein Cross-Intercom-Programm vorantreibt, das sich der kontinuierlichen Stärkung und dem Schutz unserer Verfügbarkeit widmet.
„Das Programmteam arbeitet mit Managern aus dem gesamten Engineering zusammen, um alle Risiken, denen wir ausgesetzt sind, genau zu verstehen.“
Das Programmteam arbeitet mit Managern aus dem gesamten Engineering zusammen, um alle Risiken, denen wir ausgesetzt sind, vollständig zu verstehen. Diese Elemente werden dann als Eingaben für Engineering-Roadmaps priorisiert, wobei das TPM dazu beiträgt, sicherzustellen, dass die Arbeiten planmäßig ausgeführt werden.
Wenn wir auf einen Vorfall stoßen, der sich auf unsere Kunden auswirkt, erfassen unsere umfangreichen Überwachungs- und Alarmierungsplattformen ihn fast augenblicklich, und unser Prozess zur Reaktion auf Vorfälle kommt in Gang. Unsere Kunden sind wirklich global, und das bedeutet, dass wir sie mit kontinuierlichem 24/7-Rufbereitschafts-Engineering- und Incident-Management-Support unterstützen.
Unsere Notfallhelfer sind online und reagieren innerhalb von Minuten, nachdem sie angerufen wurden, zusammen mit einem Einsatzleiter. Der Commander konzentriert sich unmittelbar darauf, die Auswirkungen auf die Kunden zu minimieren, und er koordiniert die gesamten Bemühungen, einschließlich Problemidentifizierung, Sichtung, Kommunikation und Lösung. Dies ist ein sehr disziplinierter und organisierter Prozess, der durch sehr klar definierte Rollen und Arbeitsprinzipien untermauert wird.
„Normalerweise beheben wir solche Vorfälle innerhalb von Minuten, veröffentlichen Updates auf unserer Statusseite und arbeiten gleichzeitig daran, den normalen Dienst wiederherzustellen.“
Normalerweise beheben wir solche Vorfälle innerhalb von Minuten, veröffentlichen Updates auf unserer Statusseite und arbeiten gleichzeitig daran, den Service wiederherzustellen. Die Wiederaufnahme des Normalbetriebs ist für uns aber sicher nicht der Endpunkt. Ein wichtiger Teil unseres Incident-Management-Prozesses ist die Incident Review, bei der wir tief in die Ursachen und beitragenden Faktoren eines Incidents eintauchen und nach Erkenntnissen suchen.
In einem internen offenen Forum werden wir darüber nachdenken, wo wir hätten besser sein können, und kurzfristige Maßnahmen sowie längerfristige strategische Änderungen vorschlagen. Dieses Treffen ist eines der nützlichsten für uns: eine Erinnerung daran, dass wirklich großartig zu sein, Engagement für kontinuierliche Verbesserung erfordert.
Was unser Fokus auf Verfügbarkeit für unsere Kunden bedeutet
Unser Engagement für den Erfolg unserer Kunden bedeutet, dass eine felsenfeste Verfügbarkeit ein Muss ist. Unser ganzheitlicher Ansatz hat es uns ermöglicht, unsere angestrebte Betriebszeit von 99,8 % seit einigen Jahren deutlich zu übertreffen und eine Plattform für Wachstum zu schaffen, auf die alle unsere Kunden vertrauen können.
Dies ist der zweite einer Reihe von Inhalten, die sich mit den Investitionen von Intercom in die Unterstützung von Unternehmen befassen. Entdecken Sie andere Artikel in der Serie.
