This is an example implementation of a Cloud Bursting architecture, with Workload Migration and Data Synchronization patterns.
It uses Spring's PetClinic reference application running on Tomcat with a MySQL back-end DB on each site, and GigaSpaces XAP to replicate data between the sites.
GigaSpaces Cloudify is used to support workload migration by automating spin-up of the secondary site in case of peak load.
Topology: 2 sites, single mysql server on each site with WAN replication (space+gateway). Tomcat servers running Petclinic against the mysql on each site.
- IaaS providers: EC2 and RackSpace
- DB: MySQL
- WAN replication channel: the following XAP PUs: G/W, feeder, processor.
- Load Balancer: RackSpace LB
- Demo application: PetClinic running in Tomcat, packaged as a Cloudify application.
Order of system bootstrap is as per above.
- Cheatsheet with detailed explanation on the system and how to configure it to your IaaS: https://github.com/dotanh/cloud-bursting/blob/master/Cloud_Bursting_cheatsheet.pdf (also available in editable RTF format)
- DB scripts for setting up the logging, schema and demo data for the PetClinic application
- PetClinic application (.war) file
- WAN replication gateway module
- Cloudify recipe for automating the PetClinic deployment
Blog post: http://horovits.wordpress.com/2012/06/12/cloud-bursting/