Your web host may be virtual

Introduction

I recently wrote a post about putting phpBB in the Google Cloud. I learned that it’s not too hard to do if you have decent technical skills or even if they are more modest. There could be some serious upsides to putting your forum in a cloud like Google’s, Amazon Web Services (AWS) or Microsoft Azure. (There are other cloud vendors out there.) These could include lower costs, higher uptime, and scalability if you forum gets suddenly popular.

Most of us though contract with web hosts. For example, I use Siteground. Web hosts have server rooms somewhere where they keep all the equipment they need to host your forum plus lots of other websites. Most web hosts have multiple server rooms in various countries. The closer these are to their customers and their site viewers, the better. For example, Siteground has server farms in Chicago, London, Amsterdam and Singapore. They have incentive to organize their data centers to be fast and reliable because they control them. Siteground does this not only with four server farms, but by having an end-to-end solid state infrastructure. They figured out that although solid state drives (SSDs) were more expensive, they were heaps more reliable and faster than filling their server rooms with mechanical disk drives. It’s been key to their success as a company.

Virtual hosting

These days though some web hosts are figuring out they don’t need to bother with the actual hosting anymore. There are two ways they do this. One is old, the other is new.

The first way is to be a reseller. For example, ABC Hosting may actually rent servers in (hypothetically speaking) a Rackspace server room. Becoming a reseller is not hard. Siteground will let you be a reseller. Resellers are often people like me who have multiple clients and as a convenience to their customers also provide hosting. I don’t want to bother setting up a server farm, particularly if I can lease one. If I did, I would probably choose to become a Siteground reseller, since Siteground’s spiffy servers sold me on being their client. Siteground would provide a front end console for me to use, and consoles that my customers would use too to which I would apply my own logo and some custom pages. From the customer’s perspective, it looks like I have my own server room. The downside is that I would become responsible for any hosting issues. I would essentially be the support department, and I’m not available 24/7. I don’t want to get involved in the minutia of my client’s hosting, so I don’t expect to ever become a reseller, even though it would generate a good deal of passive income for my business.

The second way is that some web hosts are becoming virtual by using cloud providers. Who’s the number one host on the web? You probably don’t have to think too much: GoDaddy. You may be surprised to learn that in 2018, GoDaddy decided to move much of its hosting inside AWS. You can read why here. Basically, GoDaddy realized that AWS built a much better infrastructure. They can resell Amazon’s cloud services under their own label for less than they can maintain their own hosting centers. AWS has a sophisticated set of services and they have the fast connection and high reliability thing all figured out. This is not good news for GoDaddy’s hosting staff. Presumably most of them will be laid off at some point.

All this suggests that web hosting will be undergoing a fundamental transformation as hosts ditch their own hosting centers to find better reselling deals in the cloud. In short, your web host may become a virtual web host. If you host on GoDaddy, there’s a good chance it’s already virtual hosted on AWS.

Should you host in the cloud?

This does raise the question: why not just buy your hosting from a cloud vendor like AWS and skip a middle man? If you read my posts on cloud hosting, you’ll realize the main issue is that cloud hosting tends to be complicated to set up, maintain and troubleshoot, at least from the perspective of someone trying to get some web space without a lot of technical skills. Virtual web hosts like GoDaddy essentially become front ends for optimizing the hosting experience for people likely a lot like you who want the process to be simpler. So they offer 24/7 support, domain management and basic customer handholding while putting up a virtual front end that suggests they are doing all this themselves when in fact the technical infrastructure is outsourced to a major cloud vendor.

My bet is that at some point Siteground will do the same, in which case I will have less reason to use them. If I know a suite of virtual web hosts are all using AWS, for example, I can get choosier and choose a virtual host based on their support and the ease by which I can do things via their control panels. I can assume the reliability and speed will all be excellent since they are hosted in a professionally managed commercial cloud. Since I do have the technical skills to put my sites in a cloud like AWS, at some point I will probably just do that. I pay a premium primarily to call someone on the phone to resolve some technical issues. Right now the $20/month I pay for Siteground hosting for my domains is reasonable, even though I am guessing I could pay $10/month or less putting my sites in the cloud. I’d just have to fix any technical problems myself, and right now the cost difference doesn’t make it worth my time.

