Amazon Web Services might be the king of cloud computing today but there are still some best practices that even they cannot enforce. Here are some quick tips to help everyone get the best experience in the cloud.
Design for Failure
In the world of technology failure is inevitable. Companies that experience outages and failures are often haunted by them for a long time after the incident. Amazon Web Services helps you avoid disaster by having multiple regions, multiple availability zones and multiple VPC’s. All of these things allow you to create amazing redundancies at a fraction of the cost of a traditional data center.
At 45Squared we take your data seriously which is why we replicate our databases around the world. We can also launch your content through many countries ensuring that your website is always running and always available. We architect for failure by placing your website in multiple availability zones and regions if you want to keep your site always running. Being prepared for failure ties right into the next topic of scalability.
Be Ready to Scale
Amazon Web Services has taken a lot of the hard work out of creating a scalable application. Utilizing products such as Elastic Load Balancer (ELB) allows you to scale your application horizontally across many systems. At 45Squared we utilize ELB to scale your website when there is increased load on your website. By distributing the traffic across multiple hosts you are able to provide the same user experience to every single visitor without compromise.
Tying Elastic Load Balancer to auto-scaling allows for an even more advanced scaling ability. Auto-scaling allows for the ability to automate your application scale by creating rules for scaling.
Say that you have an application that gets a lot of activity during a specific time of day. You can setup rules that automatically setup new instances of your application this allows your application to never get bogged down by traffic spikes.
Utilize Separate Accounts
Many organizations think that they should only have one account. This makes sense initially from an accounting level. One account means one bill. This is counter-intuitive. Through utilization of multiple Amazon Web Services accounts you can separate your environments for added security. The most common accounts that are suggested are:
- Development: This is where your developers live. They can build here and not have to worry about causing any havoc elsewhere
- Testing: Once your developers think they have something ready for production this is a great place to stage everything
- Development: After the dust has cleared from testing this is where you put your ready to launch applications.
The concept of one bill becomes obsolete with this mindset. With three separate accounts you can track what each department is spending. This is great for accounting, management, and executive level staff.
There are many other best practices for Amazon Web Services and cloud computing in general. These 3 are some of the cornerstone ideas behind migrating to the cloud. If you have any questions reach out to 45Squared at anytime!
If you find this article helpful, pass it along to a friend!