In a previous post, Envato Market: To The Cloud! we discussed why we moved the Envato Market websites to Amazon Web Services (AWS) and a little bit about how we did it. In this post we’ll explore more of the technologies we used, why we chose them and the pros and cons we’ve found along the way.
To begin with there are a few key aspects to our design that we feel helped modernise the Market Infrastructure and allowed us to take advantage of running in a cloud environment.
- Where possible, everything should be an artefact
- Source code for the Market site
- System packages (services and libraries)
- Everything is defined by code
- Amazon Machine Images (AMIs) are built from code that lives in source control
- Infrastructure is built entirely using code that lives in source control
- The Market site is bundled into a tarball using scripts
- Performance and resiliency testing
- Form hypotheses about our infrastructure and then define mechanisms to prove them
We made a few technical decisions to achieve these goals along the way. Here we’ll lay those decisions out and why it worked for us, as well as some caveats we discovered along the way, but first.