App-Leistung in der Cloud optimieren
In 99 % der Fälle ist das Wort „manuell“ gleichbedeutend mit Lethargie und Unvorhersehbarkeit. Die meisten würden jedoch zustimmen, dass Automatisierung ein guter Anfang ist, wenn es um Geschwindigkeit und Zuverlässigkeit geht. Egal, ob Sie zusätzliche Cloud-Ressourcen hochfahren, um eine App zu skalieren, oder wichtige App-Dienste bereitstellen und konfigurieren, es sollte so einfach sein wie das Ausführen eines API-Aufrufs oder ein oder zwei Klicks in einer Konsole. Der Schlüssel zum Erfolg ist hier die Nutzung von Infrastructure-as-Code (IaC). Durch die Zusammenarbeit mit Ihren Infrastruktur-/NetOps-/SecOps-Kollegen zum Erstellen validierter Definitionsdateien, in denen detailliert beschrieben wird, was und wie die Dinge bereitgestellt werden, können Sie Infrastruktur und Dienste schnell, wiederholbar und zuverlässig bereitstellen.
Durch die Nutzung dieses vorlagenbasierten Ansatzes für Self-Service-Bereitstellungen werden Sie letztendlich weniger abhängig von anderen Teams und vermeiden Bereitstellungsengpässe, die durch ticketbasierte Anfragen zur manuellen Bereitstellung der Infrastruktur verursacht werden.
Beim Versuch, Bereitstellungen zu beschleunigen, ist Infrastructure-as-Code ein Schritt in die richtige Richtung. Durch die Ausschöpfung des Werts einer vollständigen CI/CD-Pipeline lassen sich jedoch noch erheblich mehr Vorteile erzielen. Wussten Sie, dass Sie neben der Möglichkeit, neuen Anwendungscode häufiger zu integrieren und diese Updates automatisch in die Produktion zu übertragen, auch die Einfügung von App-Diensten in Ihre Pipeline integrieren können? Indem Sie diese Dienste als Code (IaC) definieren und in einem Quellcodeverwaltungstool speichern, wo sie regelmäßig überwacht, aktualisiert und überprüft werden können, können Ihre CI/CD-Tools (wie Ansible und GitLab) diese Dienste über einen API-Aufruf automatisch in die Bereitstellung integrieren. Auf diese Weise stellen Sie sicher, dass jede App mit den entsprechenden Sicherheits- und Compliance-Kontrollen herauskommt, ohne dass es zu Verzögerungen bei der Bereitstellung kommt.
Die Möglichkeit, den erforderlichen Code, die Bibliotheken und Binärdateien für eine gesamte Anwendung in einem leichten Paket zu bündeln, das schnell und konsistent plattformübergreifend bereitgestellt werden kann, ist die Grundlage für den jüngsten Anstieg der Containernutzung. Diese Eigenschaften sind für die Geschwindigkeitsoptimierung in der Cloud von Vorteil, da sie das schnelle Hochfahren und Skalieren von Apps, die Beschleunigung von CI/CD-Prozessen sowie den Aufbau äußerst dynamischer und verwaltbarer Microservices-Architekturen ermöglichen.
Wenn man diesen Hype einmal beiseite lässt, kann es allzu leicht passieren, dass man sich im Streben nach Geschwindigkeit verfängt und vergisst, dass es immer noch Apps gibt, die dieselben (oder sogar noch höhere) Sicherheits- und Leistungsoptimierungsstufen erfordern wie der Rest Ihres Anwendungsportfolios. Und leider werden Sie wahrscheinlich nur begrenzten Erfolg haben, wenn Sie versuchen, vorhandene App-Dienste nachzurüsten, um die besonderen Anforderungen von Containern zu erfüllen. Stattdessen müssen Sie einen dynamischeren Satz von Diensten identifizieren, die sich in Ihr Container-Orchestrierungssystem integrieren lassen, um Ihre Container wirklich zu unterstützen und so unerwünschte Ausfälle und Sicherheits-/Compliance-Probleme zu vermeiden.
4. Wissen Sichtbarkeit ist Macht
Apps schnell zum Laufen zu bringen, ist eine Sache. Sie dort zu behalten und für die Benutzer verfügbar zu halten, ist eine ganz andere Herausforderung. Sobald Ihre Anwendungen in der Produktion sind, gibt es unzählige mögliche Bedrohungen für deren Integrität – Netzwerkstörungen, Plattformprobleme, Cyberangriffe und Codefehler, um nur einige zu nennen. Dies führt dazu, dass die Behebung des Ausfalls einer einzelnen Anwendung sich oft anfühlt, als würde man nach der Nadel im Heuhaufen suchen. Bedenken Sie jedoch das Ausmaß mehrerer gleichzeitiger Anwendungsausfälle in unterschiedlichen Cloud-Umgebungen. Wo würden Sie anfangen?
In diesem Szenario ist Sichtbarkeit die Voraussetzung für Wissen und daher von unschätzbarem Wert bei der Suche nach Lösungen für App-Probleme. Je besser Sie die einzelnen Schichten Ihres Anwendungsstapels einsehen können, desto besser können Sie Betriebsanomalien und deren Ursachen erkennen. Zu diesem Zweck ist es wichtig, eine zentralisierte Sichtbarkeitslösung zu implementieren, die sowohl Cloud- als auch App-agnostisch ist, um App-Probleme in Multi-Cloud-Architekturen schneller zu lösen.
Und schließlich hängt Cloud-Agilität nicht nur von den richtigen Tools und Technologien ab (ja, die sind auf jeden Fall hilfreich). Es geht auch um Menschen und Prozesse. Es ist durchaus etwas Wahres an dem Sprichwort: „ Ein Netzwerk ist nur so schnell wie seine langsamste Leitung.“ Und dieses Zitat trifft auch auf die Teams zu, die für die Erstellung, Bereitstellung und Verwaltung von Apps in der Cloud verantwortlich sind. Es handelt sich dabei um eine Teamleistung, an der in der Regel mindestens DevOps, SecOps, NetOps und Architekten beteiligt sind. Das bedeutet, dass sich Ineffizienzen einzelner Mitarbeiter oder der Zusammenarbeit wahrscheinlich auf das gesamte Team auswirken.
Holen Sie sich den Stand der Anwendungsdienste 2020: DevOps-Ausgabe
Das Aufbrechen von Silos und die Durchsetzung eines regelmäßigen und robusten Engagement-Modells zwischen den Teams bilden eine gute Grundlage für die Beschleunigung von Planung, Fehlerbehebung und Informationsaustausch und stellen sicher, dass alle im selben Takt marschieren. Sie können nicht nur abteilungsübergreifendes Fachwissen besser nutzen, um sich das Leben zu erleichtern, sondern Sie können sich auch im Gegenzug für Dinge wie Automatisierung und Prozessoptimierung in anderen Berufen einsetzen – und so allen helfen, schneller voranzukommen.