Amazon Web Services is a major Infrastructure as a Service provider that provides elastic capacity, quick deployment and automation for applications without using capital expenditure. Within AWS are several infrastructure building blocks, including EC2, S3, and RDS, to name a few.
AWS may be a compelling choice for your app’s infrastructure needs, but remember, if you want more than just hosting, there are other categories of *aaS vendors, such as Platform as a Service, Software as a Service, and Backend as a Service, that address different application needs. You may want to consider vendors in “adjacent” service categories as well. That said, below is a list of best practices for hosting an app on AWS.
Use the right tool for the job.
Alex Handy, Senior editor of SD Times, advises: “Know what your project/application is and the problem it solves before you dig in. Let AWS manage the infrastructure so you can focus on the business you do best.” As previously mentioned, there are several services within the AWS offering. Alex suggests combining multiple: “For example, try Amazon Relational Database Service for your database, AWS Elastic Beanstalk for your development environment, or Amazon Elastic Map Reduce for your Hadoop cluster and Big Data needs.” Familiarize yourself with these tools before diving in.
Start by moving a small project to AWS before your full project is underway. This way you can fully test and learn about the various components that you’ll be using without worrying about managing an entire project.
Consider starting with Amazon’s free tier to test and become familiar with the platform before jumping into a full development effort. You get 5GB of storage free for a year on S3, so you can easily back something up for free to see if AWS is the way to go.
Leverage multiple availability zones.
If you want your app to be fault-tolerant, mirroring across availability zones is key for high availability and disaster recovery. Ensure your design anticipates and manages component failure to significantly reduce the chances of it failing.
Design for failure and nothing will fail
Understand Amazon’s disaster recovery principles, and always have a backup plan in the event of an outage. Our developers have compiled multiple guides on recovering from and preparing for an Amazon outage – take a look at the next segment, and learn how to be proactive for the sake of your application.