Ryan Ernst, an IQ software engineer and Projects Team engagement leader, presented The Reactive Manifesto to IQ employees during our first company-wide learning conference. So you’ve heard of The Manifesto for Agile Software Development – so what in the world is this?
Per the Reactive Manifesto, “…[today’s] Users expect millisecond response times and 100% uptime. Data is measured in Petabytes. Today’s demands are simply not met by yesterday’s software architectures.” To meet today’s demands, systems (called Reactive Systems) need to be:
- Responsive – usability and utility; problems detected quickly and dealt with effectively. Responsive systems focus on providing rapid and consistent response times
- Resilient – achieved by replication, containment, isolation and delegation
- Elastic – responsive under varying workloads. Elastic systems can react to changes in the input rate by increasing or decreasing the resources allocated to service these inputs.
- Message Driven — this is what truly differentiates reactive systems from others. This system relies on interactions via asynchronous messaging that established boundaries among individual components, per Leo Cheung, InfoWorld.
Reactive Systems apply design principles so these properties apply at all levels of scale.