We use AWS to host all of our servers. Please contact @Camille Ricketts to get set up with the right credentials.

Reactive Manifesto

Previously, application architecture depended on maintained servers and containers

Now :

  1. React to events (event-driven)
  2. React to load (scalable)
  3. React to failures (resilient)
  4. React to users (responsive)

Event Driven

Traditionally, systems were composed of multiple threads which ommunciate with shared, synchronized state

Strong coupling, hard to compose

Systems are composed from loosely coupled event handlers

Decoupled

Scalable

An application is scalable if it is able to be expanded according to its usage

  1. Scale up:
    1. make use of parallelism in multi-core systems
    2. minimize shared mutable state
  2. Scale out:
    1. make use of multiple server nodes
    2. location transparency, resilience

Resilient

Responsive

An application is responsive if it provides rich, real time interaction with its users even under load and in presence of failures

Responsive applications: