- PagerDuty /
- Blog /
- Nicht kategorisiert /
- 10 häufige Fehler im operativen Geschäft
Blog
10 häufige Fehler im operativen Geschäft
Aktualisiert am 24.07.2014: Dieser Blogbeitrag wurde aktualisiert, um den Vortrag von Arup genauer wiederzugeben.
Arup Chakrabarti, Betriebsingenieur bei PagerDuty, besuchte die Zentrale von Heavybit Industries, um über die größten Fehler zu sprechen, die ein Betriebsteam begehen kann, und wie man diese vermeidet. Das vollständige Video finden Sie hier: Heavybits-Videobibliothek Die
1. Fehler bei der Infrastruktureinrichtung
Konten erstellen
Viele verwenden private Konten beim Einrichten von Unternehmensinfrastrukturen. Erstellen Sie stattdessen neue Konten mit Unternehmensadressen, um die Einheitlichkeit zu gewährleisten.
Seien Sie vorsichtig beim Speichern von Passwörtern. Wenn Sie diese in Ihrem Git-Repository speichern, könnten Sie später Ihre gesamte Git-Historie löschen müssen. Es ist besser, Passwörter in der Konfigurationsverwaltung zu speichern, damit sie bei Bedarf eingebunden werden können.
Werkzeuge auswählen
Ein weiterer guter Tipp für neue Implementierungen: Wählen Sie Ihre Tools mit Bedacht. Nutzen Sie beispielsweise PaaS-Tools so lange wie möglich – so können Sie sich auf die Kundengewinnung konzentrieren, anstatt Infrastruktur aufzubauen. Und scheuen Sie sich nicht, auch vermeintlich „langweilige“ Produkte wie Java einzusetzen. Bewährte Technologien ermöglichen Ihnen wirklich spannende Projekte.
2. Schlecht konzipierte Testumgebungen
Test- und Produktionsumgebung trennen
Sie sollten unbedingt vermeiden, dass sich Ihre Test- und Produktionsumgebungen vermischen. Richten Sie Testumgebungen daher unbedingt mit anderen Hosting- und Provider-Konten ein als die, die Sie in der Produktion verwenden.
Virtuelle Maschinen
Sie entwickeln lokal? Daran führt kein Weg vorbei: Anwendungen laufen auf lokalen Rechnern anders als in der Produktionsumgebung. Um eine Produktionsumgebung so genau wie möglich zu simulieren, erstellen Sie virtuelle Maschinen mit einem Tool wie Vagrant.
3. Fehlerhaftes Konfigurationsmanagement
Sowohl Ansible als auch Salt sind sehr leicht zu erlernende Tools. Insbesondere Ansible vereinfacht die Bereitstellung von Infrastruktur als Code für Betriebsteams enorm.
Was ist Infrastructure-as-Code? Im Wesentlichen handelt es sich um den Prozess, Infrastruktur so zu gestalten, dass sie schnell und zuverlässig hoch- und heruntergefahren werden kann. Serverkonfigurationen können unabhängig vom Standort der Infrastruktur ausfallen, daher muss die Serverwiederherstellung in kürzester Zeit gewährleistet sein.
Unabhängig vom verwendeten Tool gilt grundsätzlich: Beschränken Sie die Anzahl der eingesetzten Automatisierungssoftware. Jedes Tool stellt eine zentrale Datenquelle in Ihrer Infrastruktur dar und ist somit auch ein potenzielles Fehlerrisiko.
4. Falsche Vorgehensweise
Konstanz ist wichtig
Jeder Codeabschnitt muss so einheitlich wie möglich bereitgestellt werden. Doch alle Entwickler dazu zu bringen, diese Konsistenz zu wahren, kann eine Herausforderung sein.
Orchestrieren Sie Ihre Bemühungen
Leistungsstarke Automatisierungssoftware kann die Konsistenz deutlich verbessern. Automatisierungstools eignen sich jedoch nur für große Implementierungen. Daher empfiehlt Arup für den Einstieg, die Entwicklung mit Git durchzuführen und ein Orchestrierungstool einzusetzen. Beispiele hierfür sind Capistrano für Rails, Celery für Python oder Ansible und Salt für Orchestrierung und Konfigurationsmanagement.
5. Nicht korrekte Bearbeitung von Vorfällen
Sorgen Sie für einen entsprechenden Prozess.
Die Erstellung und Dokumentation eines Incident-Management-Prozesses ist unbedingt erforderlich, auch wenn der Prozess nicht perfekt ist.
Sie sollten auch darauf vorbereitet sein, das Dokument zum Vorfallmanagement regelmäßig zu überprüfen. Bei häufigen Ausfallzeiten sind Überprüfungen jedoch nicht unbedingt erforderlich.
Alle in Bereitschaftsdienst stellen
Es wird immer seltener, dass Unternehmen über eigene Bereitschaftsteams verfügen – stattdessen wird erwartet, dass jeder, der mit Produktionscode arbeitet, im Falle von Ausfallzeiten erreichbar ist.
Dafür benötigt man eine Plattform (wie PagerDuty), die verschiedene Personen auf unterschiedliche Weise benachrichtigen kann. Entscheidend ist, die richtigen Personen zum richtigen Zeitpunkt zu erreichen.
6. Vernachlässigung von Überwachung und Alarmierung
Beginnen Sie von überall.
Welches Überwachungstool Sie konkret verwenden, ist weniger wichtig als die bloße Implementierung. PagerDuty nutzt StatsD in Verbindung mit Datadog; Open-Source-Tools wie Nagios können genauso effektiv sein.
Wenn Sie über das nötige Budget verfügen, könnte ein Tool für Anwendungsleistungsmanagement wie New Relic eine gute Lösung sein. Am wichtigsten ist jedoch, dass Sie ein Überwachungstool zur Verfügung haben.
„Es gibt keine Ausrede, keine Überwachungs- und Alarmierungsfunktionen in Ihrer App zu haben, auch nicht bei der Markteinführung“, – Arup Chakrabarti, Engineering Manager, PagerDuty
7. Versäumnis, Datensicherungen zu erstellen
Systematisierung von Datensicherungen und Wiederherstellungen
Genauso wie Überwachung und Alarmierung ist die Datensicherung unerlässlich. Regelmäßige Backups in S3 sind heute branchenüblich.
Sie sollten mindestens einmal im Monat versuchen, Ihre Produktionsdaten in einer Testumgebung wiederherzustellen, um zu bestätigen, dass Ihre Backups wie vorgesehen funktionieren.
8. Missachtung der Hochverfügbarkeitsprinzipien
„Mehrere“ ist das Motto.
Mehrere Server auf jeder Ebene, mehrere zustandslose Anwendungsserver und mehrere Load Balancer sind unerlässlich. Nur mit mehreren Failover-Optionen kann man wirklich von einer Optimierung für Hochverfügbarkeit sprechen.
Auch die Gestaltung des Datenspeichers ist wichtig.
Datenspeicher (wie Cassandra) sind unerlässlich, da bei Multimaster-Datenclustern einzelne Knoten ohne jegliche Auswirkungen auf die Kunden entfernt werden können. Aus diesem Grund eignen sich geclusterte Datenspeicher ideal für dynamische Bereitstellungsumgebungen.
9. Häufige Sicherheitsfallen vermeiden
ausschließlich auf SSH angewiesen
Verwenden Sie Gateway-Server anstelle von SSH auf Ihren Datenbankservern und Load Balancern. Über diese Gateways können Sie Proxys betreiben und den Datenverkehr einschränken, falls Sie einen Sicherheitsverstoß vermuten.
Keine Konfiguration individueller Benutzerkonten
Wenn ein Mitarbeiter das Unternehmen verlässt, ist es praktisch, ihm den Zugriff schnell entziehen zu können. Es gibt aber noch weitere Gründe, Benutzerkonten für die verschiedenen Tools einzurichten. Ein Laptop könnte verloren gehen. Jemand muss vielleicht sein Passwort zurücksetzen. Laut Arup ist es deutlich einfacher, ein Benutzerpasswort zu widerrufen oder zurückzusetzen als das Passwort eines Master-Kontos.
Verschlüsselung konnte in der Entwicklungsumgebung nicht aktiviert werden
Die Integration von Verschlüsselung in den Entwicklungszyklus hilft dabei, sicherheitsrelevante Fehler frühzeitig zu erkennen. Außerdem ist es einfach eine gute Vorgehensweise, Entwickler dazu zu zwingen, ständig über Sicherheit nachzudenken.
10. Ignorieren der internen IT-Bedürfnisse
Streng genommen kein operatives Problem, aber…
IT ist nicht immer Sache des Betriebs. Bei bestimmten Themen sind jedoch beide Teams beteiligt. Zum Beispiel:
-
Gemeinsamkeiten der Ausrüstung Wenn eine Ingenieurin ihren individuell konfigurierten Laptop verliert, wie lange dauert es, bis sie ein Ersatzgerät erhält? Um die Bereitstellung von Maschinen zu optimieren, sollte auf einheitliche Hardware geachtet werden.
-
Zugang zu den richtigen Werkzeugen gewähren Onboarding-Dokumente sind eine gute Möglichkeit, neuen Mitarbeitern Zugangsdaten mitzuteilen.
-
Lokale Maschinen im Bildgebungsverfahren Mit auf USB gespeicherten Disk-Images ist die Bereitstellung oder erneute Bereitstellung von Geräten ein Kinderspiel.
-
Festplattenverschlüsselung aktivieren Dank Verschlüsselung muss man sich keine Sorgen machen, falls eine Maschine verloren geht.
Es gibt Millionen weiterer Fehler, die operative Teams begehen können. Diese zehn Fehler treten jedoch am häufigsten auf, selbst bei Unternehmen wie Amazon, Netflix und PagerDuty.
Haben Sie selbst einen Fehler im Operationsbereich gemacht, den Sie teilen möchten? Schreiben Sie uns in den Kommentaren unten davon.