I recently completed a lift-and-shift migration of a WordPress website from a shared hosting platform to a cloud platform and informed the business owner that the migration and update of his website had been done. He then asked what it meant for him. For a split second what went through my mind was that I thought I had highlighted to him in the proposal phase the benefits of running his website in the cloud, before I restated some of the benefits to him.
Following that conversation I reviewed and implemented post migration steps to ensure that there were immediate and tangible benefits, however small, that the business derived from its website running in the cloud.
The software architecture of the website when it was on the shared hosting platform was monolithic. This means that all the files (code, database, images, etc) that composed the website were contained in the same server hosting the website. This meant that if there was failure that led to server outage the whole website could go down. A WordPress application by default is monolithic and such architecture is usually a good starting point when an idea wants to be tested for viability.
In a loosely-coupled architecture however, instead of being served from one server, the WordPress website can be served from three different servers: one to hold the code, a second to hold the relational database, and a third to hold the media files (e.g images, videos). Each of these specialised servers are optimised for the kind of data they hold and process. This architecture reduces the risk of the entire website going down when there is failure in one part of the website architecture. It also makes automation, scaling and recovery from failure easier.
Performance is also enhanced in a loosely coupled architecture. For example, in the lift-and-shift migration process I opted to serve the media files of the website from Google Cloud Store (an object store). While the code that runs a WordPress website can be less than 100 megabytes (MB) in size the media files can easily grow into tens and hundreds of gigabytes (GB). By storing the media files in a separate server from the one that serves code, the web pages of the website can be served faster and load quicker on user devices. Furthermore, the website benefits from Google’s global infrastructure for storage, maintenance, high availability and distribution of its media files. These performance enhancements lead to improved user experience on the website.
Deploying to the cloud compels a developer to adopt cloud-native software like Secure Socket Layer (SSL), Google Analytics and standard mail delivery and tracking services.
A WordPress application stores content in databases. Users who visit the website could leave comments and submit enquiries that can include emails and phone numbers if they wish to be contacted. With Google Analytics integrated on the website, interaction with its web pages can be tracked and analysed for insight. For example, the business can know which pages on its website are visited the most, how much time users spend on each page, the demography of its visitors, and from which sources on the web the visitors come.
The insight derived from its website can inform a business of its popular services and the nature of its audience. With this information they can run intelligent advertising campaigns which can be monitored, measured, analysed and reported.
One of the features of using cloud services is that the costs of running the pieces of infrastructure that run the website can be monitored and reported regularly. With its billing report a business can do cost-benefit analysis of running its software applications in the cloud.
As part of the lift-and-shift migration process I talked about in this writeup the business updated its website with content that reflected their current activities. The architecture and performance of the website was improved leading to better user experience. In addition modern, cloud-native software was integrated for use in monitoring and analysing data generated by the website so that the business can make more informed decisions.