Unsere Entwicklungsplattform - so funktioniert Continuous Deployment

Continuous Deployment - Unsere Mission ist, neuen Code vollautomatisiert in eine produktions-ähnliche Umgebung in möglichst kurzer Zeit zu deployen.

So läufts bei uns @Objectbay

Seit 2007 entwickeln wir unsere Continuous Deployment Infrastruktur ständig weiter. Zugegeben, mit unserer ersten Version hat der heutige Stand nicht mehr viel zu tun, da sich über die Jahre hinweg sämtliche Werkzeuge und Strategien verändert haben. Aber eines ist immer gleich geblieben, nämlich die Vision, neuen Code vollautomatisiert in eine produktions-ähnliche Umgebung zu deployen, und das in möglichst kurzer Zeit.

Continuous Devlopment, die Objectbay Entwicklungsplattform

Wir automatisieren, was automatisiert werden kann

Unser letzter manueller Schritt, um eine neue Softwareversion in eine produktions-ähnliche Testumgebung zu bekommen, ist das sogenannte „einchecken“ - also die Bereitstellung von neu geschriebenem oder geändertem Code in ein Repository. 

Alles andere automatisieren wir. Warum? Weil es ohnehin immer das Gleiche ist! Obendrein wäre das manuelle Erstellen einer lieferbaren Version anfällig für menschliche Fehler und sehr zeitaufwändig. Dies würde dazu führen, dass das Deployen von neuer Software eher selten gemacht wird. Was wiederum dazu führen würde, dass so viel neue Software dazugekommen ist, dass die Integration sehr aufwendig wird. Was wiederum dazu führen würde, dass wir es eher selten machen würden. Ein Teufelskreis, in den wir niemals hineingeraten wollen.

Daher automatisieren wir alle nötigen Schritte, um aus hinzugefügtem Code eine neue Lieferung zu erstellen. Dazu gehören unter anderen:

  • Kompilieren, verlinken, verpacken in ein ausführbares Archiv, gegebenenfalls als Betriebssystem-Image bzw. Docker-Image
  • Deployment in ein Artefakt Repository
  • Ausführen aller automatisierten funktionalen Tests auf allen Ebenen (Unit Tests, Integration Tests, User Acceptance Tests)
  • Ausführen aller nicht-funktionalen Tests, wie z.B. Lasttests oder Performancetests
  • Durchführen von statischen Code Analysen zur Qualitätskontrolle 

Die hierfür eingesetzten Werkzeuge sehen (z.B.: Docker, Kubernetes) Sie in der Abbildung.

Entwicklung live verfolgen

Unser vollautomatisches Deployment erreicht eine Umgebung, die wir als „User Acceptance Testing“ bezeichnen, kurz UAT. Unsere Kunden erhalten hierauf einen Remote-Zugriff und können somit bereits während des Sprints den Entwicklungsstand live verfolgen. Dies ist besonders wertvoll für die Product Owner Rolle. Denn somit kann man bereits während des Sprints Feedback geben und gegebenenfalls kleine Änderungen vornehmen lassen, bevor wir das Sprint Ergebnis im Sprint Review Meeting auf der „Customer Acceptance Testing“ (CAT) Umgebung demonstrieren. Diese Umgebung wird in der Regel manuell erstellt, da auf ihr das finale Sprintergebnis installiert ist. Diese stets stabile Umgebung ist Repräsentant für das Produktivsystem - wenn das Inkrement also auch am Produktivsystem installiert werden soll, wird genau der Stand der CAT Umgebung dorthin deployed. 

Noch mehr Transparenz über unser Cockpit

Unsere Kunden erhalten neben dem Zugriff auf die CAT und UAT Umgebung auch die Möglichkeit, in unserem Projekt Cockpit ihr eigenes Dashboard zu konfigurieren und können dabei aus einer ganzen Reihe von Kennzahlen auswählen. So sehen Sie nicht nur den aktuellen Stand der Software, sondern auch Kennzahlen über die innere Qualität der Software und über den Fortschritt. 

Das Objectbay Cockpit sorgt für Transparenz.

„Working Software over Comprehensive Documentation“...

… wird bei uns großgeschrieben. Dennoch wissen wir, dass Dokumentation etwas sehr Wichtiges ist. Deshalb haben wir eine Vorlage entwickelt, mit der man unserer Meinung nach ein nach Scrum entwickeltes Projekt bestmöglich dokumentieren kann. Selbstverständlich erhalten unsere Kunden jederzeit einen live Abzug dieser Dokumentation bzw. die gesamte Dokumentation zum Ende des Projekts. Typischerweise verwenden wir hierfür das Wiki von Atlassian namens „Confluence“.

Zusätzlich dokumentieren wir das Product Backlog in der Regel mit Hilfe von Atlassian Jira. Gerne gewähren wir unseren Kunden auf Wunsch auch externen Zugriff auf unsere eigene Jira Installation, um Ihnen Lizenzkosten zu ersparen.

Wir bei Objectbay sind der Pionier in der agilen Enterprise Softwareentwicklung im deutschsprachigen Raum mit umfassenden Kompetenzen im Java, JavaScript, Python und Ruby on Rails Technologie-Stack.

Unsere Prinzipien: Agile, Lean, DevOps. 

Wir übernehmen ganze Produkte oder Teile der Softwareentwicklungs- bzw. Digitalisierungsvorhaben unserer Kunden und realisieren end-to-end mittels dedizierter und eingespielter, agiler Softwareentwicklungsteams.

Sie wollen mehr darüber erfahren, was wir für Sie tun können?

Hier geht's zum Whitepaper „So läufts @Objectbay.“

Jetzt herunterladen

Newsletter

Weitere interessante Artikel

Kontakt

Sie möchten sich unverbindlich über Ihr Softwareentwicklungs-Vorhaben austauschen? Erzählen Sie uns ein bisschen mehr!

Hannes Wambach,
VP Growth & Business
Development