CI/CD and beyond

Das CI/CD Team von Puzzle unterstützt Kundinnen und Kunden beim Vorhaben, ihren Entwicklungs-Workflow in der Container-Welt zu optimieren. Dabei geht das Team „beyond“ CI/CD, indem es über den Deployment-Prozess hinaus unterstützt und dabei hilft, Cloud-Native-Technologien voll auszuschöpfen.

Was wir uns wünschen …

Können wir unser Wunschszenario in der Welt der CI/CD ausmalen, finden wir uns wohl alle in einer Welt voller Continuous Optimization wieder. In einer Welt, in der Best Practices ohne grosse Mühe implementiert werden können und Autoscaling der De-Facto-Standard ist. Wo Deployments mit dem GitOps Ansatz und Technologien wie ArgoCD vollumfänglich automatisiert sind. Alles in allem stellen wir uns eine Welt vor, in der das Entwickeln Freude bereitet, DevOps gelebt wird und keine Zeit für manuelle Deployments verloren geht.

… und wie die Realität oft aussieht.

Unsere Erfahrung aus unzähligen Projekten zeigt, dass die Realität oft von unserem Wunschszenario abweicht. Die Gründe hierfür sind vielfältig und können Kunden immer mal wieder zur Weissglut treiben. Vom Entwicklungsprozess abweichende Pipelines oder aufwändige manuelle Deployments können einige davon sein. Eine zusätzliche Herausforderung stellen die vielen neuen Technologien dar. Meist fehlt den Teams die nötige Zeit und das nötige Know-how, um diese optimal einsetzen zu können. Kennst du diese Probleme und wünschst dir eine moderne und zuverlässige Delivery Pipeline? Folglich zeigen wir dir sieben Schritte, die wir gemeinsam gehen können, um dies zu erreichen.

In 7 Schritten nach DevOps

In den folgenden sieben Schritten werden wir gemeinsam den Weg in eine moderne CI/CD Umgebung beschreiten. Wir sind überzeugt, mit diesen Punkten eine optimale technische Grundlage für DevOps zu schaffen.

Continuous Integration
#Jenkins #GitLabCICD #GitHubActions #JenkinsX #Tekton

Erfolgreiches CI bedeutet, dass Änderungen an einer Applikation gebaut, getestet und in einem gemeinsamen Repository zusammengeführt werden.

Unser Hauptziel ist es, den Entwicklungs-Workflow in eine automatisierte Pipeline zu überführen. Durch schnelles Feedback und zusätzlichen Checks erhöhen wir die Qualität der Applikation.

„Jenkins: alt aber oho. Zentrale Übersicht zu der Pipeline mit allen Details.“ Christoph Raaflaub

„Je früher ein Fehler entdeckt wird, desto einfacher und günstiger ist die Behebung. CI bedeutet in Wirklichkeit Continuous Improvement.“ Christian Schlatter

„Jedes CI Tool ist ein zentraler Bestandteil eines Build Ökosystems und sollte entsprechend Liebe erhalten.“ Christian Bär

Containerisierung | Modernisierung
#Buildah #Docker #Podman #TwelveFactorApp #CloudNative

Damit eine Applikation fit für die Container-Plattform ist, muss sie oftmals migriert und modernisiert werden.

Durch die Containerisierung deiner Applikationen machen wir den ersten Schritt in Richtung reproduzierbaren und plattformunabhängigen Deployments. Mit unserer Beratung transformieren wir gemeinsam die Architektur deiner Applikation zu Cloud Native.

„Man kann eine monolithische Anwendung containerisieren, aber damit ist nichts erreicht.“ Christian Bär

„Muss dieses Image wirklich 2GB schwer sein?“ Yannik Dällenbach

Continuous Delivery
#Helm #Kustomize #SemVer

Continuous Delivery bedeutet das automatisierte Paketieren sowie Ausliefern von Applikationen, Konfigurationen und Manifeste für’s Deployment.

Damit du ein erfolgreiches Continuous Delivery erreichen kannst, unterstützen wir dich beim Release Management, Versioning, Tagging und dem Erstellen der Deployment Manifeste.

„Aus jedem Commit wird eine prod-ready Applikation mit hoher Qualität realisiert, welche den fachlichen, technischen und Security Anforderungen gerecht wird.“ Christoph Raaflaub

Continuous Deployment
#ArgoCD #FluxCH #GitOps #CNCF

Applikationsänderungen werden vollautomatisiert in produktive Umgebungen deployed.

