/ Effiziente Software-Bereitstellung
14 Sep 2024
Stell dir vor, Software-Updates könnten in weniger als fünf Minuten bereitgestellt werden – mit minimalem Aufwand und maximaler Zuverlässigkeit. Genau das haben wir erreicht, und wir möchten unsere Reise zu einer effizienteren Software-Bereitstellung mit dir teilen.
Unsere Firmenwebsite faktly.ch ist ein zentraler Bestandteil unseres Unternehmensauftritts. Doch jedes Mal, wenn wir Änderungen vornehmen oder neue Funktionen hinzufügen wollen, stehen wir vor demselben Problem. Ein manuelles Deployment auf einem eigens dafür eingerichteten Server. Dieser Prozess war zeitaufwändig und fehleranfällig, dauerte zwischen 10 und 30 Minuten und band wertvolle Ressourcen, die wir besser hätten nutzen können.
Wir erkannten, dass dieser Ansatz nicht nachhaltig war. In einer Zeit, in der Geschwindigkeit und Effizienz entscheidend sind, konnten wir es uns nicht leisten, so viel Zeit mit repetitiven Aufgaben zu verbringen. Also beschlossen wir, unseren Deployment-Prozess grundlegend zu überdenken.
Unser Ziel war klar. Wir wollten einen automatisierten, zuverlässigen und skalierbaren Deployment-Prozess etablieren. Dazu begannen wir, uns mit modernen Technologien und Methoden zu beschäftigen, die in der Softwareentwicklung und -bereitstellung als Best Practices gelten.
1. Aufbau eines Kubernetes-Clusters mit Terraform (Infrastructure as Code)
2. Konfigurationsmanagement mit Ansible und Installation von Helm Charts
3. Einrichtung eines Deployment-Repositories mit Helm Charts
4. Automatisiertes Deployment mit ArgoCD
5. Integration von GitLab CI/CD
Durch diese Automatisierung haben wir unseren Deployment-Aufwand von 10 bis 30 Minuten auf weniger als 5 Minute reduziert.
Dazu führen wir lediglich folgende Befehle aus:
git last-tag
NEW_VERSION=1.1.1
git switch develop
git flow release start $NEW_VERSION
git push
git flow release finish $NEW_VERSION
git switch develop
git push --tags
Selbstverständlich findet zwischen Release start und finish die Entwicklung statt
Unsere Erfahrung zeigt, wie entscheidend Automatisierung und die richtigen Tools für die moderne Softwareentwicklung sind. Durch die Optimierung unseres Deployment-Prozesses können wir schneller auf Marktanforderungen reagieren, die Qualität unserer Software erhöhen und unsere Ressourcen effizienter nutzen.
Wenn du ähnliche Herausforderungen hast, könnten diese Schritte auch für dich hilfreich sein:
Möchtest du deine Software-Bereitstellung ebenfalls optimieren und von unseren Erfahrungen profitieren? Kontaktiere uns für eine unverbindliche Beratung. Gemeinsam können wir maßgeschneiderte Lösungen entwickeln, die deinen spezifischen Anforderungen entsprechen.
Die Reise zur effizienten Software-Bereitstellung hat uns gezeigt, wie viel Potenzial in der Automatisierung steckt. Indem wir unseren Prozess revolutioniert haben, können wir uns jetzt auf das konzentrieren, was wirklich zählt:
Innovative Lösungen für unsere Kunden zu entwickeln
Mit gezielter Unterstützung löst du das Deployment-Problem und gibst deinem Team den Fokus zurück, um wirklich voranzukommen
Wie wir unseren Deployment-Prozess automatisiert und somit revolutioniert haben