AWS high availability simulation
JavaScript HTML CSS Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docs
src
.gitignore
README.md
build.sh
package.json
sim.html

README.md

Screetshot

Screetshot

AWS High Availability Simulation

First, make sure you have Browserify:

npm install -g browserify

To build the simulation:

./build.sh

To run, just open sim.html in a Chrome browser window. (Doesn't currently work in Safari. Haven't checked anything else.)

How it works

Use the "strategy" dropdown to choose a distribution strategy. The current ones are:

  • One region: Just US West 2. No HA unless it's AZs within the region.
  • Two regions: US West 2 and US East 1.
  • Three regions: Same as two regions, plus EU West 1.
  • Many regions: Same as three regions, plus AP Southeast 1 and AP Northeast 1.

Use the "US Only" field to specify a ratio of traffic (0.0 - 1.0) that has to go back to the US for whatever reason. (E.g., maybe there are tax or privacy reasons, maybe some services are deployed only in the US just because more global deployment would be challenging, etc.)

You can use the various checkboxes to induce region failures. (The idea is that either you're running a single AZ per region, or else AWS happens to lose multiple AZs in the region, which has happened before.) When you do this, you can see the traffic re-route to the failover regions.

The green dots represent traffic that's taking a reasonable amount of time. Yellow represents slow traffic, and red represents either seriously slow traffic (to the point of being a real user nuisance) or else traffic that never made it back at all.

In general, the more regions, the less latency. And the more US only traffic, the more latency.

Acknowledgments