Our Experience With Cloud
Products in the Cloud
SmartaTech has its own product, URLPoke, running in the AWS (Amazon) cloud. It runs on three-plus servers: web (rails), database (mysql) and worker-bee (groovy).
We have experience setting up this product using the AWS API in such a way that the number of workers scales up and down depending on the load experienced. The method used to deploy the system in the first version was a combination of the AWS API and bash scripts. It was quite a tricky thing to set up, but many lessons were learnt along the way., It has been running successfully for over a year in the cloud, with over a hundred users. We saw this as a good way to experiment and learn about how to manipulate applications in the Cloud, and it really only emphasizes how accessible this facility is for rolling your own deployments. |
Lessons from this:
|
Cloud Orchestration
For version 2 of URLPoke we wanted to improve on the largely hand-crafted and bash-script driven approach to using the AWS Cloud.
Therefore we iimplemented automated deployment using Chef as the orchestration engine for deploying the application to base OSes rather than pre-crafted images. The Chef approach (scripts based on the Ruby language), with its rich library of cookbooks (e.g. for installing Apache, MySql, RVM and so on) is a truly great thing. Version 2 has been running for two years now, and using the Chef server has allowed us to upgrade individual nodes (e.g. the MySql box is a node) with new versions of software when required. Being in the Cloud, we can specify that this is a staging version, fire up a few staging servers and test it in the Cloud before pushing live. |
Lessons from this:
|