Planning for Failure
The most critical facet to keep in mind when developing a large gaming environment in the cloud, like Egowall, is to plan for and expect Amazon Web Services (AWS) outages. The promises of High Availability (HA) when designing any infrastructure could create a false sense of confidence. No matter how thorough failover models are, developers and engineers need to have an AWS disaster recovery plan in place. In fact,
"It’s inevitable that EC2 instances will fail, and you need to plan for it. An instance failure isn’t a problem if your application is designed to handle it."
At Egowall, our strategies have always included preparing and planning for AWS cloud failures. This forward thinking is necessary to ensuring successful gameplay and will help diminish the impact that AWS outages could have on the Egowall application.
Keeping Egowall Redundant: The steps we took
1. Taking advantage of multiple availability zones while using Elastic Load Balancers (ELB).
2. Distributing incoming application traffic across multiple EC2 instances w/ ELB.
3. Keeping an eye on unhealthy instances behind ELBs.
4. Maintaining timely snapshots of our Elastic Block Storage (EBS Volumes).
5. Keeping critical data copies off the AWS Cloud & maintaining backups.
Component failure in a cloud system is a given; at Egowall we know components will fail and we designed our application around the known fallibilities. As we pioneer and build, having an integrated framework as a regular part of our strategy and thought processes enables Egowall to overcome the inevitable unforeseeable issues that working with a cloud architecture entails. We expect new challenges, but our preparation for redundancy coupled with the robust design of Egowall will mitigate these obstacles.