MoR: Scalable, Serverless Web Apps & MEAN.JS
Nur zwei Wochen nach dem letzten Monster on Rails im November fanden sich erneut mehr als 20 Entwickler zur Dezember-Ausgabe von Monster on Rails zusammen. Wir freuten uns, mit Johannes Boyne aus Berlin einen ehemaligen Zweitag-Mitarbeiter sowie Bastian Wegge aus Münster gewinnen zu können, die spannende Insights aus ihren aktuellen Projekten zu erzählen hatten.
Johannes Boyne - 100% scalable, serverless web applications
Der erste Vortragende an diesem Abend war Johannes Boyne, Director IT bei CrowdPatent, mit dem Thema: "100% scalable, serverless web applications". Durch die Verfügbarkeit von Public Clouds und der damit vorhandenen Infrastruktur gibt es inzwischen die Möglichkeit, Geschäftslogik ohne eigene Instanzen ausführen zu lassen. Vorreiter in diesem Bereich ist der Service AWS Lambda von Amazon. Mit AWS Lambda kann man kleine Code-Bausteine in Form von Funktionen ausführen, ohne Server bereitstellen oder verwalten zu müssen. Diese Code-Bausteine lassen sich durch externe oder interne Events triggern. So ist es z.B. möglich, dass ein bestimmter Code erst nach Änderungen an Daten, am Systemstatus oder aufgrund von Benutzeraktionen ausgeführt wird. Lambda-Funktionen können direkt durch AWS-interne Ereignisse etwa in S3-Buckets, DynamoDB, Kinesis, SNS ausgelöst werden, oder durch externe Ereignisse mit Hilfe eines API-Gateways. Da mehrere Millionen Ausführungen einer Lambda-Funktion nur wenige Euro kosten, lässt sich so eine Vielzahl von Echtzeit-Datenverarbeitungssystemen zu geringen Kosten aufbauen.
Johannes hat mit dieser "Technologie" bei CrowdPatent eine sehr schlanke und voneinander abgekapselte Microservice-Architektur aufbauen können, die das Unternehmen nur sehr wenig Geld kostet und gleichzeitig wichtige Kapselung zulässt. Natürlich ist hierbei der sehr starke Vendor-Lock-In nicht zu vernachlässigen. Vor- und Nachteile müssen dabei stets abgewogen werden. Das gezeigte Beispielprojekt hat Johannes in einem Github-Repository veröffentlicht; die Referenzarchitektur von AWS Lambda beschreibt Amazon in diesem Dokument.
Bastian Wegge - MEAN.JS
Den zweiten Vortrag des Abends hielt Bastian Wegge zum Thema MEAN.JS. Zunächst stellte er die verschiedenen Technologien im MEAN-Stack und ihre individuellen Vorteile vor. MEAN setzt sich zusammen aus AngularJS als Frontend-Technologie, node.js in Kombination mit dem Node-Package Express als Backend-Technologie, sowie MongoDB als NoSQL Datenbank. MEAN.JS bietet eine einfache Art und Weise Applikationen im MEAN-Stack zu installieren und zu starten, ohne sich um das lästigen Setup der einzelnen Komponenten und die Verbindung untereinander kümmern zu müssen.
Im zweiten Teil seines Vortrages demonstrierte Bastian, wie man mit wenigen Befehlen eine Anwendung mit dem Stack installieren und starten kann. Zum Schluss präsentierte er uns sein Projekt, welches er in den vergangenen Monaten mit dem MEAN-Stack umgesetzt hat.
Im Anschluss an die beiden Vorträge fand ein reger Austausch zur Produktionsreife und Eignung einzelner Datenbank-Implementierungen statt, der sich bei alkoholhaltigen Kaltgetränken bis in die Nacht fortsetzte. Wir bedanken uns bei Bastian und Johannes für die beiden sehr interessanten Talks und freuen uns auf das nächste Monster on Rails im Januar.
Über Monster on Rails
Die „Monster on Rails“ User Group Münster beschäftigt sich mit Themen rund ums Software Engineering, insbesondere Ruby und Ruby on Rails, diskutiert aber auch über Technologien, die um das Ruby-Ökosystem herum existieren, wie z. B. Javascript, Elixir, Go, Docker und NoSQL. In der Regel treffen wir uns immer am letzten Donnerstag im Monat. Nach einigen Vorträgen zum jeweiligen Thema beenden wir den Abend in entspannter Atmosphäre bei einem Bier. Wir freuen uns über jedes neue Gesicht!