For most of you, this is probably true too. Price is certainly important when you decide who to host with, but ready support, easy interfaces to managing your sites and fast page load speeds probably matter more. At some point you either won’t know or won’t care if your web sites are actually in a major cloud vendor’s facilities somewhere. Virtual web hosts aren’t probably going to advertise this either.

If interested in Siteground hosting, use my affiliate link

If you are intrigued about my discussion of Siteground for web hosting, learn more on my rehosting page. If you decide to host with Siteground, please use my affiliate link. You won’t pay anything extra and I will earn a small commission.

Cloud service types and phpBB

Updated June 28, 2019

In a recent post I looked into putting phpBB in the cloud, the first in a series of related posts. In the first post I said that while it is possible to do it, phpBB is not a cloud-first software solution. There are advantages to putting phpBB in the cloud, such as scalability and potentially lower costs. But there are significant drawbacks for most forum administrators too, including almost no technical support and you must provide any system administration.

Cloud service are arranged around various service types. While the types can be breathtaking at times (look at Amazon’s many specialized web services) you can sort of lasso these into three types: IAAS (Infrastructure as a Service), PAAS (Platform as a Service) and SAAS (Software as a Service). As you will see, phpBB doesn’t fit neatly into any of these models.

IAAS (Infrastructure as a Service)

With IAAS, the cloud provider provides you with a set of basic tools and lets you have at it. The tools can be refined somewhat but generally you get an operating system (usually some variant of Linux), a web server (generally Apache) and a database (generally mySQL). The actual set of tools that you get depends on the package you select. In Amazon Web Services speak, this is the AMI (Amazon Machine Instance). Yes, there are AMIs for phpBB such as intuz’s and BitNami’s. However, these packages are not necessarily free. BitNami, for example, creates a “smart” integration of these tools along with other ones that are optimized for various cloud deployment patterns. You will probably be asked to pay for the privilege. A good package though it well thought out and cleverly integrated for maximum functionality and performance, and these phpBB AMIs should be finely tuned for phpBB. You might want to use one of these packages for an upfront cost and then rent it for a monthly fee.

Some packages/AMIs are free and come from a common library provided by the cloud vendor. You might want to install one of these instead. They likely won’t come as well integrated, but they will get the job done.

As much as an intelligent package/AMI helps, you still don’t get much in the way of handholding. You will generally get the most basic of control panels provided by the cloud provider and some SSH and database credentials. You are expected to know how to use SSH, FTP and relational databases. Of course as time goes on, your operating system, web server and database software will need updating. Generally, operating system and security upgrades are handled for you in the background. But you may be expected to figure out how to do this by yourself, so make sure you understand what will and won’t be done for you. It’s hard to escape doing some of your work using SSH and the Unix prompt.

If none of this intimidates you, IAAS is a great choice and probably cheaper than using a web host. But basically you are trading your own time and expertise to lower hosting costs, but as a bonus you should get a scalable cloud service to handle high and low demand periods, that is if you set it up right. There is an art to fine-tuning cloud service as you need to balance between potential high usage spikes and your budget.

PAAS (Platform as a Service)

In general, PAAS cloud services are oriented around developers. If you want to be the next Facebook, for example, PAAS will provide you not just with infrastructure as a service but also a set of development tools finely optimized for you to develop unique cloud services. They tend to be oriented around one or more programming languages, such as Java or PHP, and one or more deployment engines, such as Kubernetes. The nice thing about PAAS is that you don’t manage much. Should the Java J2EE engine need an update, that will be handled for you. Consequently, PAAS tends to cost more than IAAS. You and your development team are then free to focus on developing that next Facebook.

phpBB of course is a prepackaged software solution. You shouldn’t be developing anything, unless perhaps you are an extension developer like me. But if you are an extension developer like me, you don’t need to develop your extension using PAAS because phpBB is not typically deployed in the cloud. Instead, you have a local web development environment and do your development there. You might want to test it on a web server connected to the Internet, but you don’t need PAAS to do that.

