What is AWS Lightsail?
Amazon Lightsail is the most effortless way to start with Amazon Web Services (AWS) for developers who build websites or web applications. Back in 2016, Digital Ocean was gaining popularity among developers. It became a large enough threat that AWS decided to launch a competing product. It had the same pricing as Digital Ocean, a similar user interface, and AWS even included generous bandwidth at no additional cost. Lightsail is for developers. They can choose an image for their Lightsail instance that jumpstarts the dev project, so developers don’t have to disburse as much time installing software or frameworks.
No wonder it generated so much buzz on the launch day. Here’s a screenshot of the launch from Hacker News:
You can see a common theme among the comments: Predictable billing, no bandwidth cost, and Lightsail would be significantly cheaper than Amazon’s traditional EC2 servers.
How does AWS Lightsail work?
Over time, Amazon has improved the Lightsail portal. It has worked on working effectively in numerous locations. Lightsail is available in the following locations:
- US East (Ohio) (us-east-2)
- US East (N. Virginia) (us-east-1)
- US West (Oregon) (us-west-2)
- Asia Pacific (Mumbai) (ap-south-1)
- Asia Pacific (Seoul) (ap-northeast-2)
- Asia Pacific (Singapore) (ap-southeast-1)
- Asia Pacific (Sydney) (ap-southeast-2)
- Asia Pacific (Tokyo) (ap-northeast-1)
- Canada (Central) (ca-central-1)
- EU (Frankfurt) (eu-central-1)
- EU (Ireland) (eu-west-1)
- EU (London) (eu-west-2)
- EU (Paris) (eu-west-3)
- EU (Stockholm) (eu-north-1)
Apart from expanding its services, Amazon Lightsail has also worked on its pricing. Certainly, the wide variety of options will provide the user convenience and indeed draw more attention. Here is a quick look into the Lightsail free tier:
When you access lightsail, you are greeted with this clean interface:
Launching a new instance is easier too. All you need to do is to click on the ‘Create Instance’ button and select a couple of options:
Here you can see WordPress displayed prominently. With just a few clicks you get a fully functioning AWS instance that runs WordPress. What’s not to like?
What’s the catch?
Although Lightsail+WordPress sounds like a dream pair, it has a few limitations you should be aware of.
First Limitation
Severely limited CPU performance.
Although Lightsail instances display 2, 4, 8 vCPUs included in the price, you can’t use 100% of these CPU cores. Lightsail uses something called the ‘CPU Burst Capacity’ model to allocate resources to all instances. It’s not obvious at first glance, but if you dig into the documentation, you come across it: https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-viewing-instance-burst-capacity
This page mentions that each instance comes with a baseline capacity (5% of CPU core in some cases, and up to 30% cpu on some plans) and you earn burst limits where you can exceed the cpu usage for small durations.
These limits are a bit random, you start with a small CPU limit on smaller plans, then it rises up to 30% for the Linux $40/month plan, and falls again as you grow:
This makes it clear that AWS doesn’t want you to use Lightsail for any serious projects.
Lightsail explains the burst capacity with a diagram that shows how the capacity credits work.
While this sounds good in theory, keeping track of the CPU credits and bursts is a tedious task. When you are running low on CPU credits, you can experience the following issues:
- Slow WordPress and wp-admin operations
- White screen of death
- A complete outage that results in the following error message:
The sad part about this is that eventually, you earn enough CPU credits that the website gets back online. This results in an inconsistent hosting experience where your site is unresponsive at random and starts working again.
This is akin to hosting WordPress on one of those shared servers that charge $2 for unlimited websites. If you are adopting AWS mainly for site performance and availability, this is the opposite result.
At this point, you might be thinking, what if I hosted low-traffic websites that don’t get enough traffic? Would I stay under the CPU limits?
Well, you might. But these days, every WordPress website is subjected to constant probing by various bots trying to gain access or trying to exploit plugin vulnerabilities. Here’s a screenshot of the traffic log from mere 3 minutes on a WordPress instance:
As you can see, this is a lot more traffic than what you would see in Google Analytics. Over the course of 24 hours, you can even end up with 100,000+ visits, mainly by bots that keep consuming your precious CPU credits.
Another thing to consider is the background processing jobs started by various WordPress plugins. If you are using Yoast SEO, WooCommerce, WP-All-Import, Learndash, or any other popular plugins, be prepared for a number of CPU-intensive tasks that are run at predefined times using wp-cron.
This makes it tough to plan server capacity correctly.
Workaround for this limitation
Since Lightsail comes with strict cpu limits, the only workaround to this is good old-fashioned over-provisioning. I recommend picking the instance that you feel is ideal for your WordPress sites and doubling it. This may sound like a bit of bad advice or a joke, but I’m serious about it. Start with a larger instance than you need, and run it for 2 weeks. Over time, you’ll see a graph like this in Lightsail metrics:
If your instance metrics look like this, then congratulations, you have selected the appropriate instance. If you are spending too much time in the burstable zone, better go up 1 size. Otherwise, you’ll be presented with random timeouts and slowdowns as mentioned above.
If you are not using the burst capacity at all, you can safely scale down to a smaller size. Although that’s not as easy as it sounds. With Lightsail, you’ll need to launch a smaller instance manually and migrate WordPress to it. It may be tedious, but you’ll save on the monthly hosting cost in the long run.
Second Limitation
When you launch WordPress instance on Lightsail, you are greeted with this screen:
If you are coming from a cPanel or managed WordPress hosting provider, this can be a bit daunting. The only option presented is connecting to the server via SSH. Even the SSH screen that looks like this doesn’t help much with the next steps:
Unless you know where to look, all you get is a slightly old WordPress installation without SSL:
While this may be fine for Linux power users and people who love reading documentation, you might miss the following comforts:
- Ability to host multiple WordPress sites on the same server
- Automatic SSL certificates
- A familiar control panel to adjust server parameters
- Ability to see WordPress backups, restore them easily, and download locally
- Ability to send emails, login notifications, and password resets from WordPress
- Domain and redirection management
- Staging sites
- Easy access to phpMyAdmin
- Easy access to the site using FTP or file manager
These are some of the features we take for granted in most hosting control panels, but these are not available when you launch WordPress with Lightsail.
Workaround for this limitation
This may not sound much like a workaround, but the only way to get your wp-admin credentials is by connecting to the server via SSH. If you look at the documentation, you’ll see a step-by-step guide and a 120-second video that explains how to find your WordPress login details. (More at https://docs.bitnami.com/aws/apps/wordpress/get-started/first-steps/). I personally believe that you shouldn’t have to work this hard just to access a website, but that’s just my opinion.
Once you become familiar with SSH, you can work your way up to the limitations mentioned above and solve them one by one. One of the more daunting challenges is installing SSL certificates. At first glance, the documentation shows a list of commands to run which generate a self-signed certificate:
But if you go back to the top, there’s a slightly simple way using Let’s Encrypt certificates. This requires logging in as a superuser. Once you do that, you can run the ssl generation tool, enter the domain names, and it will issue SSL certificates for them.
Third limitation
No Support.
This shouldn’t come as a surprise, but Lightsail comes with zero technical support of any kind. If you have any billing issues, you can contact AWS support. But for all other issues, Amazon will direct you to their community forums. The following screenshot of Lightsail FAQs shows all available support options.
At the bottom, it says that there are paid support options available. If you dig deeper, you’ll find that these support options only help with AWS issues, (Such as instance not starting, network issues etc.) but if your site breaks due to a WordPress plugin, you are on your own.
Workaround for this limitation
If you require help with server administration and WordPress troubleshooting, you’ll need to hire a developer or a support agency. A quick search for ‘unlimited WordPress support’ will show you various support agencies that are up for this job. If you are on a budget, places like Fiverr or Upwork can return good results once in a while.
Fourth Limitation
No WordPress-specific security measures.
When you launch WordPress on lightsail, you get a generic Apache server with WordPress installed on it. There is no firewall that can prevent WordPress malware. You need to install WordPress updates periodically to keep the site secure.
If you use more than a few plugins on your site, this can quickly become a security concern. As you know, even the most popular plugins have 0-day exploits from time to time, and having no firewall leaves your site vulnerable.
Workaround for this limitation
Since there is no web application firewall included by default with Lightsail, you need to purchase it separately. Solutions like Sucuri and Cloudflare Pro are usually sufficient for most WordPress businesses. To keep WordPress up to date, you can use a solution like ManageWP or InfiniteWP.
Fifth Limitation
No automatic backups
When you launch WordPress using Lightsail, it can be easy to forget about backups. Unless you manually enable instance snapshots in Lightsail, you can easily lose all your data due to malware, user error, or accidental deletion of the instance.
Even when you have snapshots enabled, there is no easy way to simply download a few files or just a plugin from these. You need to launch a new server using a recent snapshot, connect via SSH and extract required data manually.
Workaround for this limitation
You’ll need to make it a habit of enabling automatic snapshots every time you launch a new Lightsail instance. This way you will have a daily snapshot of the server available for recovery.
If you need to often restore older versions of plugins, themes, or media, then you’ll need a WordPress-specific backup plugin, such as Updraft, Blogvault, or All-in-one WP Backup.
Alternatives to Lightsail
If you select other cloud providers such as Digital Ocean, Vultr, or Linode, you can easily get around the first limitation, restricted CPU capacity. You still need to deal with the learning curve of managing WordPress over ssh, but that’s the nature of cloud computing. You can also go directly to AWS EC2, and pick an appropriate instance without CPU limits.
An alternative to manual server administration is installing a control panel, such as Openlitespeed, Cyberpanel, etc. These control panels provide a graphical interface and take care of some of the routine server management tasks.
If you are responsible for maintaining important WordPress websites, check us out. At Nestify we provide fully managed WordPress hosting powered by Amazon’s latest EC2 instances that aren’t subject to CPU limits. We provide an intuitive control panel, and more importantly, 24×7 WordPress-specific support. All our hosting plans come with a 99.99% uptime guarantee, and a 7-day free trial. If you run the numbers, you’ll find our hosting to be more cost-effective than Lightsail.