Wednesday, 20 December 2017

Cloud Services Part 2: Postpartum

It's been a while since I wrote my last post, though not all that long since it appeared here. In that time we've made a great deal of progress, fought some unexpected dragons, and come out what we think is rather ahead.

Back when I wrote part 1 I had just finished gathering data from a few test environments in preparation for making a decision on a hosting provider. As a major change, it had to go around all the major stakeholders, including those who know how to ask tricky questions. That took a little while since, with support from a major client, we underwent an external audit of our new infrastructure before declaring it ready for testing. This gave us confidence that best practices had been followed and, vitally, gave us the ability to ensure our security-conscious clients of the safety of their data.

After whittling down the options with the twin razors of Practicality and Money, we were left with a choice between two excellent and well-supported platforms: Google Cloud, and Amazon Web Services. 

There was a small price difference in Google's favour and a small breadth of platform difference in Amazon's favour, but overall our final decision came down to ease of use and documentation. When you're renting essentially the same thing from the two biggest companies in commodity web hosting, it's the quality of life differences around the edges that outweigh the differences in the main offerings. For another company, and in particular for another sysadmin with different preferences, this decision might have been reversed - with no ill consequences, I hasten to add.
We eventually settled on using Google Compute Engine for the hosting, monitoring and so on, with a Cloud SQL instance as our database provision and a Cloud Storage bucket for documents and logos. This accomplished the aim of breaking our infrastructure up slightly from the previous situation of running everything on one server, giving us more flexibility to move forward.

Market Dojo is now running on a cluster of smaller instances behind a load balancer, with the shared state (messaging, file storage and database) abstracted to the other services. This means that each portion of Market Dojo - the application, the database and the document storage - can be scaled separately, granting us enormous flexibility. Under heavy load, we get bigger to best serve the requests. Under light load, we shrink, so saving both money and energy.

Further optimisations on the roadmap for next year, with the hope that we can deliver significant performance improvements as time goes by. We have already seen the benefits of being able to scale horizontally and deploy on a rolling basis, and while we will need to be careful to avoid vendor lock-in we have access to some of the most effective technology available.

To read the first part of this blog series click here.

Market Dojo helps procurement professionals negotiate better with our on-demand eSourcing tools. If you’d like to find out more, get in touch or register for free and play around with our software for yourself!


Post a Comment