MoR: Go Programming Language & Multi-platform Testing with Vagrant

MoR: Go Programming Language & Multi-platform Testing with Vagrant
Go erzeugte in de vergangenen Monaten einen kleinen Hype in der Entwicklergemeinde. “Das bessere C” und ähnliche Aussagen findet man in diversen Blogartikeln. Vagrant vereinfacht das Aufsetzen und die Verwendung von Entwicklungsumgebungen. Zeit, sich mit diesen beiden Technologien in der Oktober-Ausgabe der Münsteraner Software Engineering User Group “Monster on Rails” auseinanderzusetzen.

Seit der Gründung von “Monster on Rails” hat sich die Münsteraner User Group stetig weiter, weg von einer reinen Ruby bzw. Ruby on Rails User Group, hin zu einer allgemeinen breit aufgestellten Software Engineering User Group entwickelt. Neben unterschiedlichsten Technologien (wie z.B. RabbitMQ, Kafka, Elixir oder Javascript), Frameworks (wie AngularJS) oder Architekturkonzepten (wie z.B. EventSourcing) wurden auch Tools, Projekte oder Engagements (wie z.B. Freifunk e.V.) vorgestellt. Kein Wunder, dass bei der Oktober-Ausgabe von “Monster on Rails” kein Ruby auf dem Programm stand, sondern Technologien wie Go und Vagrant. Die 25 Besucher im gut gefüllten Zweitag-Konferenzraum hörten sich die Vorträge von Johannes Boyne und Björn Petri an, diskutierten und tauschten sich vor, zwischen und nach den Vorträgen über Themen des Software Engineerings aus.

Go Programming Language

Der erste Vortrag wurde von Johannes Boyne, Mitarbeiter bei Zweitag, gehalten und behandelte das Thema Go. Go ist eine quelloffene, kompilierte und statisch gelinkte Programmiersprache, die moderne und etablierte Ansätze verbindet. Auf den ersten Blick wirkt sie wie eine Abwandlung von C, nur mit weniger Ballast. Go bietet eine interessante Implementierung von Concurrency (ein Highlight sind u.a. Channels) und weitere interessante Features wie zum Beispiel Garbage Collection. Johannes’ Ziel war es, dem Publikum die Sprache, Technologie und die Daseinsberechtigung der gar nicht so jungen (Go gibt es schon seit 2009), Technologie näher zu bringen. Dies gelang Johannes, indem er neben Folien auch mittels Live-Coding anhand von drei unterschiedlichen Demos und Anwendungsszenarien die Feinheiten der Sprache erklärte. Während des Vortrags wurden stets Rückfragen gestellt und es wurde deutlich, dass das Thema bei den Anwesenden Entwicklern auf großes Interesse gestoßen ist.

Multi–platform testing mit Vagrant

Im zweiten Vortrag berichtete Björn Petri über Vagrant und wie er Vagrant einsetzt um seine Programme auf unterschiedlichen Plattformen zu testen. Vagrant ist ein von Mitchell Hashimoto entwickeltes Open-Source Tool zur Erstellung und Konfigurierung von virtuellen Entwicklungsumgebungen. Vagrant fungiert dabei als Wrapper für Virtualisierungssoftware wie VirtualBox, VMware oder auch Amazon EC2. Durch die einfachen Befehle vagrant init, vagrant up und final vagrant ssh, in Kombination mit einem Vagrantfile, ist es möglich eine virtuelle Entwicklungsumgebung auf Basis einer Vagrant Box zu erzeugen und zu konfigurieren, welche nicht nur einfach reproduzierbar sondern auch portabel ist. Entwicklungsteams haben so die Möglichkeit, in einer konsistenten und isolierten Entwicklungsumgebung unabhängig von ihrem eigenen Setup, Software zu entwickeln. “Works on my machine”-Bugs dürften somit der Vergangenheit angehören. Björn berichtete, wie er Vagrant auf seinem Continuous Integration Server Jenkins einsetzt, um das open-source Projekt Apache Celix kontinuierlich auf unterschiedlichen Plattformen zu testen.

Der Abend klang aus mit individuellen Diskussionen und Austausch über verschiedenste Technologien, Vorgehensweisen und Erfahrungen. Das nächste Meetup wird Ende November stattfinden, voraussichtlich mit Vorträgen zur OpenStreetMap sowie zu JavaScript.

Über Monster on Rails

Bildrechte: Renee French

Sie suchen den richtigen Partner für erfolgreiche Projekte?
Nehmen Sie Kontakt mit uns auf →