5 Prinzipien zur Optimierung der Anwendungsleistung in der Cloud
Optimieren Sie die App-Performance in der Cloud
Geschwindigkeit und Agilität zählen nach wie vor zu den wichtigsten Gründen für die Einführung der Cloud in Unternehmen, denn in unserer schnelllebigen Welt ist Langsamkeit nicht mehr hinnehmbar. Doch was müssen Sie als DevOps-Fachkraft, die Anwendungsbereitstellungen beschleunigen, gleichzeitig die Anwendungsleistung verbessern und die Sicherheit gewährleisten soll, tun, um Ihre Systeme und Prozesse zu modernisieren und langsame Abläufe in der Cloud zu überwinden? Wir haben einige Vorschläge.
1. Infrastructure-as-Code ist dein Freund
In 99 % der Fälle könnte das Wort „manuell“ ebenso gut als Synonym für Trägheit und Unvorhersehbarkeit gelten. Die meisten dürften sich einig sein, dass Automatisierung ein guter Ausgangspunkt ist, wenn es um Geschwindigkeit und Zuverlässigkeit geht. Ganz gleich, ob Sie zusätzliche Cloud-Ressourcen bereitstellen, um eine Anwendung zu skalieren, oder wichtige Anwendungsdienste bereitstellen und konfigurieren: Im Grunde sollte dies so einfach sein wie das Ausführen eines API-Aufrufs oder ein bis zwei Klicks in einer Konsole. Der Einsatz von Infrastructure-as-Code (IaC) ist hierbei der Schlüssel zum Erfolg. Wenn Sie gemeinsam mit Ihren Ansprechpartnern aus den Bereichen Infrastruktur, NetOps und SecOps validierte Definitionsdateien erstellen, in denen detailliert festgelegt ist, was wie bereitgestellt wird, können Sie Infrastruktur und Dienste schnell, reproduzierbar und zuverlässig bereitstellen.
Durch die Nutzung dieses vorlagenbasierten Ansatzes für Self-Service-Bereitstellungen werden Sie letztlich unabhängiger von anderen Teams und vermeiden Bereitstellungsengpässe, die durch ticketbasierte Anfragen zur manuellen Bereitstellung von Infrastruktur entstehen.
2. Schöpfen Sie das Potenzial Ihrer CI/CD-Pipeline VOLL aus
Infrastructure-as-Code ist ein Schritt in die richtige Richtung, wenn es darum geht, Bereitstellungen zu beschleunigen. Doch erheblich mehr lässt sich erreichen, indem Sie das Potenzial einer vollständigen CI/CD-Pipeline ausschöpfen. Sie können nicht nur neuen Anwendungscode häufiger integrieren und diese Aktualisierungen automatisch in die Produktionsumgebung übertragen lassen, sondern auch App-Services in Ihre Pipeline einbinden. Indem Sie diese Services als Code (IaC) definieren und in einem Versionsverwaltungstool speichern, wo sie regelmäßig überwacht, aktualisiert und überprüft werden können, können Ihre CI/CD-Tools (wie Ansible und GitLab) diese Services über einen API-Aufruf automatisch in die Bereitstellung einbinden. So stellen Sie sicher, dass jede App mit den entsprechenden Sicherheits- und Compliance-Kontrollen bereitgestellt wird, ohne die Bereitstellungen zu verzögern.
3. Container einführen – aber sicher
Die Möglichkeit, den erforderlichen Code, die Bibliotheken und Binärdateien einer gesamten Anwendung in einem schlanken Paket zu bündeln, das sich schnell und konsistent plattformübergreifend bereitstellen lässt, bildet die Grundlage für den jüngsten starken Anstieg der Container-Nutzung. Diese Eigenschaften sind ideal für die Optimierung der Geschwindigkeit in der Cloud: Anwendungen lassen sich bei Bedarf starten und skalieren, CI/CD-Prozesse beschleunigen und hochdynamische, einfach zu verwaltende Microservices-Architekturen aufbauen.
Lässt man den Hype einmal beiseite, kann man sich nur allzu leicht vom Streben nach Geschwindigkeit mitreißen lassen und dabei vergessen, dass es nach wie vor Anwendungen gibt, die dasselbe (oder ein höheres) Maß an Sicherheit und Optimierung der Anwendungsleistung erfordern wie der Rest Ihres Anwendungsportfolios. Leider werden Sie wahrscheinlich nur begrenzten Erfolg haben, wenn Sie versuchen, bestehende Anwendungsdienste nachträglich an die besonderen Anforderungen von Containern anzupassen. Stattdessen müssen Sie eine dynamischere Palette von Diensten finden, die sich in Ihr Container-Orchestrierungssystem integrieren lassen, um Ihre Container wirklich zu unterstützen und so unerwünschte Ausfälle sowie Sicherheits- und Compliance-Probleme zu vermeiden.
4. Transparenz ist Macht
Anwendungen schnell zum Laufen zu bringen, ist eine Sache. Sie dauerhaft am Laufen und für Benutzer verfügbar zu halten, ist eine ganz andere Herausforderung. Sobald Ihre Anwendungen in Produktion sind, gibt es unzählige mögliche Gefahren für ihren reibungslosen Betrieb – etwa Netzwerkstörungen, Plattformprobleme, Cyberangriffe und Programmfehler. Dadurch gleicht die Fehlersuche bei einem einzelnen Anwendungsausfall oft der Suche nach der Nadel im Heuhaufen. Doch stellen Sie sich erst einmal mehrere gleichzeitige Anwendungsausfälle in verschiedenen Cloud-Umgebungen vor. Wo würden Sie anfangen?
In diesem Szenario ist Transparenz die Voraussetzung für Wissen, weshalb sie bei der Behebung von Anwendungsproblemen von unschätzbarem Wert ist. Je mehr Einblick Sie in die einzelnen Schichten des Stacks Ihrer Anwendungen haben, desto besser können Sie betriebliche Anomalien und deren Ursachen erkennen. Daher ist es entscheidend, eine zentrale Transparenzlösung zu implementieren, die sowohl cloud- als auch anwendungsunabhängig ist, um Anwendungsprobleme in Multi-Cloud-Architekturen schneller zu beheben.
5. Teamwork lässt Träume wahr werden
Und schließlich geht es bei Cloud-Agilität nicht nur darum, über die richtigen Tools und Technologien zu verfügen (auch wenn diese natürlich helfen). Es geht ebenso um Menschen und Prozesse. In dem Sprichwort „Ein Netzwerk ist nur so schnell wie seine langsamste Leitung.“ steckt durchaus ein Körnchen Wahrheit. Das gilt auch für die Teams, die für die Entwicklung, Bereitstellung und Verwaltung von Anwendungen in der Cloud verantwortlich sind. Dabei handelt es sich um eine Teamleistung, an der in der Regel mindestens DevOps, SecOps, NetOps und Architekten beteiligt sind. Ineffizienzen bei Einzelnen oder in der Zusammenarbeit wirken sich daher wahrscheinlich auf das gesamte Team aus.
Laden Sie den Bericht „State of Application Services 2020: DevOps Edition“ herunter
Das Aufbrechen von Silos und die Etablierung eines regelmäßigen, belastbaren Modells für die Zusammenarbeit zwischen Teams schaffen eine solide Grundlage, um Planung, Fehlerbehebung und Informationsaustausch zu beschleunigen und sicherzustellen, dass alle an einem Strang ziehen. So können Sie nicht nur funktionsübergreifendes Fachwissen besser nutzen und sich die Arbeit erleichtern, sondern sich im Gegenzug auch in anderen Fachbereichen für Themen wie Automatisierung und Prozessoptimierung einsetzen – und damit allen helfen, schneller voranzukommen.




