Plan for meeting:
• Talk #1: Carl Pulley "Chaos Engineering and Runtime Monitoring of Distributed Reactive Applications"
Distributed systems are difficult to build and test, so it is important that you identify weaknesses before they manifest in system-wide, aberrant behaviours. Tools such as docker and docker-compose standardise the process of defining system components and deploying them. However, current testing frameworks for these environments are often inadequate for performing end-to-end testing or Byzantine fault injection.
During this talk, you will explore the docker-compose-testkit. This is an open-source asynchronous testing framework (implemented in Scala) that allows docker containers to be instrumented (instrumentation sensors are modelled by Observables), deployed (e.g. by docker-compose) and then fault injected (fault injection points are modelled by Observers). Abstraction layers allow the same testing code to target both local environments and cloud environments (e.g. AWS, DC/OS, etc.).
A Scala DSL is introduced to define composable and modular state machines that allow one to both monitor these sensors at runtime and to match against expected outcomes. Using for-comprehensions, complex testing scenarios may be defined that allow for warm-up and fault injection.
Carl is a specialist in program analysis, distributed programming and machine learning.
He has extensive experience in implementing large scale reactive applications that target microservice and lambda architectures.
He works at Cake Solutions www.cakesolutions.net
• Talk #2: Krzysztof Romanowski "Let’s speed up our compilation. Live profiling of zinc application"
In this talk I want to show you whole process of improving performance of scala-compiler related code.
We will start with defining our problem, then we will try to apply various techniques to find roots of problem to finally fix them.
To spice things up our code will live inside scala compiler.
Krzysztof is Scala specialist @ Virtuslab where he has spent endless hours debugging Scala IDE, SBT, IntelliJ or even Scala compiler itself. Author of expression evaluator engine for Scala IDE and zinc contributor
• Talk #3: Maciej Ciolek "Dynamic load balancing with Akka Streams"
There are a lot of talks about Microservices Architecture which describes synchronous communication (REST API) as anti-pattern, but sometimes you need to live with this approach in your system - probably you need to make a group of services to communicate with each other or you are just building an application gateway. If you would like to have this resilient, you need to scale out your services and add load balancer a the top. In this talk I would like to present how to implement dynamic HTTP load balancer using Akka Streams and Akka HTTP.
Event Sourcing, CQRS and Microservices Architecture enthusiast. Crazy about Scala language. Experienced software engineer and now Co-founder & CTO at Codeheroes (http://codeheroes.io). https://pl.linkedin.com/in/maciejciolek
Huge thanks to Cake Solutions for sponsoring the event - venue, drinks & video! And VirtusLab who organizes this meetup.
See you soon!