Erwägen Sie derzeit die Umstrukturierung, das Replatforming oder die Neuarchitektur einer Anwendung? Herzlichen Glückwunsch, denn das bedeutet höchstwahrscheinlich, dass Sie sich für den Weg der Anwendungsmodernisierung entschieden haben, nachdem Sie die vier wichtigsten Vorteile der Cloud entdeckt haben.
Speziell für die Anwendungsmodernisierung ergeben sich die folgenden Vorteile:
Doch trotz all dieser Vorteile ist der Weg zur Anwendungsmodernisierung nicht immer einfach. Er kann sich oft in mehrere Richtungen aufspalten, und viele Unternehmen wissen nicht, welchen Weg sie einschlagen sollen. Aber keine Angst - wir zeigen Ihnen den Weg und verraten Ihnen die Wahrheit über zwei Wege, die sich häufig kreuzen und von denen viele Unternehmen nicht wissen, welchen sie einschlagen sollen: DIY und Managed Kubernetes oder die All-in-One PaaS.
Bevor wir uns mit der besten Wahl für die Anwendungsmodernisierung von heute beschäftigen, müssen wir uns ansehen, wie alles angefangen hat. Unabhängig davon, ob Sie sich für die Entwicklung einer eigenen Plattform oder für ein PaaS entscheiden, beruhen beide auf denselben fünf Grundprinzipien moderner Entwicklungspraktiken, die den Weg zur Modernisierung von Anwendungen weisen.
Diese Grundsätze bilden eine kohärente Reihe von Best Practices, die Sie befolgen sollten:
Nachdem nun die Grundlagen geklärt sind, ist es an der Zeit, sich damit zu befassen, was es wirklich bedeutet, ein Anwendungsmodernisierungsprojekt mit all seinen verschiedenen Phasen und Herausforderungen zu leiten. Erlauben Sie uns, die Verwirrung rund um die Anwendungsmodernisierung zu beseitigen, bevor wir uns mit den beiden bereits erwähnten Wegen beschäftigen.
Indem wir die Methodik hinter der Anwendungsmodernisierung beleuchten, hoffen wir, dass Sie in der Lage sind, zu erkennen, welche Schritte ein potenzielles Risiko für Ihr Team oder Projekt darstellen. So können Sie abschätzen, welcher der beiden Wege (DIY oder PaaS) für Sie der geeignetste ist, wenn Sie das Gesamtbild kennen:
Haben Sie sie alle? Prima! Sie haben alles, was Sie brauchen, um die richtige Entscheidung zu treffen. Jetzt ist es an der Zeit, sich mit unseren beiden Möglichkeiten - DIY oder PaaS - zu befassen und mit ersterer zu beginnen.
Sind Sie bereit, Ihre eigene Implementierung zu entwerfen, zu erstellen und zu betreiben? Erstaunlich - Sie sind höchstwahrscheinlich ein Heimwerker! Und wie jedes DIY-YouTube-Video beginnt es mit der Einrichtung Ihrer eigenen Werkstatt oder, wie wir es im Cloud-Ökosystem nennen, der Landing Zone. Sie können sie auch als das Fundament Ihres Projekts und damit als unvermeidliche Kosten betrachten.
Die Landing Zone besteht aus verschiedenen Säulen und Modulen, die sich mit der Zeit weiterentwickeln. Sie kann zwar variieren, je nachdem, ob die Anwendung für PoC-Initiativen oder für globale Unternehmens-Workloads gedacht ist, aber es gibt ein paar Schlüsselelemente, die für eine Produktionsumgebung erforderlich sind. Diese sind:
Klingt nach viel, oder? In Wirklichkeit ist eine spezialisierte Agentur in der Lage, eine standardisierte und produktionsreife Einrichtung in etwa 25 Arbeitstagen zu liefern. Darin ist die zusätzliche Zeit für Schulung und Dokumentation nicht enthalten, die bei jedem Projekt zu erwarten ist.
Nehmen wir nun an, Ihr Ziel ist es, Kubernetes einzusetzen, auch wenn es auf Managed Services wie Google Kubernetes Engine oder Azure Kubernetes Service beruht. Leider funktionieren bestimmte Funktionen nicht auf magische Weise. Autopilot oder Auto-Scaling funktionieren zum Beispiel sehr gut... wenn Sie die richtige Konfiguration haben, versteht sich.
Um eine Kubernetes-basierte Anwendung bereitzustellen, müssen in der bereits erwähnten anfänglichen Landing Zone einige Module angepasst werden, darunter Netzwerk, Sicherheit, Beobachtbarkeit, gemeinsame Dienste und Automatisierung. Außerdem wird ein neues Schlüsselmodul erstellt: die Kubernetes-Architektur.
Gut, aber was bedeutet das genau? Nun, Sie müssen Dinge wie die Isolationsstrategie, die Hochverfügbarkeit, die Node-Pools-Einstellungen, die Label-Einstellungen, die Workloads-Klassifizierungen, die LimitRange- und Quota-Einstellungen, die etcd-Verschlüsselungskonfiguration, die Pod-Sicherheitsrichtlinien und den Sicherheitskontext berücksichtigen, und die Liste geht weiter.
Eine Liste, für deren Abarbeitung etwa 15 zusätzliche Arbeitstage benötigt werden, was insgesamt 40 Arbeitstage für die Einrichtung einer Landing Zone bedeutet, wenn man die 25 Tage von vorhin hinzurechnet. Eine minimale Anfangsinvestition, die immer in Betracht gezogen werden sollte, bevor man sich auf eine DIY-Strategie einlässt - insbesondere auf lange Sicht. Und vergessen Sie nicht, dass es sich um DIY handelt, was bedeutet, dass Sie jedes Mal, wenn ein neuer Anwendungsfall auftaucht, wieder selbst Hand anlegen und das, was Sie bereits geschaffen haben, auf absehbare Zeit pflegen müssen.
Wenn es um DIY und Managed Kubernetes geht, ist es wichtig, den Zweck dessen zu berücksichtigen, was man zu bauen versucht. Nicht alle Entwickler nehmen ihre Aufgabe wahr, maßgeschneiderte Plattformen zu entwickeln, und selbst große Unternehmen sind daran gescheitert. Aber genau dafür wurden Platform-as-a-Service (PaaS)-Lösungen geschaffen.
An dieser Stelle des Artikels haben Sie sich wahrscheinlich gedacht: "Ja, das mit dem Heimwerken stimmt, aber..." oder "Hmm, aber was wäre, wenn...", und wir hoffen, dass Sie genau das getan haben! Das bedeutet, dass Sie, wie die meisten anderen Menschen auch, die ganze Karte sehen wollen, bevor Sie einen neuen Weg für Ihr nächstes Projekt einschlagen. Sie wollen sicherstellen, dass ein PaaS flexibel genug ist, um Ihre Projekt- und Entwicklungsanforderungen zu erfüllen, und Antworten auf Fragen erhalten wie:
Wir verstehen, dass die Menschen die Gewissheit brauchen, dass ein neuer Weg zu etwas Besserem führen wird. Und in vielen Fällen fällt es uns allen schwer, einige Verantwortlichkeiten in unseren Projekten loszulassen. Aber wenn Sie diese Bedenken überwinden können, dann können Sie sich in der Welt von PaaS willkommen heißen und einen einfacheren Weg zur Entwicklung einschlagen.
Das Konzept von PaaS ist ziemlich attraktiv: Sie konzentrieren sich auf die Bereitstellung des Codes, während der Anbieter alles andere verwaltet. Klingt gut, oder? Sie brauchen keine Landingzone oder etwas anderes zu entwickeln. Und das Ganze funktioniert auf deklarative Weise: Sie teilen dem Anbieter einfach mit, was Sie wollen (in der Regel in einer YAML-Konfigurationsdatei), stellen es erneut bereit, und es gehört Ihnen. Dabei haben Sie die Freiheit, Ihre Anwendung ein wenig anzupassen oder externe Tools zu verwenden, um sie bei Bedarf zu unterstützen.
PaaS ist wirklich eine narrensichere Methode zur Standardisierung Ihrer Infrastruktur, aber es ist kein Geheimnis, dass Standardisierung ihren Preis hat. Höhere Kosten, die sich für uns in größeren Vorteilen niederschlagen.
Bei der Suche nach dem besten PaaS sollten Sie auf Attribute achten wie: die Abhängigkeit der Plattform von den zugrunde liegenden IaaS-Anbietern und die verfügbare Lokalisierung, die Bring-your-own-Tool-Politik (wie ein CDN) und die Palette der unterstützten Laufzeiten. Sie sollten auch einen Blick auf die Geschichte des Plattformanbieters werfen, da sie viel über die Philosophie und den Zweck der von ihm angebotenen Lösung verraten kann. Es besteht ein großer Unterschied zwischen einem Ingenieur, der ein Produkt entwickelt hat, um seine früheren Probleme zu lösen, und einem Unternehmer, der eine Marktchance nutzen wollte. Es gibt jedoch eine Vielzahl von PaaS-Anbietern, die Ihnen alles bieten können.
Stellen Sie sich vor, Sie haben beschlossen, dass es an der Zeit ist, Ihre Anwendung zu modernisieren, Sie haben bereits die zuvor besprochenen Best Practices übernommen und eine Methodik entwickelt, um dies umzusetzen. Das bedeutet, dass nur noch eine Frage offen ist: Entscheide ich mich für Solo oder PaaS?
Das können nur Sie selbst entscheiden, aber wenn Sie unsere Meinung dazu hören wollen - PaaS könnte genau der richtige Weg sein. Testen Sie noch heute mit unserer kostenlosen Testversion, ob wir Sie auf den richtigen Weg zu PaaS geführt haben!