Die Aufteilung von Zend Framework in separate Komponenten

Weniger Aufwand dank Cloud-Infrastruktur
Kommentare

Vor kurzem ist mit Zend Framwork 2.5.0 eine neue Version des beliebten Frameworks erschienen, die umfangreiche Änderungen in der Architektur mit sich brachte – nämlich die Aufteilung des Frameworks in separate Komponenten. Zend Framework steht damit nur noch als Metapackage-Container zur Verfügung, während der herkömmliche Downloadweg erstmal eingestellt wurde.

Stattdessen können seit Version 2.5.0 die einzelnen Komponenten von Zend Framework mit Composer installiert werden. In einem Blogpost im Zend-Framework-Entwicklerblog gab Enrico Zimuel nun einige Einblicke, wie man bei der Aufteilung vorgegangen ist.

Aufteilung von Zend Framework in separate Komponenten

Geht man zum zendframework/zf2-Repository findet man dort seit dem Release von Zend Framework 2.5.0 keinen Code mehr, sondern nur noch eine minimale Struktur mit einem composer.json. Stattdessen stehen alle Komponenten des Frameworks separat zur Verfügung – und das hat einige Vorteile!

So verspricht sich das Zend-Framework-Team davon einen größeren Fokus auf die einzelnen Komponenten, anstatt auf das komplette Package-Repository. Dadurch wird vor allem die Maintenance des Codes erleichtert; zudem können sich verschiedene Teams nun auf bestimmte Code-Teile konzentrieren und so die Nutzung von Komponenten in unterschiedlichen Projekten fördern. Gleichzeitig glaubt Enrico Zimuel, dass PHP-Frameworks in Zukunft deutlich offener für die Nutzung externer Libraries sein werden – die Aufteilung von Zend Framework in separate Komponenten ist ein erster Schritt in diese Richtung.

Arbeitserleichterung mit Cloud Infrastruktur

Um die Codebasis von Zend Framework aufzuteilen, kam ein vom Team-Lead des Projekts, Matthew Weier O’Phinney, geschriebenes Script zum Einsatz, das das Team zunächst vor ein Problem stellte: nämlich die Dauer der Ausführung. Zend Framework 2 besteht aus 50 Komponenten und für jede Komponente kann mit fünf bis acht Stunden bei der Ausführung gerechnet werden – also knapp 400 Stunden insgesamt.

Um die Arbeit deutlich zu beschleunigen, kam die Cloud-Infrastruktur der EC2-Instanzen der Amazon Web Services zum Einsatz, mit der der Framework-Split in acht Stunden über die Bühne gebracht wurde. Dafür wurden 48 EC2-t2.medium-Instanzen genutzt, die jeweils das Komponenten-Split-Skript ausgeführt, ein neues Repository erstellt und die neue git-History in das entsprechende Repository gepusht haben. Wie das Zend-Framework-Team dafür genau vorgegangen ist, zeigt Zimuels Blogpost noch einmal ausführlicher und anhand von Code-Beispielen.

Insgesamt hat man sich mit diesem Weg einige Arbeit und vor allem auch Kosten gespart. Dazu sagt Zimuel:

The usage of cloud infrastructure for these use cases is matchless […]. We also demonstrated that the design of a script to create an instance, execute the code, store the result, and destroy an instance is trivial, requiring only a few lines of PHP and bash.

Aufmacherbild: Distribution center with docking station for trucks von Shutterstock / Urheberrecht: HildaWeges Photography

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -