Sie haben Ihre Recherchen gemacht, und wie wir alle wissen und Sie jetzt auch, ist DevOps ein großartiges System - besonders in Verbindung mit einer Produktionsmethodologie wie Agile. Viele würden sogar sagen, dass es eine perfekte Kombination ist, die eine Vielzahl von Vorteilen bietet, darunter schnellere, zuverlässigere Veröffentlichungen und insgesamt verbesserte Effizienz. Ok ok, wir müssen Ihnen das nicht schmackhaft machen, richtig? Dennoch, trotz all der guten Dinge, die Sie zu Recht erwarten, stehen wir jetzt vor einer sehr wichtigen Frage: Wie fangen wir an?
DIY vs. Out-of-the-box
Auf der Suche nach einem Startpunkt zeigt ein schneller Scan der verfügbaren Technologien und Dienste, dass es zwei Hauptarten von Lösungen gibt:
- Sofort einsatzbereit ( Out-of-the-box)
- Eigenbau (DIY)
Obwohl es sehr verlockend ist, sich für die schnelle Option mit einem sofort einsatzbereiten Paket zu entscheiden, werden Sie auch schnell Grenzen in Bezug auf Optionen und Anpassungsmöglichkeiten feststellen. Auf der anderen Seite können Eigenbau-Lösungen das andere Extrem sein und einschüchternd wirken - eben wegen all der Optionen und Aufgaben, die mit dem Besitz und der Pflege einer auf Ihre speziellen Bedürfnisse und Prozesse zugeschnittenen Pipeline einhergehen.
AWS DevOps-Werkzeuge
Die von Amazon Web Services (AWS) bereitgestellten DevOps-Werkzeuge fallen eindeutig in den Bereich des Eigenbaus, und obwohl sie volle Kontrolle über Ihre Pipeline bieten können, kann der Einstieg für Unternehmen, die neu im Bereich DevOps sind oder über ein kleineres Team verfügen, auch eine Herausforderung darstellen.
In dem Bestreben, den Prozess so reibungslos wie möglich zu gestalten, unterstützt Amazon Web Services DevOps, indem es Tools bereitstellt, um Anwendungen zu erstellen, zu speichern und einzusetzen. Unabhängig davon, ob Sie bereits AWS verwenden oder nicht, können Sie eine DevOps-Pipeline erstellen und integrieren und individuell Schritte in Ihrem Softwarefreigabeprozess automatisieren.
Die Wahl dieser Art von Lösung bedeutet zwangsläufig, dass der Start Ihrer DevOps-Pipeline mehr Zeit und Experimente erfordert, bevor Sie startfähig sind. Deswegen könnten Sie versucht sein, eine vorgefertigte Pipeline zu verwenden, die Sie sofort einsetzen können, aber vielleicht zögern Sie auch, aus Angst, dass das Eigentum, die Wartung und die Anpassung der Pipeline nicht in Ihren Händen liegen.
Nachdem Sie eine Weile DevOps verwendet haben, ist es wahrscheinlich, dass Sie von den Vorteilen, die Sie durch Ihre Pipeline erhalten haben, verwöhnt worden sind. Sie möchten jetzt eventuell die Flexibilität haben, Ihr System weiter zu optimieren, zu automatisieren und zu entwickeln, was eine vorgefertigte Lösung nicht bieten kann. Also, für welche Lösung sollten Sie sich entscheiden - und auf welche Vorteile sind Sie bereit zu verzichten?
Die Wahrheit ist - Sie sollten keine Kompromisse eingehen müssen - und Sie müssen es auch nicht.
Verwenden Sie unser CI/CD-CloudFormation-Template.
Das Erste, was Sie tun können, ist unser CI/CD-CloudFormation-Template zu verwenden, um mit den AWS DevOps-Werkzeugen zu beginnen und schnell eine einsatzbereite Pipeline zu haben. Wir haben die Vorarbeit geleistet, darüber nachgedacht, ein Template erstellt und es in vielen Projekten getestet.
Das Template bietet eine anpassbare Einrichtung, die die Lösung einer sofort einsatzbereiten Option näher bringt, während gleichzeitig alle Anpassungsmöglichkeiten und Kontrolle einer Eigenbau-Option beibehalten werden.
Unabhängig werden.
Es gibt zweifellos viele verschiedene und gute Ansätze, um Ihre DevOps-Pipeline zu entwerfen. Unsere Erfahrung zeigt jedoch, dass eine der besten Methoden darin besteht, für jede neue Feature-Branch dynamisch neue Pipelines zu erstellen. Auf diese Weise werden die Pipelines mithilfe von CloudFormation strukturiert und für jedes Feature bereitgestellt.
Das Hauptargument dafür ist die Unabhängigkeit zwischen Entwicklern und Funktionen, wodurch jede neu entwickelte Funktion unabhängig durch die Schritte der Pipeline bewegt wird und in die Produktion gelangt.
DevOps-Pipeline-Sequenz
Hier sehen Sie, wie unsere Pipeline aussieht. Lassen Sie uns diese aufschlüsseln und die Sequenz erklären, die sie durchläuft.
Schritt 1: Lieferbare User Storys
Der Entwicklungsprozess beginnt damit, das Backlog in lieferbare User Storys aufzuzweigen. Die Entwickler verzweigen dann vom Hauptbranch aus die einzelnen User Storys.
Schritt 2: Pull-Request
Wenn es an der Zeit ist, erstellen die Entwickler einen Pull-request, die von einem CloudWatch-Ereignis abgefangen wird und eine Lambda-Funktion auslöst, die mithilfe eines CloudFormation-Templates eine CodePipeline erstellt. Die Pipeline startet automatisch das Testen und Erstellen der Anwendung und benachrichtigt die Entwickler, wenn es abgeschlossen oder fehlgeschlagen ist.
Schritt 3: Codeüberprüfung
Als Nächstes haben wir in der Pipeline einen manuellen Genehmigungsschritt, der als Codeüberprüfung bezeichnet wird. Als genehmigt gilt, wenn der Status des Pull-Requests genehmigt ist. Dann, basierend auf dem im Schritt 1 erstellten Build durch das Serverless-Framework, wird eine einzigartige Entwicklungsumgebung für die Anwendung erstellt, die der Produktionsumgebung identisch ist.
Schritt 4: QA und Testen
QA wird dann über SNS benachrichtigt, dass eine neue User Story bereit zum Test ist, zusammen mit der Review-URL und einem Link zum manuellen Genehmigungsschritt in der CodePipeline. Wenn QA die User Story ablehnt, entwirft der Entwickler eine neue Änderung im selben Zweig, und die Pipeline startet von vorne. Wenn sie genehmigt wird, löst dies eine Lambda-Funktion aus, die den Zweig in den Hauptzweig fusioniert und die Ressourcen, die von der Pipeline bereitgestellt wurden, zusammen mit den CodePipeline-Stack-Ressourcen löscht.
Schritt 5: Bereitstellung
Die Produktionspipeline wird ausgelöst, wenn es eine neue Änderung im Hauptzweig gibt. Sie besteht aus einer "Test- und Build"-Phase und einer "Bereitstellungs"-Phase. Entwickler und QA werden über SNS benachrichtigt, wenn es eine neue Bereitstellung gibt oder wenn etwas auf der Produktionspipeline schiefgeht.
Und das ist alles!
Beginnen Sie um zu beginnen!
Jetzt, da wir aufgezeigt haben, warum dies eine der besten Optionen für Ihr Unternehmen ist und wie Sie das Beste aus beiden Welten erhalten können, ist es Zeit, zu starten. Kontaktieren Sie uns, um Ihre Pipeline einzurichten und Ihre DevOps-Reise zu starten.