
I moved this blog about two weeks ago, going from DigitalOcean to Amazon Web Services (AWS). I also changed my DNS registrar, something I’ll also talk about in this post. The main reason is about cost. I’ve a bit of a story to tell, so strap in.
As you can tell from the title, the specific AWS service I’m using is Lightsail. This is a virtual server product. You may have heard of AWS EC2 (Elastic Compute Cloud), which is AWS’ main virtual server product, and a lot more well known than Lightsail. Whenever people talk about AWS virtual servers, they most often mean EC2.
EC2 is great. However, for many hobbyists and small users, EC2’s pricing is very complex due to their many cost components. Its pay-as-you-use model measures too many consumption metrics, resulting in concerns about unpredictable costs.
Most other cloud providers of virtual private servers offered simple monthly cost. In 2016, I moved from DreamHost’s DreamCompute to DigitalOcean. DigitalOcean’s Droplets were simple. I just paid $X every month, pretty much like what I had paid before on DreamCompute, and mostly like how most cloud providers charged.
AWS Lightsail launched in late 2016, after I had already moved to DigitalOcean for about half a year. It was AWS’ answer to the simple virtual servers that users wanted. It came with simple, all-in (pretty much), predicable pricing. I was really excited about Lightsail. However, in the early years, Lightsail did not offer a “right fit” virtual server for my needs, so I was continued to stick with DigitalOcean.
Not unexpectedly, price plans change, new tiers are added, and/or existing tiers are adjusted. At some point, I really don’t remember exactly when, I begun to notice that Lightsail offered a tier that matches my DigitalOcean plan at a better price. The tier I’m looking at has 2 CPUs, 2 GB RAM, and 60 GB of storage. On DigitalOcean, this costs US$18.
The same instance configuration using AWS Lightsail costs US$12.
Both also include the same 3 TB of data transfers. There is a slight difference between how AWS and DigitalOcean meters transfers, but for the most part, we can consider them to be the same.
So there, it’s quite simple, a similarly configured virtual server for my needs costs somewhat less (by 33%) on AWS than on DigitalOcean. This is not true for all tiers, so if you need something else, you will have to run your own comparisons.
I, naturally, had to run some benchmarks. Afterall, I don’t want to switch over to a virtual server that performs worse. Maybe, for the cost savings, one might accept a small tradeoff. No matter what, it would be prudent to run some benchmark tests.
| DigitalOcean | AWS | |
| Ping (min/avg/max/std) | 2.894/4.188/15.197/1.542 | 2.918/3.857/5.375/0.494 |
| Freshping (min/avg/max) | 944/1525/5879 | 839/870/915 |
| Sysbench | 1386.20 | 1648.56 |
Ping latency is measured from my home broadband, which is ViewQwest. (ViewQwest network quality is generally bad, including wild latency variances, but I did make sure at the time of my tests, the network has behaving normally.) The figures are in ms.
The Freshping results re from Freshping’s website monitoring service. The figures show website response times, and the figures are in ms.
The last test is sysbench, executed with sysbench --threads="$(snproc)" cpu run, and the figures are in events per second.
You can see that AWS performs better than DigitalOcean in every way, except in the minimum measured ping latency. I did retest this several times and DigitalOcean always gets the minimum latency score, but it has greater variances and an average latency that is higher than AWS.
I am convinced AWS offers more stable performance. It’s not just ping times, Freshping response times, but also observed through other internal metrics such as WordPress’ own redis object cache times.
In any case, the differences as you can see are relatively small. From a technical perspective, either virtual server option would have been fine. Feature-wise, such as IPv6 support and easy snapshotting, they are both on par with each other. But when there is an appreciable cost savings to switch to AWS Lightsail, it seems like a no brainer.
I have been sitting on this thought of switching over to AWS Lightsail for at least a year. The chore of having to migrate WordPress, move copy over content, working out problems, and the potential for downtime, made me put things off over and over again. I’m happy that I finally made the switch.
AWS Lightsail also offers 90-days free for new users, so that basically means I also get 3 months of free hosting as an added bonus, though maybe half a month still goes to paying for DigitalOcean during the transition.
A related topic is about my DNS registrar. For a long time, Google has been my domain registrar for zitseng.com and other domain names. This used to be called Google Domains, and if you’re wondering why you don’t hear about it anymore, it’s because it was sold to Squarespace in 2023. Yes, Squarespace, that webhosting company. One of the things that has happened since is that they’ve increased the pricing for .com domain names to US$15. It was US$12 with Google Domains.
Of course, that’s not a huge amount. It’s just a difference of US$3 over a year. However, I’ve also moved my domain hosting (i.e. where my DNS zone records are maintained) to Cloudflare some time ago. It was partly because I didn’t like the Squarespace web interface, but also because certbot didn’t have a DNS API plug-in to work with Squarespace. It would be just easier for me to use Cloudflare. Cloudflare supports all DNS record types I need (e.g. AAAA, TXT), as well as includes DNSSEC and whois privacy protection.
While managing my domain records in Cloudflare, I noticed that Cloudflare charges just US$11.40 (including GST), or US$10.46 before GST. Cloudflare has a DNS API plug-in for certbot, and they pretty much do everything that Squarespace can do. It was a no brainer again. Just switch, right?
Yes, I did. Let me tell you one thing I discovered. Squarespace will not let go your domain so easily. As part of the domain registrar transfer, it’s standard to unlock the domain and get a transfer authorisation code at the old registrar. Where Squarespace differs is when the new registrar attempts to take over the domain. With other registrars, you usually get an email to confirm that you want to transfer out, and if you so confirm, it will be effected immediately. Squarespace, however, sends an email to ask if you want to cancel the transfer request, and will cancel it immediately it you so say. However, there is no option to confirm and proceed with the transfer immediately. Instead, to confirm the transfer, Squarespace requires you to wait out 5 days. This 5-days is the maximum wait period that ICANN mandates.
If you ever need to transfer domains out of Squarespace, just take note of this 5-days wait out period. Technically, this delay is inconsequential, but to me, it is just a hassle for me to need to continue to monitor the process instead of being able to wrap up the entire transfer within the hour.
It’s not a lot of money, but I’m pleased to see myself saving US$6 per month switching from DigitalOcean to AWS, and US$3 annually moving from Squarespace to Cloudflare. That’s US$75 per year. Not much, but still nice to have.
