<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1127487224079104&amp;ev=PageView&amp;noscript=1 https://www.facebook.com/tr?id=1127487224079104&amp;ev=PageView&amp;noscript=1 ">

Erkenntnisse aus der Untersuchung von 36.000 OSS-Projekten | Pressemitteilung

ABN AMRO und Nexus

Höhere Geschwindigkeit. Mehr Builds.
Schnellere Bereitstellungszeit.
ABN AMRO Group

ABN AMRO Group

ABN AMRO ist eine Bank für Einzelhändler, Privatpersonen und Unternehmen und konzentriert sich primär auf die Niederlande. Zählt man alle großen und kleineren Banken mit, die im Laufe der Jahre Vorläufer der heutigen Bank waren, hat ABN AMRO eine 300-jährige Geschichte. Die Organisation beschäftigt derzeit 22.000 interne Angestellte, 5.000 IT-Mitarbeiter und mehr als 300 agile Teams in der IT.

Die interne Gruppe „IT Tooling & Software Development“ bei ABN AMRO ist für die Auswahl, die Implementierung und die Integration der Tools innerhalb der Bank verantwortlich und konzentriert sich auf Software-Qualität und den Support von agilen Teams. Der Hauptschwerpunkt liegt dabei auf der Implementierung von Continuous Integration/Continuous Delivery (CI/CD)-Pipelines als einem wichtigen Bestandteil dieses Supports. Nexus Repository und Nexus Lifecycle sind in der CI/CD-Pipeline enthalten.

Die Entwicklungsteams verwenden Nexus Repository als eine einzige Quelle für die Speicherung von Komponenten. Nexus Lifecycle wird genutzt, um Sicherheitsprozesse zu automatisieren und den Einsatz und die Verwendung von Open-Source-Komponenten zu verwalten.

edwin_kwanpng
„Mit Lifecycle können wir Programmierern dabei helfen, die richtigen Entscheidungen zu treffen und ihre Software sicherer zu machen. Deshalb haben wir uns für Nexus Lifecycle entschieden.“

Stefan Simenon, Head of Centre of Expertise Software Development & Tooling

Die Herausforderung

Die Entwicklungsabteilung bei ABN AMRO war vor dem Wechsel zur DevOps-Kultur eine Wasserfall-Organisation. Es dauerte übermäßig lange, Software in die Umgebung zu integrieren, damit diese für Endanwender zur Verfügung steht. Es wurde untersucht, wie lange es dauern würde, das einfachste „Hallo Welt!“-Programm in der Produktion bereitzustellen. Der mehrstufige Wasserfall-Prozess nahm aufgrund von mehreren manuellen Genehmigungsvorgängen und langen Wartezeiten fünf bis sechs Monate in Anspruch.

Software-Sicherheit wurde mithilfe manueller Verfahren verwaltet. Die Prüfungen der Code-Qualität, die auf den Service-Level-Vereinbarungen mit den Entwicklungslieferanten basierten, wurden nach den Produktionsbereitstellungen abgeschlossen.

Die größten Schwierigkeiten bereiteten die manuellen Genehmigungsprozesse und das geschlossene Open-Source-Repository. Oft wurden Anfragen zum Hinzufügen neuer Komponenten erst spät im Entwicklungsprozess gestellt, wobei das Problem durch den langen Genehmigungsprozess noch verschärft wurde. Sobald eine Komponente verwendet wurde, wurde sie nie wieder in Frage gestellt.

Durch die ausbremsenden Wasserfall-Prozesse konnte das Unternehmen seinen Kunden keine zeitnahen Lösungen anbieten. Im Unternehmen musste ein Kulturwandel stattfinden, um die Software-Bereitstellung zu beschleunigen und die Software-Qualität zu optimieren.

Die Lösung

ABN AMRO beschloss, eine CI/CD-Initiative einzurichten, in der mehrere Tooling-Pipelines erstellt wurden. Darüber hinaus startete man eine weitere Initiative, die sich den Aspekten der Unternehmenskultur und des Change-Managements widmete. Der Übergang wurde im Zuge der Neuorganisation der Bank formalisiert. Die Ziele waren weniger Projektmanagement, geringere Betriebskosten, die Definition neuer agiler Rollen, vorfinanzierte agile Teams und ein stärkerer Fokus auf der Software-Bereitstellung.

Stefan Simenon ist für die Integration der Tools innerhalb der Bank verantwortlich. Zu seinen Aufgaben gehören die Überwachung der Software-Qualität und die sichere Codierung bei gleichzeitiger Unterstützung der agilen Teams in der Bank, um CI/CD zu implementieren. Die grundlegende Pipeline umfasste Jenkins, BitBucket, Maven, SonarQube und Nexus Repository. Als die Teams begannen, mit der Pipeline zu arbeiten, wurde die Geschäftsleitung auf die Vorteile des Wechsels aufmerksam und forcierte die Ausweitung der Pipeline auf andere Entwicklungsteams.