So basically, using the PAAS cloud service type for phpBB makes no sense.

SAAS (Software as a Service)

In the SAAS model, you use a cloud provider to provide a software solution in the cloud. Perhaps the best known SAAS provider is Office 365. Why install Microsoft Office on a PC when you can run it as a cloud service instead? It’s a popular model that is making some companies like Adobe (and its Adobe Creative Suite) or Salesforce.com tons of money. They’ve already figured out an optimal solution and they are happy to rent it to you for a fixed cost per month. If you don’t need it anymore, you cancel your contract. In some cases, you do actually download some software on your PC that works optimally with these services in the cloud. Many developers using PAAS are actually hoping to market their solutions as SAAS. Since SAAS is deployed in the cloud, it is presumably finely engineered for optimal performance in all kinds of workloads.

The thing is, you can sort of get phpBB as SAAS already. phpBB has a knowledge base article on how to do it with Microsoft Azure. There are also a number of sites that allow you to create phpBB forums on their servers, which are often for free for low usage sites, sort of how you can host a blog on wordpress.com for free under a subdomain like myblog.wordpress.com. And if you have web hosting already, there is usually a scripting center that allows you to install phpBB. But are these really providing software as a service? They arguably don’t because once you install phpBB you generally don’t want to use it “out of the box”. You want to change the style, or add extensions, or do all sort of fine-tuning. If you don’t need to do these things, then maybe these “SAAS” services are what you need. They just aren’t really SAAS, since you can’t give your site this degree of customization, because there is no way to do this other than to use phpBB. And if you use phpBB you will need to be able to upload and edit files on your phpBB instance.

Conclusion

With a better understanding of the cloud service types, you should now understand why phpBB is so rarely placed in the cloud. At its root, it’s because phpBB is not a cloud-first product, and probably never will be. In a future post, I’ll look into deploying phpBB using IAAS to give you some idea of what you might be getting into.

 

Should I host phpBB in the cloud?

So I’ve been playing with cloud providers, most recently looking at the Google Cloud in context with a WordPress group that I belong to. But over the years I’ve also studied Amazon Web Services, the original cloud provider. There are other cloud providers but really the only other major player is Microsoft Azure. Host on another cloud and you may find out that it won’t last in the long term, or is not a real cloud service. My goal is to eventually demonstrate how to run phpBB in the cloud, starting with the Google Cloud that I am currently exploring, and bring you along for the ride.

Characteristics of cloud services

There are lots of definitions of cloud services and cloud computing. From the perspective of someone who owns and manages a forum, all you probably really want to know about it what makes these services different than your typical web host like Siteground or GoDaddy. You will get lots of answers. Last year I helped move a big forum to Amazon’s EC2 cloud service. I got some preliminary answer from that work. Some differences:

  • Cloud services are scalable. If you have a host like GoDaddy and you outgrow the resources you are allowed to use inside the scope of your contract, you will get a little leeway. But generally you will be asked to move up to a higher class of hosting. This contrasts with cloud services. Its architecture lets your site grow seamlessly, at least if you set it up right, scaling up by a factor of 100 or more as needed, and maybe dropping back down after demand eases. So if you expect to have a forum that will get suddenly very, very popular, hosting with a cloud service should be a big selling point. Whereas, moving to a higher class of hosting at GoDaddy is potentially a lot of hassle.
  • You don’t get handholding with cloud services. Don’t expect to have a support hotline or a phone number that you can call to reach someone to help you struggle with technical issues. You either brings these skills with you or pay someone to leverage them for you.
  • Cloud services are not for cheapskates. It’s not that cloud services are inherently more expensive than traditional hosts. In many cases, cloud hosting is the better buy because you pay for what you use. Cloud services are elastic to scale on demand, so sometimes your costs will go way up for a given month. That’s because you are getting a lot more traffic or are using a lot more space or require additional virtual CPUs. Very tech savvy people who have small sites might be able to host for free in “micro instances” of these cloud services. Here’s a video that shows how a tech savvy person can spin up a site on a cloud service for less than a dollar a month, providing you know your site’s usage will be minimal. But you really have to know what you are doing. 

