Feature-basierte Deployments und Umgebungen
Design und Entwicklung einer automatisierten Continuous Integration Infrastruktur, die parallele Feature-Deployments ermöglicht.
Die von uns designte und entwickelte Infrastruktur bietet unserem Kunden einen beschleunigten Entwicklungs- und Testzyklus, sowie die Gewissheit, dass Qualitätsstandards eingehalten werden. Gleichzeitig bietet sie den Entwicklern eine gute Developer Experience durch Standardisierung und Automatisierung von Qualitäts- und Deployment-Abläufen. Neben dem Erstellen der Infrastruktur konnten wir noch beim Konfigurieren der GitHub Repositories helfen, vor allem mit Blick auf Berechtigungen der einzelnen Nutzer.
Das Projekt war geprägt durch gute Zusammenarbeit, Kommunikation, Vertrauen und gegenseitigem Wissensaustausch. Durch unsere Expertise im Bereich AWS Cloud, GitHub und Automatisierung konnte das Projekt schnell voran getrieben werden.
Fähigkeiten der Infrastruktur
Die Infrastruktur ermöglicht es parallel verschiedene Entwicklungsstände mehrerer, zusammengehöhrender Anwendungen in der Cloud zu deployen. Die Infrastruktur ist für die Entwickler der Anwendung einfach zu bedienen und vermeidet Konflikte und Interferenz zwischen den Deployments einzelner Entwicklungsstände. Gleichzeitig bildet sie Abhängigkeiten zwischen den Anwendungen ab und reagiert dynamisch auf deployte Entwicklungsstände dieser Abhängigkeiten.
Zusätzlich erzwingt die Infrastruktur das Einhalten von vereinbarten Qualitätsstandards und Code Reviews. Ein Teil dieser Qualitätsstandards wurden von uns vorgeschlagen und vom Kunden übernommen. Gleichzeitig hatten wir durch das Projekt die Möglichkeit uns mit weiteren Werkzeugen zur Qualitäts- und Sicherheitsprüfung von Anwendung auseinander zu setzen.
Technische Details
Die Infrastruktur basiert vorranging auf GitHub Enterprise Server als ausführende Instanz. Hier werden GitHub Workflows mit bash Skripten genutzt. Deployt wird in einen Elastic Kubernetes Service in der Amazon Web Services Cloud und in weitere Applicances in AWS, wie DynamoDB. Für die Sicherstellung der Qualität und Sicherheit kommen SonarQube, Black Duck, sowie sprachspezifische Lint-Tools zum Einsatz.
Verschiedene Vorgänge der Infrastruktur werden durch Ereignisse im git Repository der jeweiligen Anwendung ausgelöst. Die Infrastruktur löst die Qualitätstests bei jedem git Commit auf allen Branches aus. Hingegen werden Feature Deployments nur durch Erstellen und Aktualisieren von Pull Requests ausgelöst. Diese Feature Deployments werden automatisch entfernt, sobald der Pull Request gemerged ist. Bei den Feature-Deployments nutzt die Infrastruktur die GitHub-API, um in den Abhängigkeiten (andere Anwendungen) einer Anwendung nach einem gleichnamigen Feature-Branch zu suchen. Ist ein solcher vorhanden, wird das Feature-Deployment Artefakt so konfiguriert, dass es das Feature-Deployment seiner Abhängigkeit nutzt, anstatt das Deployment der Test-Umgebung. Wenn Feature-Pull Requests gemerged werden, wird automatisch die Versionsnummer der Anwendung erhöht, ein Test-Umgebungs-Artefakt gebaut und deployt. Als Letztes hat die Infrastruktur ein zentrales Manifest, mit dem sich Versionen der einzelnen Anwendungen für Integration-Deployment auswählen lassen. Sobald ein Pull Request mit einer Änderung dieser Datei gemerged wird, werden die ausgewählten Versionen der Anwendungen in die Integration-Environment deployt.
Über die Senacor Technologies AG
Die Senacor Technologies AG ist ein Beratungsunternehmen für Business- und IT-Transformation, Digitalisierung und individuelle Softwareentwicklung im deutschsprachigen Raum. Senacor ist spezialisiert auf Branchen mit höchsten Anforderungen an IT-Systeme. Banking, Versicherungen, Automotive, Logistik und Energie.
blecon unterstütze uns bei der Umsetzung einer Vetriebsanwendung für einen deutschen Automobilhersteller. Insbesondere in den Bereichen Build-Automatisierung, Continuous Integration und Quality Assurance konnten wir sehr gut von den Erfahrungen der eingesetzen Mitarbeiter profitieren und so schnell und gezielt wichtige Grundlagen für eine hochwertige Umsetzung auf Basis agiler Methoden schaffen. blecon hat sich dabei als verlässlicher Partner gezeigt, welcher sich konstruktiv, wertschätzend und gewissenhaft in ein lokal verteiltes Entwicklungsteam aus verschiedenen Kulturen integriert hat.
Über die blecon GmbH
Die blecon GmbH entwickelt individuelle Softwarelösungen und bietet Expertise in den Bereichen Webentwicklung, App-Entwicklung, Prozessautomatisierung und IT-Beratung.
In unseren Erfolgsgeschichten finden Sie neben diesem Projekt auch weitere Projekte namhafter Kunden. Schauen Sie sich um und sprechen Sie uns an, wenn Sie Fragen haben oder ein eigenes Projekt mit blecon entwickeln möchten.