Der von uns verwendete GitOps Ansatz ermöglicht dir ein vollautomatisiertes und nachvollziehbares Deployment deiner Applikation.

„Eines der mächtigsten Werkzeuge, die wir besitzen, ist die Automation.“ Christian Schlatter

„Je hüffiger me deployed, desto ringer geits!“ Carl Balmer

Orchestrierung
#Kubernetes #OpenShift #Rancher

Unter Orchestrierung wird der Lifecycle einer Applikation auf einer Container-Plattform verstanden. So werden Updates eingespielt, die Container skaliert und der Ressourcenverbrauch optimiert.

Wir unterstützen dich beim Betreiben von hochverfügbaren Applikationen. Das erreichen wir durch den Einsatz von Features wie rolling Deployments und Autoscaling.

„Ein gutes Kubernetes-Deployment ist wie Magie.“ Philip Stark

„Skalieren und Schedulen von Applikationen war noch nie einfacher als heute.“ Sylvain Gilgen

„Weniger Downtime – glücklichere User.“ Yannik Dällenbach

Observability
#Prometheus #Loki #Grafana #Jaeger #OpenTracing #ELK

Mit Observability und Monitoring werden Applikationen kontinuierlich überwacht. Probleme werden rasch erkannt und alle benötigen Daten für die Behebung sind verfügbar.

Nach dem Deployment kümmern wir uns um das kontinuierliches Überwachen deiner Applikationen. Diese Überwachung beschränkt sich nicht nur auf die Performance der Applikation. Zusammen definieren wir wichtige Metriken deiner Applikation, welche zusätzlich gesammelt und somit auswertbar gemacht werden. Mit dem Einsatz von Observability ermöglichen wir dir, bessere Visibility und somit einfacheres Debugging sowie Troubleshooting der Applikation. Diese Punkte führen dazu, dass du weniger Ausfälle und Downtime deiner Applikationen hast und deine Plattform besser ausgelastet wird (Kostenersparnisse).

„Blindflug war gestern.“ Christoph Raaflaub

„Lieber ein nerviger Alert im Mail als ein verärgerter Kunde am Telefon.“ Philip Stark

Security
#Clair #OWASP #Trivy #SAST #DAST #WAF #DevSecOps

Mit der Security werden Sicherheitsaspekte über die ganze Delivery Pipeline hinweg berücksichtigt.

Bei uns geht die Security weit über das Erkennen und aktive Abwehren von Angriffen hinaus. Innerhalb der Delivery Pipeline gibt es bereits verschiedene Sicherheitsaspekte zu beachten. Wir halten die Applikations-Dependencies aktuell und beheben so die Sicherheitslücken schneller.

„IT-Security sollte so selbstverständlich sein wie das Benutzen einer Klospülung.“ Christian Schlatter

„Wenn Security automatisiert ist, wird die Pflicht zur Kür.“ Sylvain Gilgen

Wie wir vorgehen

Meet Puzzle

Du willst uns sicher zuerst mal kennenlernen – und umgekehrt. Wir freuen uns, mit euch Vorstellungen zur Zusammenarbeit und zum Projekt abzugleichen.

Harmony check

Das Herzstück des Projekt sind die Engineers. Haben sie ähnliche Vorstellungen und wollen kollaborieren, ist der wichtigste Grundstein gelegt.

Workshop

Gemeinsam definieren wir das Zielbild, priorisieren Tasks und besprechen den Prozess. Idealerweise wird der Workshop mit allen involvierten Personen durchgeführt.

Implementation

Die Umsetzung werden wir entweder gemeinsam angehen oder wir arbeiten selbständig. Zur Umsetzung dazu gehört auch eine entsprechende Dokumentation sowie eine offene Kommunikation.

Results

Gemeinsam gehen wir durch die Ergebnisse und überprüfen, ob alles wunschgemäss und nach Best Practices umgesetzt wurden. Deine Zufriedenheit liegt uns am Herzen.

See you again

Gemeinsam wollen wir auf das erfolgreich abgeschlossene Projekte anstossen und bereits über die nächsten Pläne plaudern. Ganz im Sinne von Continuous Optimization.

Kunden, die wir bereits glücklich machen durften…

tbfpartner lukb postfinance lgt quickline interdiscount ige baloise ejpd swisssign swisscom finova helvetia centris

                      Hier geht’s zur Referenz!

Blogbeiträge rund um das Thema CI/CD

Schulungen und Techlabs

Offene Stellen in unserem Team