Why to not use a cloud service

  • You’re not a techie and want to stay that way. If you are paying $20 a month to Siteground, for example, it will seem like a rip off if you can do the same thing for $1 a month on the Google Cloud and it fits in a micro instance. But in most cases, it’s not. With web hosts, someone else is managing the infrastructure, providing 24/7 support and they provide a host of tools like cPanel to easily do things like manage files, create backups and create email addresses. You are free to concentrate more on what matters: your site and its content, and leave the heavy lifting to a company which is probably doing it for hundreds of people using the same machine you are. Someone else worries about security patches, system upgrades and site vulnerabilities. Yes, often if you manage a phpBB forum, you do have to put your hands into the soil, so to speak. You might have to create email addresses or tweak something in a database, generally in a control panel like cPanel or Plesk. But that’s a whole lot easier than trying to upgrade a Linux kernel or managing an email server’s firewall rules.
  • You prefer fixed costs. You don’t like surprises, particularly financial surprises. With a contract and a good web host, you know what you are paying for, for how long, and what you can expect while you host with the provider.
  • You don’t need to worry about your site getting quickly popular. Your forum is not the next Instagram. It may grow some during the year and there may be some spikes in traffic here and there, but it’s manageable.
  • You like having tech support on speed dial. Hosts of course vary in the quality of the technical support they provide, but knowing you can call a technical person on the phone or chat with them online about some weird problem you are having is comforting.

With phpBB in particular, while it can be made to work in the cloud, it is not a cloud-first product. In truth, cloud-services are mostly for developers and large organizations. Generally they want the reliability and high “up time” that cloud services provide. Organizations use cloud services to mitigate their risks and lower costs; maintaining their own servers and technical support staff is expensive. Most of these organizations though do have developers. They are writing or maintaining systems or services to handle lots of needs, and most of these are proprietary, not using off the shelf software like phpBB. The exception is the Software as a Service model. Some companies like salesforce.com offer their solutions as services you can rent, and put their services in either a public or a private cloud of their own.

In my next post, I’ll look at the other two models cloud services offer, Platform as a Service and Infrastructure as a Service and explain why neither is a great match for phpBB. That said, sometimes you might want to put phpBB on one of these service types anyhow. We’ll explore why and the tradeoffs involved.

You probably don’t want to host phpBB on Amazon EC2

Occasionally I do something new. This month something new meant helping to rehost a client on Amazon Web Services (AWS). AWS provides cloud computing services, and its EC2 service (EC = Elastic Computing) is probably its most popular service.

Cloud services provide scalable services. Also, you pay for what you use. They can be configured so that if there are spikes in demand the service will become “elastic”, scaling to meet demand.

I did not do this rehosting by myself. The client had another technical guy that set up and configured his AWS EC2 workspace. The forum is very large with 2.6M posts. In addition to rehosting the forum, I had to upgrade the client at the same time to the newest version of phpBB and move his WordPress site. This project literally took months to complete, although I was not working on it all the time.

I don’t know what Amazon Machine Instance (AMI) was set up in this case. I don’t think the AMI chosen was ideal because WordPress had technical issues that required fine tuning EC2 to get things to work. One thing I took away from the project though is that there is a “tax” if you move to AWS. The learning curve is steep and the tools available to you are miniscule.

