with Jonas Bonér, Viktor Klang and Konrad Malawski

Reactive Revealed - a technical deep dive on "Going Reactive" in 3 parts

With the Reactive Manifesto now embraced by over 11,000 people and the Reactive Streams initiative in full swing with a 1.0.0 launch, we are seeing more interest in "Going Reactive" than ever before. Organizations large and small ask us questions like:

  • What does Reactive really mean and why should we care?
  • What does “Going Reactive” mean for our Development and Operations teams?
  • How can Reactive systems help us improve system resilience and scale elastically to accommodate bursty traffic? 
  • What are the business drivers and market forces that we should be aware of, and how can my organization start the journey towards modernizing our existing applications and infrastructure?

From Jonas Bonér, Viktor Klang and Konrad Malawski, co-authors of the Reactive Manifesto and contributors to the Reactive Streams initiative, we have set out to produce a three-part “Reactive Revealed” series to give an interactive opportunity for enterprise architects and software developers (we even have some goodness for Operations and Executives too) to get started with understanding Reactive from the beginning, providing an overview of the technological foundation behind it all. 

Part 1: Asynchronous, Non-blocking I/O, Back-pressure and the Message-driven vs Event-driven approach in Reactive Systems

Date/Time: Thu., 9:00 PST / 16:00 UTC, July 30, 2015
Length: ~60 minutes, including Q/A
Technologies Referenced: Reactive Streams, Play Framework, Akka, Akka Streams, Apache Kafka, Node.js, Servlets
Technical Level: Introductory

In Part 1, we explore the underlying technologies and approach of Reactive systems. Akka Team member and Reactive Streams contributor Konrad Malawski will detail what you should know about:

  • The differences and trade-offs between synchronous blocking I/O and asynchronous non-blocking I/O, what these mean for execution efficiency as well as code maintainability.
  • The difference between event-driven and message-driven approaches in terms of design considerations in the small and the large as well as the costs and benefits of either way.
  • The role of flow control in Reactive systems, how it impacts service latency and throughput and which technologies are available to help with implementing it.


Part 2: Elasticity, Scalability and Location Transparency in Reactive Systems

Date/Time: Wed., 9:00 PST / 16:00 UTC, August 19, 2015
Length: ~60 minutes, including Q/A
Technologies Referenced: Akka Clusters and Typesafe ConductR
Technical Level: Introductory

In Part 2, we look into how organizations with Reactive systems are able to adaptively scale in an elastic, infrastructure-efficient way, and the role that location transparency plays in distributed Reactive systems. Reactive Streams contributor and deputy CTO at Typesafe, Inc., Viktor Klang reviews what you should know about:

  • How Reactive systems enable near-linear scalability in order to increase performance proportionally to the allocation of resources, avoiding the constraints of bottlenecks or synchronization points within the system
  • How elasticity builds upon scalability in Reactive systems to automatically adjust the throughput of varying demand when resources are added or removed proportionally and dynamically at runtime.
  • The role of location transparency in distributed computing (in systems running on a single node or on a cluster) and how of decoupling runtime instances from their references can embrace network constraints like partial failure, network splits, dropped messages and more.


Part 3: Resiliency, Failures vs Errors, Isolation & Containment, Delegation and Replication in Reactive Systems

Date/Time: Thu., 9:00 PST / 16:00 UTC, September 3, 2015
Length: ~60 minutes, including Q/A
Technologies Referenced: Akka (Akka Failure Detector, Akka Cluster, Akka Cluster Sharding, Akka Split Brain Resolver, Akka Streams, Akka Persistence, Akka Circuit Breaker, Akka Distributed Data), Typesafe Monitoring, Takipi, Scala, Java, Play, Reactive Streams, ConductR, Kafka, Cassandra
Technical Level: Introductory

In the final webinar with live Q/A in the Reactive Revealed series, we explore the way that Reactive systems maintain resiliency with an infrastructural approach designed to welcome failure often and recover gracefully. Presented by Reactive Manifesto co-author, Akka creator and CTO at Typesafe, Inc., Jonas Bonér explores what you should know about:

  • What you should know about maintaining resiliency with monolithic systems compared to distributed systems
  • How Reactive systems handle errors and prevents catastrophic failures with isolation and containment, delegation and replication
  • How isolation (and containment) of error state and behavior works to block the ripple effect of cascading failures
  • How delegation of failure management and replication lets Reactive systems continue running in the face of failures using a different error handling context, on a different thread or thread pool, in a different process, or on a different network node or computing center






View All Posts or Filter By Tag