We originally designed Email Center Pro to be used as an internal tool to manage and track email communication with customers. Then we realized other businesses could benefit from our solution as well. This software-as-a-service model required us to put availability, performance and scalability at the forefront of our design requirements. Amazon Web Services have provided us with the tools that we need to address those concerns easily while focusing our efforts on developing a great product.
Amazon Web Services are at the core of the Email Center Pro infrastructure. We started out by storing all of the message content using the Simple Storage Service (S3). This provides each of our customers with an infinitely scalable storage area for their emails, attachments, and templates. As a small business, it helps us to sleep better knowing that our users’ data is safely stored in secured, managed data centers, and that we’re able to leverage the reputation and trust that Amazon has built over the last decade-plus of business.
We were so happy with the reliability and cost-benefit of using S3 that the next step was taking our application from traditional managed hosting to a full Elastic Compute Cloud (EC2) platform. We’ve developed a set of instance configurations that can be used to run any of the services that power Email Center Pro in “the cloud.” As a result, we can nearly instantly launch more computing power to balance load in times of peak traffic or mail volume. Another benefit of EC2 is that when we prepare to release updates, we can test them on instances running in an identical configuration to the production environment, parallel to the publicly accessible version of the application, and only when we need to test. For our relational database needs, we have been participating in Elastra‘s beta program. They’ve developed a way to run database servers on EC2 using S3 for persistent storage. As a result, we’ve been able to decrease database latency, since the Elastra instances are running within the same network as Email Center Pro application servers. The only component of our application that does not run within the sphere of Amazon Web Services is our mail gateway servers- and it’s just because we need a valid reverse DNS entry in order to avoid blacklisting.
In its early days, EC2 was primarily used to handle batches of asynchronous, processing-intensive tasks, but Amazon has made strides recently with features that have turned it into a true hosting platform. New developments such as static IP addressing and availability zones allow us to provide great uptime to our customers and protect against any single point of failure. And in the event of a true catastrophe, we do maintain traditional on-disk backups and warm database servers to get us back up and running quickly. In the near future, Amazon will be releasing persistent storage volumes for EC2, which will improve our search infrastructure, caching and more. Just today, they released full-blown technical support contracts, making EC2 a truly viable replacement for managed hosting.
When people hear about Amazon Web Services, buzzwords like “scalability” and “reliability” abound– but the proof is in the pudding. Email Center Pro is an example that you really can build an application entirely on the Amazon Web Services platform with great results.
Senior Software Design Engineer