Regular Quickhash-GUI users who have stuck with the product for several years will know that I have wrestled with various elements to draw a balance between the elements us open source developers often have, which is presenting our products as best we can but without it costing us a fortune.
In 2016, I moved from Sourceforge to hosting on AWS. Back then, I was quite new to AWS and, like many of us, built a website using largely default settings with little thought to the future. After about a year I had learned a lot more and made some improvements, one of which was the adoption of a Load Balancer to serve HTTPS traffic over SSL. That one thing alone has cost me a fortune ever since; an average of £30 a month all together. That’s quite a lot to pay for a website to just deliver a product that nobody is paying you for anyway!
So I then onboarded Ezoic, in an attempt to generate some ad revenue as donations are not all that common. I ran that for about 18 months until I decided enough was enough. The ads just do not suit my ambitions for the website and no matter how much a tweaked the settings, I couldn’t get it right. They annoy me, so they must annoy my users. So I have ditched that as well. Sure, it means a bit of a dip in the revenue I was trying to collect to cover the hosting fees. But at an average of $10 a month, it wasn’t worth it for the harm I felt it was doing for the ‘image’ of the product.
But not long after first using AWS, the base image I was using was getting out of scope for product updates such as updates to MySQL and PHP. Thanks to security plugins like Wordfence and some AWS backend security measures I think I kept the site online and safe but it kept nagging at me that I needed to migrate to a newer base image but I didn’t want the pain that would surely go with it!
Well, in recent times over the last weekend and the last few evenings, and after much trial and error, I worked out how to
- Backup my entire website, including database and plugins values
- Launch a new base image
- Assign a static IP to it
- Temporarily switch the DNS records in Route 53 from the old Load Balancer and server to the new non-load-balanced server (which naturally caused some downtime)
- Modified the PHP max upload size in php.ini to allow uploading of large backups from the All-In-One-Migration plugin.
- Used Certbot to get a FREE ‘Lets Encrypt’ SSL certificate instead of using AWS’s “convenient, free, but actually expensive option because you’re forced to use a Load Balancer” option, and set it to direct all traffic to https, thus meaning I no longer http to https plugins (so I could then delete them too)
- Then switched the DNS records back to the original server while I restored the backup to the new one (by using just the IPv4 internet facing IP address)
- Restored all data to the new base image by first logging in to the new WordPress setup, then installing the All-In-One-Migration plugin on the new server and importing the backup
- Reconfigured Wordfence for the new server
- Reverted the php.ini settings back to what they were
- Closed down the old server
- Deleted the Load Balancer
- Deleted the Target Group
- Deleted the Ezoic integration making the site ad free again
- Created an AMI of the new server in case something goes wrong!
So, fingers crossed to a bright new future in a new server, at hopefully much less than it was costing before. I calculate that all I now have to pay is for the base image, the data from downloads, the Route 53 traffic, the AWS Workmail fee (of $4 a month for one e-mail address!) and disk storage. No Load Balancer fees anymore I hope. Obviously, if QuickHash-GUI gets a mention on a prime time TV show anytime soon, then obviously I might regret not having a Load Balancer! But hey, that is not likely.
If anyone else needs help with similar challenges, I feel now suitably armed with a bit of knowledge so may be able to help.
Leave a Reply