Ein Site Reliability Engineer (SRE) ist eine Rolle, die sowohl Aspekte der Softwareentwicklung als auch des Betriebs/der Infrastruktur umfasst. Es umfasst auch eine Strategie und eine Reihe von Praktiken und Prinzipien für alle Serviceangebote und ist eng mit DevOps und Betrieb verbunden. Der Begriff Site Reliability Engineering wurde erstmals 2003 bei Google ins Leben gerufen, als ein Site Reliability Team gegründet wurde. Damals bestand das Team aus Software-Ingenieuren. Seitdem hat sich das Konzept des Site Reliability Engineering weiterentwickelt und seinen Weg in die breitere Softwareentwicklungsbranche eingebracht und ist jetzt seine eigene Rolle innerhalb von Organisationen.
Ingenieure für Standortzuverlässigkeit schließen die Lücke zwischen Betrieb und Softwareentwicklern. Obwohl es keinen einheitlichen Ansatz für das gibt, was ein Site Reliability Engineer von Organisation zu Organisation tut, kann die Verantwortung eines Site Reliability Engineers im Großen und Ganzen eine Breite palette von Zielen umfassen, wie z. B. die Verwaltung und Überwachung der Systemverfügbarkeit, Latenz, Leistung, Effizienz, Reaktion auf Vorfälle sowie die Kapazitätsplanung der Dienste eines Unternehmens. Lassen Sie uns tiefer in diese Rolle eintauchen, um mehr über diese Rolle und ihre Funktionsweise in Organisationen zu erfahren.
Was ist Site Reliability Engineering?
Um es anders zu denken, ist site reliability engineering der Ort, an dem sich die traditionelle IT-Rolle oder Systemadministrationsrolle und DevOps treffen. In einer herkömmlichen IT-Umgebung hatten Unternehmen möglicherweise ein Team von Systemadministratoren, die komplexe Systeme verwalteten. Der Fokus und die Verantwortung liegen darin, sicherzustellen, dass Software ordnungsgemäß bereitgestellt wird und den Endbenutzern einen zuverlässigen Service zu bieten. Darüber hinaus umfasst ihre Rolle die Verwaltung von Problemen oder Problemen, die nach der Softwarebereitstellung auftreten.
Systemadministratoren konzentrieren sich jedoch nicht auf die eigentliche Softwareentwicklung, bei der Entwicklungs- und Systemadministratorrollen uneins sein können. Entwickler konzentrieren sich darauf, Software zu produzieren und sie in die Hände der Benutzer zu bringen, ohne sich unbedingt um die Aspekte oder Auswirkungen der Softwarebereitstellung zu kümmern. An dieser Kreuzung kommt die Rolle des Zuverlässigkeitsingenieurs des Standorts ins Rollen. Die Ingenieure für Zuverlässigkeit am Standort konzentrieren sich auf die Erstellung skalierbarer und zuverlässiger Softwaresysteme, daher gehört auch die Sicherstellung, dass die Entwicklungsarbeit effizient und zuverlässig ist, so dass es keine Überraschungen gibt, wenn das fertige Produkt produktionsbereit ist.
Was macht ein Site Reliability Engineer?
Das Engineering der Standortzuverlässigkeit umfasst die Aufteilung der Zeit zwischen Betrieb und Entwicklung. Beispielsweise kann ein Techniker für Die Zuverlässigkeit der Website an Helpdesk-Tickets, Vorfällen auf Abruf, manuellen Aufgaben usw. beteiligt sein. Darüber hinaus kann ein Site Reliability Engineer seine Zeit auch mit proaktiven Projekten wie Automatisierung, Verbesserung der Systemzuverlässigkeit usw. verbringen, um den manuellen Arbeitsaufwand zu reduzieren und sicherzustellen, dass alle Komponenten (Infrastruktur / Hardware, Middleware, Software usw.), die erforderlich sind, um die Softwarebereitstellungen am Leben zu erhalten, effizient laufen.
Was sind einige häufige SRE-Verantwortlichkeiten?
Die tatsächlichen SRE-Verantwortlichkeiten variieren von Unternehmen zu Unternehmen, aber in den meisten Fällen ist ein SRE- oder SRE-Team für alle Aspekte seiner Serviceangebote verantwortlich und kann eine, alle oder mehr als die folgenden Verantwortlichkeiten erfordern:
- Kapazitätsplanung
- Verfügbarkeit
- Leistung
- Überwachung
- Reaktion auf Vorfälle
- Support auf Abruf
- Post-Mortem
Wie Sie sehen können, ist eine SRE-Rolle in der Regel ein Tausendsassa. In einer Minute kann ein SRE Speicher in AWS bereitstellen, in der nächsten Minute muss ein SRE möglicherweise mit Kunden sprechen oder Python-Code für ein neues Projekt schreiben. Es kommt wirklich auf den Tag an.
Welche Tools verwenden SREs?
Die Tools und Softwarelösungen, die Zuverlässigkeitsingenieure vor Ort haben, können von Organisation zu Organisation sehr unterschiedlich sein. Einer der Hauptgründe dafür ist, dass in größeren Organisationen in der Regel mehr Personal innerhalb eines SRE-Teams vorhanden wäre, daher würden die Verantwortlichkeiten und der Umfang für jedes SRE unter dem Team aufgeteilt, was zu einer fokussierteren Rolle führen würde. Dies wiederum würde auch die Palette der Tools und Plattformen reduzieren, die sie verwenden würden. So kann beispielsweise in einer größeren Unternehmensorganisation ein SRE den ganzen Tag und jeden Tag in Jenkins arbeiten.
Auf der anderen Seite muss ein Team für die Zuverlässigkeit des Standorts oder eine Einzelperson in einer kleineren Organisation möglicherweise viel mehr Hüte tragen, da das Personal wahrscheinlich begrenzt wäre, daher müsste ihr Toolset alles von Konfigurationsmanagementplattformen und automatisierten Incident-Response-Systemen bis hin zu Überwachungs- und Analysetools umfassen. Möglicherweise sind Sie bereits mit einigen der Tools vertraut, die ein SRE verwendet, z. B. Docker, Terraform, Prometheus und Kibana.
Lesen Sie: Top 13 Site Reliability Engineer (SRE) Tools,um mehr über die beliebtesten Tools zu erfahren, die Site Reliability Engineers heute verwenden.
Wo kann ich mehr über Site Reliability Engineering erfahren?
Der Begriff “Site Reliability Engineer” wird Ben Treynor Sloss zugeschrieben, jetzt Vice President of Engineering bei Google. Er wurde 2003 gebeten, ein Team von sieben Ingenieuren zu gründen und zu leiten, was ihn schließlich dazu veranlasste, die neue Rolle / den neuen Titel zu erstellen. Es gibt ein paar großartige Online-Ressourcen, die von Ben und mehreren anderen Mitgliedern des Google-Entwicklungsteams geschrieben wurden und alles abdecken, von den Prinzipien und Grundsätzen von SREs, SRE-Rollen und -Verantwortlichkeiten bis hin zur Entwicklung der Rolle Site Reliability Engineering und wo sie in den heutigen DevOps-Umgebungen steht. Es gibt keinen besseren Weg, um mehr über das Engineering der Standortzuverlässigkeit zu erfahren, als von der Person und Organisation, die die Rolle überhaupt erst geschaffen hat, oder?
Es gibt auch eine große Liste von Site Reliability Engineering-Ressourcen auf GitHub.
Fazit: Was ist ein Site Reliability Engineer (SRE)?
Wie bereits behandelt, ist ein SRE mehr als nur Ihre traditionelle Betriebs- oder Systemadministratorrolle. Ein SRE nutzt seine breite Erfahrung und sein Wissen, um die Automatisierung und Effizienzsteigerung in seinen Softwarediensten und seiner Organisation zu unterstützen. Ein guter SRE ist jemand, der im Großen und Ganzen ein ausgezeichneter Problemlöser ist. Sie müssen nicht unbedingt der Experte in allem sein, was sie tun, aber sie müssen viele verschiedene Disziplinen verstehen und wissen, welche Schritte und Techniken sie ausführen müssen, wenn Probleme auftreten. Sie müssen auch verstehen, wie verschiedene Rollen innerhalb ihrer Organisation zusammenarbeiten, um Aufgaben und Projekte effektiv auszuführen. Es ist, als würde man ständig ein großes, kompliziertes Puzzle zusammensetzen. Es kann manchmal sehr frustrierend und anspruchsvoll sein, und Stücke können manchmal verloren gehen, aber sobald Sie es beendet haben, gibt es eine Menge Stolz und Leistung.
Als Teil der Verantwortung eines SRE sind Überwachung und Beobachtbarkeit ein wesentlicher Bestandteil ihrer Aufgaben. Die synthetischen Monitoring-Lösungen von Dotcom-Monitor ermöglichen es SREs und DevOps-Teams, Benutzer über ein System oder einen Dienst zu simulieren und zu überwachen. Die Dotcom-Monitor-Plattform ermöglicht es SREs, benutzerdefinierte Überwachungswarnungen einzurichten und lässt sich in Vorfall- und Warnplattformen wie PagerDuty, VictorOps, AlertOps und viele andereintegrieren. Darüber hinaus können SREs Echtzeit-Dashboards anzeigen, auf Berichte zugreifen und Analysen überprüfen, um Leistungsprobleme schnell zu identifizieren. Für SREs und Teams ist es von entscheidender Bedeutung, den Zustand von Anwendungen und Infrastruktur kontinuierlich zu überwachen, um sicherzustellen, dass zuverlässigkeit, Zugänglichkeit und Gesamtleistung ihrer Infrastruktur verstanden werden.
Erfahren Sie mehr über Dotcom-Monitor und wie Sie die Plattform nutzen können, um tiefer in die Überwachung und Beobachtbarkeit einzusteigen, um einen besseren Einblick in Ihre Anwendungen und Infrastruktur zu erhalten.