Interview mit Juan Alonso: advandoo & Dockergento

Wir haben unseren Software Engineer Juan zu seiner Arbeit bei advandoo, sowie zur Idee und Entstehung von „Dockergento“ interviewt:

Was machst du bei advandoo?

Seit vergangenem Oktober bin ich bei der advandoo als Software Engineer tätig, zudem arbeite ich an den Projekten und mache DevOps. Dies bedeutet, dass ich als Tech Lead bei den Projekten zuständig binsowie für deren Entwicklungsumgebungen und Systeme.

Wie sieht dein Entwicklungsalltag aus & mit welchen Arbeitsmitteln arbeitest du ?

Mehrheitlich arbeite ich an Projekten, was die Programmierung und Konzeption der Projekte beinhaltet. Zusätzlich an den DevOps. Zum Entwickeln benutze ich Docker, PHP Storm, Sequel Pro und iTerm2. Bei den DevOps bereite ich die Entwicklungsumgebungen und Server vor, wobei ich meist mit Docker arbeite. Mit Ansible, Teamcity und Nexus können die Deployments und alle Server-Konfigurationen automatisch gesteuert werden. Die meiste Zeit über bin ich mit Linux Console beschäftigt. Hinzu kommt, dass wir in unserem Office eine sehr gute Infrastruktur haben und mit den neusten MacBooks arbeiten.

Wie sieht die Entwicklungsumgebung bei advandoo aus?

Die Entwicklungsumgebung ist „state of the art“. Wir benutzen für alle Projektumgebungen Docker, dank dem können alle Entwickler sofort an den Projekten arbeiten ohne vorher noch Konfigurationen machen zu müssen. Das einzige was man tun muss, ist Docker auf dem Computer zu installieren und „Docker Start“ laufen zu lassen. Danach ist die Projektumgebung bereit um mit dem Programmieren zu beginnen.

Wie kam es zu Dockergento und was ist es?

In der Vergangenheit hatte ich mit Magento immer mit normalen Umgebungen gearbeitet. Jedoch wollte ich in Kombination mit Docker arbeiten, um nicht mehr alle Libraries und Komponenten installieren zu müssen. Wie auch andere Entwickler habe ich mich daran versucht, bin jedoch am selben Problem gescheitert: Docker und Magento funktionieren auf Mac zu langsam. Deshalb habe ich versucht, eine Lösung für dieses Problem zu finden, und bin so auf die Idee zur Entwicklung von „Dockergento“ gekommen. Durch die eigene Entwicklung Dockergento konnte ich diese Einschränkung beheben.

Dockergento ist ein Tool um einfacher und effizienter mit Docker und Magento auf MacOS zu arbeiten. Die Schwierigkeit von Docker ist, dass viele verschiedene Befehle benötigt werden um es zu benutzen, woran einige Entwickler scheitern. Bei Dockergento ist die gesamte Handhabung vereinfacht, indem man durch wenige Befehle wie Start, Stop, etc. auskommt. Dockergento übernimmt im Hintergrund die schwierigeren Befehle. Somit müssen sich die Entwickler nicht mit Docker auskennen und kommen mit der Ausführung von wenigen Befehlen an ihr Ziel.

Wie bereits erwähnt, funktioniert Docker in Kombination mit Mac sehr langsam, mit anderen Betriebssystemen wie Linux z.B. funktioniert es einwandfrei. Besonders gross ist die Problematik bei der Bearbeitung grosser Projekte mit Magento, Symphony oder Shopware. Da solche Projekte über eine grosse Menge an Daten verfügen und die Synchronisierung mit Mac dann nur sehr langsam vorangeht. Der Vorteil durch das Dockergento ist nun, dass dieses nicht alle Daten synchronisiert, sondern nur die, welche der Entwickler auch benötigt. Somit werden nur 1’000-2’000 Dateien statt 70’000 Dateien synchronisiert, wodurch Docker gleich schnell funktioniert wie mit dem Linux-System. Mehr zu Dockergento findet man auf Github.

Was sind die Vorteile von Dockergento?

Dockergento ermöglicht den Entwicklern einfacher und effizienter zu arbeiten.

Wie profitieren wir in unseren Projekten und unsere Kunden von einem solchen Setup?

Wir profitieren von dem Tool, indem alle unsere Entwickler problemlos die Installationen für die Projekte vornehmen können ohne zusätzliche Konfigurationen machen zu müssen. Dadurch profitiert auch unser Kunde. Die Docker-Entwicklungsumgebungen sind gleich wie die produktiven Systeme, somit wird die Fehlerquote während der Entwicklung minimiert. Ausserdem sind die Testumgebungen für die Kunden schneller aufgebaut, wodurch der Kunde wiederum schneller neue Funktionalitäten testen kann.

Einen herzlichen Dank an unseren Entwickler Juan für seine Worte zu Dockergento. Im untenstehenden Video sieht man inwieweit Dockergento die Leistung von Docker auf Mac verbessert:

Hier findet ihr noch ein paar Benchmarks.