I finally transitioned the hosting of this site from an Amazon S3 web container to a Vultr VPS. So easy it proved that I question why I’ve not done this prior. But let me explain the rationale and contrast the different hosting strategies in general.
Amazon S3 is highly redundant object storage infrastructure within the Amazon AWS framework. You store your data in buckets, which you can configure for public or private access.
You can also transform a bucket into a web container for hosting a static web site. All that remains is to direct your desired domain to the bucket’s address.
This is how I’ve hosted this site for the last few years. And why have I transitioned out?
Mainly, the S3 buckets are too heavily coupled with other Amazon AWS components. To be specific:
Any updates, access, or synchronization with the local files, and any bucket-related operations in general are handled either via the web browser interface, an API, or, in my case, a command line executable.
I’d rather handle all file manipulation via direct SSH/scp/rsync (and not by way of any pseudo S3 mountable file system).
All file/metadata operations execute a notch slower in comparison to direct manipulations on the server (be it a VPS or host provided). And that latency grows linearly across large batch operations.
Access logging/monitoring inconvenience
Too many components. Too many steps. I ultimately abandoned the prospect of catering the process to my liking, and settled on only occasional, imprecise metrics. Really, I can’t enough emphasize how excruciatingly painful I found this business of access monitoring.
S3 doesn’t directly provide an SSL certificate for your site. The separate AWS Certificate Authority handles that.
Regretfully, that requires the employment of Amazon CloudFront, as a yet additional web site access point. The whole management of affairs then becomes twice as opaque and thrice as painful.
Maybe I could have circumvented CloudFront for the sole end of obtaining a certificate. Maybe I could’ve managed the certificate through the DNS provider, although at one point this hadn’t worked. But then who’s to redirect HTTP traffic to HTTPS, which CloudFront otherwise handles?
Overall, I found too many behaviors handled by too many components for my taste.
And the benefits of Amazon S3?
Some sensational degree of redundancy at 99.99999999% (give or take a grain of precision) and extremely cheap for most, especially text-based static sites that don’t see a massive flood of traffic. No need to manage a VPS or a Host.
Now, operations-wise, knowing what I know, I’d rather deal with a VPS anytime. Only the relative costs have proven advantageous.
Do I really care for that ultra redundancy guarantee? Provided I already employ backup procedures? I’ve no problem slicing several precision points from that percentage.
In sum, I find S3 great for private backups, but inconvenient for hosting a web site with an aim to scale.
A web host
I’m well familiar with the particularities of using a traditional host such as Bluehost. In fact I’ve used one for well over a decade; not for this site, but other content. And now I’m set to transition all of that to a VPS as well. What gives?
Too many options. Too monolithic. At the same time, it lacks the control and the simplicity I seek.
C-panel or other graphical front ends
Don’t care for them. Too much hassle to execute procedures otherwise easily handled via root SSH server access.
I speak of procedures such as launching new sites, creating email accounts, FTP access, managing statistics, configuration options, etc.
I want an isolated instance, be it virtual or physical, don’t care.
Fixed SSH access
One specific account. No flexibility to create additional users or provide fine-grained permissions.
No root server access
This pertains to the lack of control. You’re bound to the OS, the kernel, the web server, the components, the versions, as provided and managed by the host.
Too expensive and inflexible pricing plans
Arbitrary limits on the number of web sites, emails, FTP accounts and the such.
A Virtual Private Server enables the optimal balance I seek. Incidently, I’ve already used VPSs for years, although strictly for private computation and storage purposes.
Vultr is the VPS provider I’d recently switched to.
Main advantage: control.
- Multitude of Linux variants to choose from (plus choices of BSD and Windows).
- Choice of data center location.
- Choice of virtual CPU capacity, memory, storage space and allowed bandwidth.
- Launch any amount of web sites, email accounts, or services, limited only by that VPS capacity.
- Unbounded SSH access. Administer your VPS the same way you’d administer your home server.
- Upgrade (or downgrade) the virtual server capacity and switch locations if need be.
- Provides an API to perform virtually any VPS-related administrative function via the command line: create/launch/restart/halt VPSs, manage the firewall, take server snapshots, reconfigure networking options, etc.
- Ease of SSL certificate assignment (from the Let’s Encrypt authority), directly on the server. No external infrastructure required.
- The capacity provided by even the cheapest of VPS instances facilitates my needs.
Take control and manage your web site from a VPS. You might have to initially soil your hands a bit, especially if inexperienced with a raw, terminal-based Linux or Unix environment. But the shift will pay off long-term.
Questions, comments? Connect.