Planning a complete Amazon Web Services infrastructure - Episode IV
Sustainable and production quality cloud computing has been on the rise over the past years - this summer, we successfully deployed a 3D rendering solution utilizing open source packages such as blender and infrastructure provided by Amazon’s EC2, SQS, and S3 solution.
For those just getting up to speed on Amazon’s Web Services stack, in it’s most laymen’s terms, Amazon has created individual computing elements - CPU, memory, drive space, storage, queueing, and a database (not to mention the many other business-oriented solutions such as Fulfillment and sales solutions). For our rendering system, EC2 powers our “servers”, SQS offers a fault-tolerant queue for messaging and job control, and S3 persistent (and cheap) storage.
So why Episode IV? Building the rendering farm is really Episodes I-III, maybe someday I’ll go back and write about that journey. Over the past three months, we have operated the render farm at RYZ Wear - www.ryzwear.com with minimal mishaps which included an 8 hour outage of the entire Amazon infrastructure (granted we have seen only two of these during the entire year). Our average costs have been around $800 ($500 for EC2 instances, $200 for SQS, and $100 for S3 and bandwidth) - not bad considering we are using a C1.XL (high CPU intensive) EC2 instance.
In August, Amazon released EBS - a persistent storage solution. Using EBS and Rightscale is simple - just create a volume, assign it to an instance and define the mount path. When the instance is created, EBS is mounted and voilla, your system is attached to persistent storage. This new development has paved the road for me to look at consolidating my infrastructure (our website runs on dedicated servers in a colocation facility) to 100% AWS.
While the infrastructure design is still iterating, here is where my head is at tonight:
- Elastic IP attached to a front end load balancing instance - this will handle all inbound web traffic, distributing load to each Web Server
- Multiple Web Servers running the ryzwear.com site
- Single MySQL instance attached to EBS
- Rearchitecting the render farm to have a single controller (reduce SQS charges)
Rough estimates puts my savings at close to $1800/mo (about 50% of my current infrastructure costs). Based on basic volume calculations we will also maintain our current level of computing power and have the ability to scale as load requires.
More to come as we embark on this adventure. Good luck to all of us using AWS!
Best,
Scott