Winner of the 2011 Jolt Excellence Award! Getting software released to users is often a painful, risky, and time-consuming process.This groundbreaking new book sets out the principles and technical practices that enablerapid, incremental delivery of high quality, valuable new functionality to users. Throughautomation of the build, deployment, and testing process, and improved collaboration betweendevelopers, testers, and operations, delivery teams can get changes released in a matter of hours—sometimes even minutes–no matter what the size of a project or the complexity of its code base.#gotocph presentation by @davefarley77 at http://www.davefarley.net author of Continuous Delivery - http://www.continuous-delivery.co.uk/ - Availalbe on Amazon - http://www.amazon.com/Continuous-Delivery-Deployment-Automation-Addison-Wesley/dp/0321601912
<p>Reactive Systems
Dave Farley
http://www.davefarley.net
@davefarley77
Dave Farley
http://www.davefarley.net
@davefarley77
http://www.continuous-delivery.co.uk
Reactive Systems
21st Century Architecture for 21st Century Problems
Our World Is Changing
Large Applications circa 2005:
• 10’s of Servers
• Seconds of Response Time
• Hours of Offline Maintenance
• Gigabytes of Data

Large Applications Now:
• Handheld Devices to 1000’s of multi-core
processors
• Millisecond Response Time
• 100% Uptime
• Petabytes of Data
Our World Is Changing
The Reactive Manifesto
Responsive
Elastic
Resilient
Message Driven
“21st Century Problems are not best solved with
20th Century Software Architecturesâ€
The Evolution of modern hardware has changed many of
the common assumptions of software development
Source: www.reactivemanifesto.org
Reactive Systems Are:
Responsive:
• Responds in a Timely Manner
• Cornerstone of Usability
• Also Quick to Detect Problems
Reactive Systems Are:
Resilient:
• Remains Responsive in the Face of Failure
• Resilience Depends on - Replication,
Containment, Isolation and Delegation
Reactive Systems Are:
Elastic:
• Remains Responsive Under
Varying Workload
• Responds to Change in the
Input Rate By Increasing or
Decreasing Resources that
Service the Input
• Decentralised Architecture,
No Contention Points, No
Central Bottlenecks
Reactive Systems Are:
Message Driven:
• Asynchronous Message Passing is the foundation
for all of these properties
• Loose-Coupling, Isolation, Location Transparency
• Ability to Delegate Errors
Properties of Reactive Systems
• Flexible
• Loosely-Coupled
• Scalable
• Easier to Develop
• More Tolerant of Failure
• Respond to Failure Gracefully
• Responsive to Users
Fractal Architecture
• Large Systems Are Composed of Smaller Ones
• They Depend on the Reactive Properties of Their
Constituents
• These Benefits Operate At All Scales
• Such Systems are Composable
Failure Modes in Syn