In 99 % der Fälle gilt das Wort „manuell“ als Synonym für Lethargie und Unvorhersehbarkeit. Die meisten würden zustimmen, dass bei dem Wunsch nach Geschwindigkeit und Zuverlässigkeit die Automatisierung ein guter Ausgangspunkt ist. Egal, ob Sie zusätzliche Cloud-Ressourcen für die Skalierung einer Anwendung aufstocken oder wichtige Anwendungsdienste bereitstellen und konfigurieren, es sollte in der Tat so einfach sein wie die Ausführung eines API-Aufrufs oder ein oder zwei Klicks in einer Konsole. Die Verwendung von Infrastructure-as-code (IaC) ist hier der Schlüssel zum Erfolg. Durch die Zusammenarbeit mit Ihren Kollegen aus dem Bereich Infrastruktur/NetOps/SecOps zur Erstellung von validierten Definitionsdateien, in denen detailliert beschrieben ist, was und wie die Dinge bereitgestellt werden, können Sie die Infrastruktur und Dienste schnell, wiederholbar und zuverlässig bereitstellen.
Durch die Nutzung dieses vorgefertigten Ansatzes für die Self-Service-Bereitstellung werden Sie letztendlich weniger abhängig von anderen Teams und verhindern Engpässe bei der Bereitstellung, die durch ticketbasierte Anfragen für die manuelle Bereitstellung der Infrastruktur entstehen.
Infrastructure-as-code ist ein Schritt in die richtige Richtung, wenn es darum geht, die Bereitstellung zu beschleunigen, aber es gibt noch wesentlich mehr Vorteile, wenn man den Wert der gesamten CI/CD-Pipeline nutzt. Wussten Sie, dass Sie neben der Möglichkeit, neuen Anwendungscode regelmäßiger zu integrieren und diese Aktualisierungen automatisch an die Produktion weiterzuleiten, auch das Einfügen von Anwendungsdiensten in Ihre Pipeline integrieren können? Indem Sie diese Dienste als Code (IaC) definieren und sie in einem Tool zur Kontrolle der Quelle speichern, wo sie regelmäßig überwacht, aktualisiert und verifiziert werden können, können Ihre CI/CD-Tools (wie Ansible und GitLab) diese Dienste automatisch über einen API-Aufruf in die Bereitstellung ziehen. Auf diese Weise stellen Sie sicher, dass jede Anwendung mit den entsprechenden Sicherheits- und Compliance-Kontrollen ausgegeben wird, ohne die Bereitstellung zu verzögern.
Die Fähigkeit, den erforderlichen Code, die Bibliotheken und die Binärdateien für eine gesamte Anwendung in einem leichtgewichtigen Paket zu bündeln, das schnell und konsistent plattformübergreifend eingesetzt werden kann, ist die Grundlage für den jüngsten Anstieg der Umstellung auf Containerumgebungen. Diese Eigenschaften verheißen bei der Optimierung der Geschwindigkeit in der Cloud Gutes, da sie die Möglichkeit bieten, Anwendungen im laufenden Betrieb nach oben oder unten zu skalieren, CI/CD-Prozesse zu beschleunigen und hochdynamische und verwaltbare Mikrodienstarchitekturen aufzubauen.
Wenn man diesen Trend beiseitelässt, kann es allzu leicht passieren, dass man sich in das Streben nach Geschwindigkeit verliert und vergisst, dass es immer noch Anwendungen gibt, die das gleiche (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 so anzupassen, dass sie den unterschiedlichen Anforderungen von Containern gerecht werden. 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 unerwünschte Ausfälle und Sicherheits-/Compliance-Probleme zu vermeiden.
Anwendung schnell zum Laufen zu bringen, ist eine Sache. Sie am Laufen und für die Benutzer verfügbar zu halten, ist eine ganz andere Herausforderung. Es existiert eine Vielzahl möglicher Bedrohungen für die Integrität Ihrer bereitgestellten Anwendungen, darunter Störungen des Netzwerks, Plattformprobleme, Cyberangriffe und Code-Bugs, um nur einige zu nennen. Dadurch fühlt sich die Aufgabe der Fehlerbehebung bei einem einzigen Anwendungsausfall oft so an, als ob Sie nach einer Nadel im Heuhaufen suchen. Denken Sie aber an die Größenordnung bei mehreren gleichzeitigen Anwendungsfehlern in verschiedenen Cloud-Umgebungen. Wo würden Sie anfangen?
In diesem Szenario ist die Transparenz der Vorläufer für Wissen und damit von unschätzbarem Wert, wenn es um die Lösung von Anwendungsproblemen geht. Je größer der Grad der Transparenz, über den Sie in jeder Schicht Ihres Anwendungsstapels verfügen, desto größer ist Ihre Fähigkeit, Anomalien beim Betrieb und Ursachen zu identifizieren. Zu diesem Zweck ist es entscheidend, eine zentrale Transparenzlösung zu implementieren, die sowohl cloud- als auch anwendungsagnostisch ist, um Probleme mit Anwendungen in Multi-Cloud-Architekturen schneller zu lösen.
Und schließlich geht es bei der Flexibilität der Cloud nicht nur darum, die richtigen Werkzeuge und Technologien zur Verfügung zu haben (ja, die helfen definitiv). Es geht auch um Menschen und Prozesse. An dem Sprichwort „Ein Netzwerk ist nur so schnell wie sein langsamster Draht.“ ist etwas Wahres dran. Dieses Zitat gilt auch für die Teams, die für die Entwicklung, Bereitstellung und Verwaltung von Anwendungen in der Cloud verantwortlich sind. Es handelt sich um Teamarbeit, die in der Regel mindestens DevOps, SecOps, NetOps und Architekten umfasst, was bedeutet, dass sich individuelle oder kollaborative Ineffizienzen wahrscheinlich auf das Team als Ganzes auswirken.
Die Absetzung von Silos und die Durchsetzung einer regelmäßigen und robusten Kommunikation zwischen den Teams bildet eine gute Grundlage für die Beschleunigung der Planung, der Fehlerbehebung und des Informationsaustauschs, um sicherzustellen, dass alle im gleichen Takt marschieren. Dadurch sind Sie nicht nur in der Lage, funktionsübergreifendes Fachwissen besser zu nutzen, um Ihr Leben einfacher zu gestalten, sondern können sich auch für Dinge wie Automatisierung und Prozessoptimierung bei anderen Tätigkeiten einsetzen – und so allen helfen, schneller voranzukommen.
Finden Sie heraus, wie Sie die Sicherheit, Leistung und Transparenz erhalten, die Ihr Unternehmen benötigt, ohne die Entwicklung zu verlangsamen.
Die Verantwortung für die Entwicklung von Anwendungen hat sich im Interesse der Geschwindigkeit zu den Entwicklern und weg von Netzwerk- und Sicherheitsteams verlagert.