Please log in to watch this conference skillscast.
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.
You will discover full code demonstrating a wide range of example scenarios, along with live coding demonstrations.
The Call for Papers is now open for Scala eXchange 2017! Submit your talk for the chance to join a stellar line-up of experts on stage. Find out more.
YOU MAY ALSO LIKE:
- Fast Track to Chaos Engineering with Russ Miles (in London on 6th - 8th November 2019)
- Fast Track to RESTful Microservices (in London on 11th - 13th November 2019)
- Scala eXchange London 2019 (in London on 12th - 13th December 2019)
- Scalax2gether Community Day 2019 (in London on 14th December 2019)
- Keynote by Brian Ketelsen on Going Multicloud with Serverless (in London on 17th October 2019)
- 2 Presentations: Kubernetes Ingress & DevOps and Microservices Better Together (in London on 17th October 2019)
- Well-Typed Communication Protocols (SkillsCast recorded in October 2019)
- Abstract Data Types In The Region Of Abysmal Pain, And How To Navigate Them (SkillsCast recorded in September 2019)
Chaos Engineering and Runtime Monitoring of Distributed Reactive Applications - Intermediate
Carl is a specialist in program analysis, distributed programming and machine learning. Extensive experience in implementing large scale reactive applications that target microservice and lambda architectures.