Niko Will

Niko Will ist Consultant bei innoQ und entwickelt Software für die JVM. Sein Fokus liegt in der Konzeption und Implementierung von hochskalierbaren, verteilten Systemen. Aktuell beschäftigt er sich mit funktionalen und reaktiven Technologien wie Scala, Play und Akka sowie eventgetriebenen Architekturen.

Vorträge

  • Serverlose IoT-Applikationen

    BED-Con 2017 21. September 2017 Folien verfügbar

    Softwareentwickler sehen sich heutzutage mit einer Vielzahl von Anforderungen konfrontiert. Bereits das Verstehen der Domäne für die Implementierung der Geschäftslogik kann beliebig komplex werden. Hinzu kommen nun immer mehr Themen wie Skalierung und Ausfallsicherheit. Ganz zu schweigen von Benutzerauthentifizierung und -autorisierung oder Logging, Monitoring und Betrieb der Anwendung. Im IoT-Umfeld bereiten uns zusätzlich noch die Anbindung von Geräten über unsichere und instabile Verbindungen Kopfzerbrechen.

    Andererseits bieten mittlerweile viele der großen Cloud-Plattformen zusätzlich zu Datenbanken und Messaging-Systemen auch ein reiches Portfolio an Diensten, die speziell auf die Bedürfnisse von IoT-Applikationen zugeschnitten sind. In Kombination mit serverlosen Funktionen lassen sich so bereits in einigen Tagen bis wenigen Wochen erste Konzepte praktisch erproben oder sogar komplett umsetzen. Darüber hinaus kann durch den Verzicht auf eigene Backend-Services ein Großteil der typischen Betriebsthemen entfallen.

    Dieser Vortrag zeigt am Beispiel von Amazon Web Services (AWS), wie sich Geräte schnell und sicher an eine Cloud-Plattform anbinden lassen. Außerdem lernen die Teilnehmer, wie sie durch Kombination der vorhandenen Dienste und einiger weniger serverloser Funktionen zu einer produktiv einsetzbaren IoT-Applikation kommen.

    Mehr lesen
  • Akka Cluster Management and Split Brain Resolution

    ScalaSwarm 2017 22. Juni 2017 Folien verfügbar

    Akka is a toolkit that brings the actor model to the JVM and helps developers to build scalable, resilient and responsive applications. With location transparency and asynchronous message passing it is designed to work distributed from the ground up.

    While distributed systems help to solve some problems like availability, a new set of problems arise. For example how do we scale the cluster up or down? What happens if the network is at least partially not available? Akka provides a comprehensive set of cluster features that enable developers to monitor and manage the cluster manually or in most cases even automatically.

    In this talk I will introduce some of these features and explain what you need to be aware of. You will learn how to start a cluster correctly and add / (gracefully) remove nodes to / from a running cluster. Additionally I will show how to handle failure scenarios like network partitions by using an existing or implementing a custom split brain resolver.

    Mehr lesen
  • Serverlose IoT-Applikationen

    building IoT 2017 04. Mai 2017 Folien verfügbar

    Softwareentwickler sehen sich heutzutage mit einer Vielzahl von Anforderungen konfrontiert. Bereits das Verstehen der Domäne für die Implementierung der Geschäftslogik kann beliebig komplex werden. Hinzu kommen nun immer mehr Themen wie Skalierung und Ausfallsicherheit. Ganz zu schweigen von Benutzerauthentifizierung und -autorisierung oder Logging, Monitoring und Betrieb der Anwendung. Im IoT-Umfeld bereiten uns zusätzlich noch die Anbindung von Geräten über unsichere und instabile Verbindungen Kopfzerbrechen.

    Andererseits bieten mittlerweile viele der großen Cloud-Plattformen zusätzlich zu Datenbanken und Messaging-Systemen auch ein reiches Portfolio an Diensten, die speziell auf die Bedürfnisse von IoT-Applikationen zugeschnitten sind. In Kombination mit serverlosen Funktionen lassen sich so bereits in einigen Tagen bis wenigen Wochen erste Konzepte praktisch erproben oder sogar komplett umsetzen. Darüber hinaus kann durch den Verzicht auf eigene Backend-Services ein Großteil der typischen Betriebsthemen entfallen.

    Dieser Vortrag zeigt am Beispiel von Amazon Web Services (AWS), wie sich Geräte schnell und sicher an eine Cloud-Plattform anbinden lassen. Außerdem lernen die Teilnehmer, wie sie durch Kombination der vorhandenen Dienste und einiger weniger serverloser Funktionen zu einer produktiv einsetzbaren IoT-Applikation kommen.

    Mehr lesen
  • Akka Cluster Management and Split Brain Resolution

    Scalar 2017 07. April 2017 Folien verfügbar

    Akka is a toolkit that brings the actor model to the JVM and helps developers to build scalable, resilient and responsive applications. With location transparency and asynchronous message passing it is designed to work distributed from the ground up.

    While distributed systems help to solve some problems like availability, a new set of problems arise. For example how do we scale the cluster up or down? What happens if the network is at least partially not available? Akka provides a comprehensive set of cluster features that enable developers to monitor and manage the cluster manually or in most cases even automatically.

    In this talk I will introduce some of these features and explain what you need to be aware of. You will learn how to start a cluster correctly and add / (gracefully) remove nodes to / from a running cluster. Additionally I will show how to handle failure scenarios like network partitions by using an existing or implementing a custom split brain resolver.

    Mehr lesen

Inhalte

  • Event Sourcing und CQRS – Teil 2

    Podcast-Folge 10. April 2017

    In dieser Folge unterhalten sich Niko Will und Lucas Dohmen zum zweiten Mal über Event Sourcing und Command Query Responsibility Segregation, kurz CQRS. Nachdem wir in Teil 1 über die Vor- und Nachteile sowie einige technische Details gesprochen haben, geht es dieses Mal mehr um die Besonderheiten auf Ebene der Architektur. Wie fügen sich diese Patterns in eine verteilte Architektur ein? Auf was muss ich bei der Implementierung achten? Wie erreiche ich eventual consistency in Event-getriebenen Architekturen?

    Mehr lesen
  • Event Sourcing und CQRS – Teil 1

    Podcast-Folge 20. März 2017

    In dieser Folge unterhalten sich Niko Will und Lucas Dohmen über Event Sourcing und Command Query Responsibility Segregation, kurz CQRS. Wozu kann man diese Patterns verwenden? Was sind Vor- und Nachteile gegenüber anderen Ansätzen? Warum sind sie besonders in verteilten Anwendungen wie in Microservice Architekturen oder Self-Contained Systems (SCS) interessant?

    Mehr lesen
  • Serverless

    Blog-Post 07. März 2017

    Um den Begriff serverless gibt es immer noch hitzige Diskussionen. Einige halten ihn für einen Hoax und setzen ihn mit “useless” gleich, andere schwören darauf, dass serverless bald alle anderen Architekturstile ablösen wird.

    Mehr lesen