Niko Will

Niko Will is a consultant at innoQ and develops software for the JVM. He focuses on designing and implementing highly scalable, distributed software systems. Recently he is dedicated to functional and reactive technologies like Scala, Play and Akka as well as event driven architectures.

Talks

  • Serverlose IoT-Applikationen

    BED-Con 2017 21. September 2017 Slides available

    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.

    Read more
  • Akka Cluster Management and Split Brain Resolution

    ScalaSwarm 2017 22. June 2017 Slides available

    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.

    Read more
  • Serverlose IoT-Applikationen

    building IoT 2017 04. May 2017 Slides available

    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.

    Read more
  • Akka Cluster Management and Split Brain Resolution

    Scalar 2017 07. April 2017 Slides available

    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.

    Read more

Content

  • Event Sourcing und CQRS – Teil 2

    Podcast Episode 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?

    Read more
  • Event Sourcing und CQRS – Teil 1

    Podcast Episode 20. March 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?

    Read more
  • Serverless

    Blog Post 07. March 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.

    Read more