Man fügte Nexus Lifecycle für das Monitoring und Tracking von Open Source Software, Fortify für die Sicherheitscode-Qualität und JIRA für das Backlog-Management hinzu. Außerdem wurde eine Governance-Überwachung geschaffen, um die korrekte Nutzung der Tools und Pipelines zu gewährleisten.

Die Nutzung von Nexus Repository und Nexus Lifecycle

ABN AMRO setzt Nexus Repository als binären Artefaktspeicher ein. Ein implementierbares Archiv in Nexus ist das Ende des CI-Prozesses (ausgelöst durch Jenkins) und der Beginn des CD-Prozesses (ausgelöst durch XL Release). Nexus fungiert als grundlegender Speicherort für alle Komponenten wie z. B. COTS-Pakete, die bei ABN AMRO eingehen.

„Nexus übernimmt die Übergabe zwischen CI und CD“, erklärt Simenon. „Wir geben den gesamten CI-Prozess als Implementierungsarchiv aus, das wir dann in Nexus speichern. Wir möchten unsere Entwicklungsprozesse so weit wie möglich standardisieren und Nexus Repository spielt hierbei eine entscheidende Rolle.“

Es wurden lange Diskussionen über das Monitoring und Tracking von Open-Source-Komponenten geführt.

„Wir wollten schnelle Lösungen, aber diese Lösungen sollten auch sicher sein. Wir mussten nicht lange suchen. Mit Nexus Lifecycle können wir Programmierern dabei helfen, die richtigen Entscheidungen zu treffen und ihre Software sicherer zu machen. Deshalb fiel unsere Wahl auf Lifecycle.“

ABN AMRO implementiert Quality Gates und Build Breakers, um die Code-Qualität und das Sicherheitsbewusstsein zu verbessern. Nexus Lifecycle soll gewährleisten, dass Entwickler anstelle „illegaler“ Bibliotheken sichere Open-Source-Bibliotheken verwenden. Die Lösung überwacht und überprüft, dass Benutzer ihre Bibliotheken aktualisieren und die am besten geeigneten Versionen verwenden. Gleichzeitig wird angezeigt, welche Konsequenzen die entsprechende Auswahl auf die Sicherheit hat.

„Derzeit haben wir eine Reihe von Build Breakers implementiert, die auf SonarQube, Fortify und Nexus Lifecycle basieren. Aus diesem Grund erleben wir ein viel höheres Qualitätsbewusstsein und weniger nutzlose Diskussionen in Bezug auf Qualität. Wir werden die Build-Breaker-Kriterien in Zukunft noch verschärfen. Zu Beginn gab es im Unternehmen Widerstand gegenüber den Build Breakers, aber das ist mittlerweile nicht mehr der Fall. Ohne Toolsets wie Nexus Lifecycle und CI-Pipelines hätten wir die Software-Qualität niemals in diesem Maße optimieren können.“

Ergebnis

Die CICD-Initiative führte zu folgenden Verbesserungen:

Geschwindigkeit und Vorlaufzeit

  • Die Geschwindigkeit konnte um das 2- bis 2,5-Fache beschleunigt werden
  • Kürzere Bereitstellungszeit (für Internet-/mobiles Banking gingen pro Jahr vier Versionen in die Produktion; mit der automatisierten Pipeline werden heute im 2-Wochen-Takt Versionen ausgegeben)
  • Immer mehr Teams können Software in einem Sprint an die Produktion ausliefern
  • Kürzere Testvorlaufzeiten

Qualität, Sicherheit und Stabilität

  • Deutliche Verbesserung der Software-Qualität und -Sicherheit
  • Testumgebungen sind dank automatisierter Rollbacks stabiler geworden

Fazit

Simenon ist stolz auf das, was bei ABN AMRO erreicht wurde.  „Wir können uns nun viel besser auf die Bereitstellung der Software konzentrieren, anstatt uns um die Verwaltung der Prozesse rund um die Software kümmern zu müssen.“

„Unser Ziel ist es, ein optimales Arbeitsumfeld für unsere Entwickler-Community zu schaffen. In dieser Hinsicht hilft es, die besten Tools zu verwenden und mit Experten zu interagieren. Wir sind sehr zufrieden mit den Tools von Sonatype und schätzen die Zusammenarbeit zwischen unseren Teams.“

„Ich pflege gerne eine Partnerschaft mit meinen Tool-Anbietern. Wir führen regelmäßig persönliche Meetings mit unseren wichtigsten Tool-Anbietern durch, zu denen auch Sonatype gehört. Dadurch schaffen wir eine Win-Win-Situation. Wir lernen etwas vom Anbieter über zukünftige Funktionalitäten und der Anbieter versteht, wie er sein Produkt auf Grundlage unserer Anforderungen verbessern kann.“

 

ABN-AMRO Bank – Gebäude

  
Erfolgsstorys unserer Kunden