Given the fact that we have to serve a growing number of large customers, it was time for the next step. We wanted to make our infrastructure setup even more robust and reduce the amount of time we had to put into monitoring the servers and keeping deployment scripts up-to-date.
Two weeks ago we migrated the whole PhraseApp infrastructure to Amazon AWS. We took advantage of several services offered by Amazon that let us build a highly robust setup:
Amazon S3/Cloudfront (Storage)
Amazon EC2 (App Servers)
Amazon Route 53 (Routing)
Amazon RDS (Database)
Amazon AutoScaling (Auto Scaling)
Amazon ElasticLoadBalancer (SSL Termination + Load Balancing)
Amazon CloudFormation (for infrastructure changes)
Amazon ElastiCache (Caching)
Bringing PhraseApp to AWS has great advantages:
The whole setup is easier to manage
Scalability is not a problem any more
Great monitoring tools for the individual services are available (and free)
Provisioning and deployment is fully automated (using our own deployment tools)
A Robust And Scalable Database
Amazon RDS offers a fully hosted and managed database server in multiple availability zones with automatic failover which increases the overall uptime and data durability.
Although we performed database backups multiple times a day before, the snapshots feature of RDS lets us get rid of a rather complicated backup strategy and allows a much simpler point in time recovery – just in case.
Replacing Unhealthy Servers Automatically
Our AutoScaling configuration automatically replaces broken app server instances and allows us to scale up the capacity of PhraseApp within a matter of seconds using our own easy-to-use command line client.
Since we deploy AMI images we can roll back an erroneous revision in seconds.
Hosting PhraseApp on AWS was an easy decision to make.
Although the server bill is most likely higher than when using dedicated servers at a large hosting firm, it will pay off in the end. A fully automated setup is more robust and requires less time from our ops team. Time we can now spend to make PhraseApp better and faster.
Check out the provision toolkit we build. It’s provisioning script Urknall is OpenSource:
Urknall – Opionated provisioning for clever developersWe at Dynport GmbH are experts in scaling web applications. If you need help with your infrastructure, get in touch with us!
Be sure to subscribe and receive all updates from the PhraseApp blog straight to your inbox. You’ll receive localization best practices, about cultural aspects of breaking into new markets, guides and tutorials for optimizing software translation and other industry insights and information. Don’t miss out!
Also published on Medium.