Some lessons learned:

  • AWS doesn’t do any handholding. While you get a console to configure EC2, you don’t get any rich control panel like cPanel or Plesk to allow you to easily do complex things. So there is no File Manager, no phpMyAdmin (unless you want to install it yourself), no easy way to create mailboxes or send email. Instead, you need a UNIX geek. I was given a SSH key file and I had to use that to do my work. This meant doing pretty much everything from the command line.
  • Connecting to the AWS workspace was complex since I had to use SSH. The command lines used to connect with SSH were long to type in and easy to get wrong. I had to reference an argument to use the key (.pem) file I was given. When you work from the command line, it’s easy to type something incorrectly. So you often end up typing the command multiple times until you get it right. Closing and opening sessions becomes time consuming and a hassle.
  • To access the database, I had to do it from the command line. It took a while to get database credentials and since I had to do things from the command line again I had to type statements very carefully. I had to export and import databases but getting the syntax just right was challenging. I frequently had to go into the database to tweak things, which meant typing a lot of SQL statements. It’s a good thing I am very fluent in SQL. This really slowed me down. Had I had phpMyAdmin, I would have saved hours of time and hassle.
  • File permissions were a pain. The default user did not have the permissions to the web root folder, which meant becoming root and granting correct group and file permissions. Then secure FTP would work. These problems kept recurring which made the process quite tedious and time consuming.
  • The Apache web server was not configured correctly for WordPress. The AMI was apparently not tuned for WordPress, so it took research and carefully editing of a httpd.conf file to get the settings right. Then the web server had to be restarted from the command line, which is not intuitive, particularly since it had to be done as root.
  • Editing files became a pain. There was a lot of this, mostly tweaking forum styles, templates and configuration files. Since I had only the command line, I had to use a command line text editor. I chose nano, but it was still tedious. There is also a lot of command line navigation to get to the right folders where you needed to do stuff. This would have been easier if I had an editor on my computer that worked with SSH and .pem files. I had the former but not that latter, as I use an old copy of Dreamweaver to more easily edit files remotely.
  • I often had to become root to do things, like read the error_log file to troubleshoot issues.
  • The database import for the forum failed three times. I finally figured out the issue from the obscure error message. I had written two triggers for the client and that required CREATE TRIGGER privileges that were not granted to the default MySQL DBA. I had to snip these lines out of a 2GB+ export file to get the import to succeed. This has never been a problem on other hosts I have worked on.
  • Setting up HTTPS was a pain. It too required special permissions to create public and private key files, on the command line only, of course. It took many attempts before it worked and a valid certificate was installed. While we were waiting to test WordPress and the forum, it required using the long URL provided by AWS, which meant changing the configuration of WordPress and phpBB via the database.

I suspect that the wrong AMI was used or that using a better one would have prevented a lot of problems. In any event, the move to AWS turned out to be tricky, time consuming and a large hassle. For my client, it was an expensive endeavor. It turned out that all this work turned into my largest bill ever. In that sense it was good, although I would have been happier if it had spent a lot less time and a lot less of his money.

Now that my client is on AWS though, as long as it is tuned properly there will be some big advantages. Hosting may cost less in the long run, and the service should be more predictable and scalable.

If you take up a project like this, you will definitely need someone who has set up AWS EC2 instances successfully and will work through all these issues with you. Even so he could not do it alone. The migration took four days to complete, although the forum was functional in less than twenty four hours.

For very large forums that need scalability and high reliability, using a cloud service like AWS makes a lot of sense. However, a project like this should not be taken lightly. Most forum owners will probably be much more comfortable on a good shared host, or a good virtual or dedicated server. 

 

Where should you be hosting?

It’s not unusual for forum owners to want to rehost. Rehosting though is a big decision. You generally pay for a year or more of hosting up front and you have no assurance that the new host will be better, or even as good, as your current host. In addition, moving a forum to a new host is a pain, which is why a significant part of my business is helping clients move their forums. If you’d like me to help, send me an inquiry.

It does beg the question of where you should move to. Generally the pain level has to be pretty high to move to a new host. It’s often easier to renew what you have or pick a higher level of service with your current host than tackle the time and expense of rehosting.

Hosting is in flux

For the most part you are left to sifting through the general hosting market to figure out a good host. And the hosting market like much in the IT world is in flux. Thus, my recommendations to clients has changed over time. For example, I used to recommend HostGator to my clients and even hosted my sites there too. Then Hostgator became a victim of its own success. It got bought out and is now just another company that is part of the Endurance International Group portfolio. About the time they were bought out, the quality of their hosting declined. I noticed a marked decline in their technical support. Needless to say I don’t recommend Hostgator anymore.

High usage solutions

