Amazon AWS Cloud Conversion

All small businesses are affected at one time or another by growing pains, whether in staffing, product offerings, or technology.  One of our clients recently contacted us to say that they had outgrown their “home grown” system and needed to find a real enterprise solution with an architecture that would last through their next few stages of growth or beyond.

In this situation, the client wanted to move from multiple co-location cabinets to a 100% cloud based solution with zero single points of failure.  Zero single points of failure means that if any one system goes down, it cannot take the rest of the system with it.  Cost is increased, but confidence and reliability are also increased.

Challenges of the migration:

  • Multiple co-location facilities
  • Around 1 terabyte of database data split onto two MySQL master-master chains each with one or more slaves
  • Multiple active developers continuing with day-to-day engineering work
  • Could not be down for days as data was transferred
  • Multiple regions were desired for complete redundancy

Solutions:

  • Created MySQL slaves on the EC2 architecture and replicated data pre-migration in real time to the cloud for the two MySQL chains
  • Created site-to-site networking (with OpenVPN) for secured VPN networking between the co-location facility and the EC2 VPC (virtual private cloud)
  • Utilized Route 53 for DNS services and enabled latency-based routing with health checks to route users to their nearest data center
  • Various software tweaks to have their system be aware of where it is being executed and make appropriate connections

Result:

  • Migration was performed with approximately 1 minute of downtime
  • Client system now has zero single points of failure
  • Client can now add servers and capacity as needed without physically purchasing hardware or going to a data center

Timeline and costs:

  • Project was completed ahead of schedule
  • Costs for cloud hosting services are coming in exactly within predicted range

Personally, this was a really fun project.  It’s great to see a client’s systems mature from something “home grown” into a real enterprise solution.  I know they now have an architecture that will last them a very long time.