MSapp Database Upgraded

Clients and past SEO training attendees who use our MSapp system will notice some speed improvements as the platform has been seriously upgraded this morning.

For those of you who like website technologies and cloud hosting infrastructure, read on.

The entire platform was contained inside one (rather beefy) dedicated server, i.e. website, database and all the processing inside one computer. This has now been broken out into three servers (called instances) and located in Amazon’s Sydney Data Centre.

Whilst the storms, wind and rain lashed Brisbane over the weekend, I was busy preparing everything for this move, which happened early this morning.

Instead of everything in one computer, I’ve set-up the following…

  1. Database layer is now on an RDS platform which means it has the capability to expand its ram, disk space and even cpu if required. We can also add read-replicas, thanks for the tip @brucemorrison – looks like that will happen soon
  2. The previous main server, which housed the MySQL database, too, is now just used for handling the website, i.e. the web application layer. This is running much faster now just because the database is gone.

Those enhancements would probably have been enough but as I moved the database to another machine it became obvious that we could do one more thing…

  1. I was able to harness the resources from an under-utilised server (also in the same data centre) to run some of the continual batch processing jobs that are required behind the scenes. Previously, these batch jobs were run overnight on the main server and slowed it down.  Some jobs still need to be run this way for now but getting them off the main website has helped speed it up even more.

Why? We’re now flexible.

The flexibility this infrastructure shift brings is enormous. We can now adapt the right part of the system to make sure it is powered appropriate to its requirements.

The expectation is that…

  • The database will continue to need more power and data space. This is easy, just a few clicks.
  • We’ll have more and more batch processing to do which might necessitate either temporary servers that start and stop on their own, known as spot instances, or a constant processing (like we have right now) on a secondary server linked to the database
  • The database can be managed and backed up independently of the rest of the resources so as the number of users grows (staff, clients and seo training attendees) we can add to that server’s power too

BTW – Why did we do this? As an SEO what essential data do we manage and report on? Answers below…

TLDR;

Ben pressed a whole bunch of keys and the reporting platform is now way faster.