Certain forums fall into a specialized class of hosting. If you are one of these forums, you are already probably on specialized hosting. Mostly these are highly trafficked forums. To deal with the hundred or thousands of posts per day, you are likely on a dedicated or virtual private server, and are probably paying handsomely for the privilege. If you fall into this category but are on shared hosting, you probably are having issues and need to pay for one of these solutions.

Stick with commodity software

One thing for sure: get generic web hosting. This means you need a cheap LAMP stack: Linux (operating system), Apache (web server, although nginx is acceptable), MySQL or MariaDB (its clone) for the database and PHP for the scripting language. phpBB of course is written in PHP so it must be available. Don’t pay for Windows hosting. It’s more expensive, you don’t need it, it adds complications and you will probably get poorer performance.

My guess is less than 2% of forums fall into the high usage category, which means generally that inexpensive shared hosting is where most forums belong. Okay then, which shared hosting? There are lots of hosting guides on the web, most of dubious value. Working with lots of clients though I can tell you my own personal opinions. The final choice may come down to which services you value the most, such as fast and convenient technical support. As a general rule this is not available for shared hosting.

Here are my current ratings for popular web hosts with notes as applicable. I have no axe to grind and I make no money from these opinions so at least you know they are unbiased.

Shared Hosting

  • Grade A
    • Siteground – No telephone support but chat and ticket support. Nonetheless it is smartly engineered and well thought out with features like automatically managed Let’s Encrypt security certificates.
    • Bluehost – Technical support is a bit slow but you can usually get a hold of someone within half an hour or so. Great support once you get a representative. On par with Siteground. You might want to choose between them based on price or features.
    • MediaTemple (Grid service) – Proprietary control panel (not cPanel or Plesk) but uses all solid state drives. A bit harder to use than cPanel-based sites but much more reliable and fault tolerant than what is typically available, as well as faster-serving due to the solid state drives and the built in Content Delivery Network (CDN). Stay away if you are not particularly technically inclined. Redundancy is built in making it a great choice if you need high availability. This is actually Amazon Web Services under the hood but made much less geeky for us less technical people. Terrific and fast technical support but you have to understand their boundaries of what’s available on the Grid service.
  • Grade B
    • Hostpapa
    • 1and1 – Available in many countries including UK and much of Europe.
  • Grade C
    • Hostgator – See above
    • GoDaddy – Much better than they were a few years ago, decent technical support but sometimes there are frustrating issues with how they have their shared hosting configured. Lately I’ve been having users complain about poor integration with phpBB 3.2.
  • Grade D
    • Web.com – Really poor technical support with Level 1 techs who know very little and work hard to make you just go away. Their web hosting configuration is suboptimal, confusing, nonstandard and often causes problems as a result. If it’s anything beyond the most routine issue they will want to forward you to their Level 2 service for which they will charge a $75 fee.
    • Network Solutions – Part of the same conglomerate that owns web.com. It’s ironic considering Network Solutions used to be the center of the Internet, responsible for maintaining the whole Domain Name system. As a host though they suck and are expensive.
  • Grade F

Virtual Private and Dedicated Servers

For highly trafficked forums only. You basically need to be a system administrator or can hire one to use these solutions. Don’t expect any handholding because you will be lucky if you get any.

  • Grade A
    • MediaTemple – a premium web host worth paying for with terrific technical support
    • Rackspace – services more the business community with prices accordingly, but top notch
  • Grade B
    • Digital Ocean – nice fancy infrastructure with all solid state drive but you are basically on your own. You need to be a techie. Their host control panel can be baffling if you are used to cPanel.
  • Grade C
    • 1and1 – great prices for this class of service, but servers seem to be old and underperforming. Technical support is above average for this tier.

Specialized solutions

  • Amazon Web Services EC2 – only for geeks, but it allows scalable cloud computing. There are AMI (Amazon Machine Instances) for phpBB that you can install.

Obviously I left out lots of hosts as there are hundreds out there. I reference the ones I work with most frequently with clients. Please leave comments about your experiences so others can benefit or avoid mistakes.