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…
















Blogbeiträge rund um das Thema CI/CD
- GitOps mit ArgoCD – Teil 1/3
- ArgoCD Security – Teil 2/3
- Environment Propagation – Teil 3/3
- Migration einer dockerisierten Anwendung nach OpenShift – Teil 1/3
- Ausrollen einer dockerisierten Anwendung auf OpenShift – Teil 2/3
- CI/CD Pipeline & Integrationstests auf OpenShift – Teil 3/3
- Die Reise von Legacy nach Container
- Applikationen modernisieren und migrieren
- /mid Week: Team „ArgoCD“
- Tekton
Schulungen und Techlabs
- APPUiO OpenShift Techlab
- APPUiO Application Migration and Modernization Techlab
- Discovery Workshop
- Acend Schulungen
Offene Stellen in unserem Team