Coming to you from the cloud

The Thinker by Rodin

It’s not the least bit obvious to you but this blog is now coming to you from the cloud. My move to cloud computing is but my latest adventure in hosting. This blog has moved around so many times in its nearly fourteen years even I don’t remember all the places it’s been hosted at. For at least the last four years or so my sites have been hosted at Hostgator on its generally inexpensive shared hosting for about $15 a month (plus an annoying $4 a month for a dedicated IP).

Today though you are being served my fresh content from the cloud. Yes, I am using cloud computing at last, rather than a server in a server farm somewhere. Actually a server farm and a cloud-computing center look pretty much the same except the cloud-computing center is likely a lot bigger. Even I have no idea exactly where my words are coming from, but rest assured they are still sent from a machine on a rack deep in a hosting center somewhere.

All I really know is my blog comes from a gridserver.com domain, which is owned by MediaTemple. “Owned” probably does not apply here. I’m using MediaTemple’s Shared Grid, which is actually Amazon Web Services. I know this from calling their support and asking the question. While MediaTemple still has hosting centers, they have outsourced their shared hosting to AWS. MediaTemple is not alone. Oddly enough most major web hosts are outsourcing a lot of their hosting to someone who will do it faster, better and cheaper in the cloud. This is probably Amazon Web Services, but they are not alone either. Google and Microsoft are the two other major cloud providers and there are a host of smaller ones.

I’m in the cloud in part for cost but also because being in the cloud I get more value. MediaTemple’s Shared Grid service uses all solid state drives, which means there is none of the latency that exists from retrieving content off a disk drive, which requires moving disk platters around. So all things being even, response is faster on this hosting. Readers should also be “closer” to my blog: six routers in my case instead of sixteen to get through between server and browser. (Static content comes from a content delivery network I pay $9 a month for.) So now it’s like going through six stoplights to get to a destination instead of sixteen. A properly managed cloud-computing center also takes care of a lot of the hard stuff, mostly through advanced engineering. Outages are far less likely; patches are less likely to incur downtime. In general readers like you should expect faster response and fewer quirks and issues.

Where vendors like MediaTemple add value is by making using the cloud quite simple. If you were to buy an Amazon EC2 service, you would be expected to manage much of it yourself, including security and upgraded to the operating system. Amazon handles the backend stuff, but MediaTemple wrote a nice friendly wrapper with its control panel so I can use it without thinking too much. It is still technical to administer my sites at times but most stuff can be done elegantly inside its control panel.

Rehosting though is still a pain, which is why I’ve avoided the hassle and waited until my Hostgator contract was ready to expire. This is one of five domains I own. Moving each to the cloud is hardly a trivial process. It means moving masses of files around and in most cases exporting and importing a database, skills not easily acquired. I also have to edit a number of files to make the integration between programs and databases work. This all takes time, attention and a certain amount of geeky skills that I happen to have.

Since I can get this for a fair price (up to 100 domains for about $20 a month, with obvious overall resource quotas I am unlikely to exceed) my hope is this will be the last time I have to rehost. I’ve been plugging away at this for more than a day and my most challenging site still has to be moved. To move that I’ll also have to integrate a certificate first so that content can be sent securely.

In general though I am following the trends. At some point traditional hosting will be obsolete. It will all move to the cloud and probably hosted by Amazon, Google or Microsoft. You won’t know or care who’s doing the heavy lifting. Vendors like MediaTemple and HostGator will distinguish themselves by writing wrappers around cloud hosts for an optimal customer experience and by working with cloud providers so that the infrastructure can be highly tuned for their customers’ needs.

For you and me, reading my blog should be a faster, less quirky and a more reliable experience.

Your blog deserves a great Content Delivery Network

The Thinker by Rodin

While I do a lot of blogging, I suck at marketing my blog. Oh, I do look at who’s viewing my blog and check my statistics daily, and often more than once a day. Google Analytics provides a wealth of data on my web hits, and StatCounter is useful to see what was recently read. Aside from dressing up my blog’s sidebars with marketing stuff and making sure my content is easily accessible as a newsfeed, I can’t seem to be bothered to do much else.

Part of the problem is that my blog serves principally to keep me amused and to stave off boredom. If readers find an occasional post worthy of a Facebook Like or a Share, that’s nice, but I don’t lose sleep when they don’t. You would think that as a software engineer and someone who spent ten years directing the management of the largest web site in the U.S. Department of the Interior, I might find this web marketing business pretty easy. But one thing I learned early on is if you have great content, the marketing kind of takes care of itself.

In that job I simply worked to make the content more readily accessible and to make sure that the data was easily consumed. I spent much of my ten years there leading an effort to make the site’s data accessible as a set of web services. In this sense I do know marketing. When I left these new web services constituted the third most accessed site for my agency, in spite of not having existed just a few years earlier.

On this blog though my traffic is pretty anemic, particularly during the summer. There are things I could do to get more hits: shorter posts, more topical posts, turn it into more of a stream of consciousness blog and link ruthlessly to posts in other blogs, which seems to be the way blog aggregators like Tumblr work. Doing this though would ruin blogging for me. It might be successful, but I wouldn’t care. I’d be bored with my own blog.

During one of the recent Net Neutrality debates I mentioned that the Internet was already not net neutral. If you can afford little, you may (shudder) use an Earthlink dial-up account and watch web pages slowly draw themselves like they did in 1995. If you can afford $100 a month or more for Internet, or live in a place like Kansas City where you can get Google Fiber, you can cruise the Internet at 100MB per second or more. Some people have 1GB/sec connections.

If you have your own web site you also have some factors that limit the speed of your website. That’s the case with this blog. I host the site on hostgator.com, which is a really good shared web host. What’s not optimal about Hostgator is that while it can reliably serve most content at $5 or so a month, getting the data between its servers and your computer can be like going through every traffic light in town to get home from work as opposed to taking the expressway. It typically took eight or more “hops” to get my blog posts to my computer. A “hop” in this case means a router, which is effectively a traffic light as it routes parts of web pages from one place to another. According to Google Analytics that it took about ten seconds to load one of my web pages. Most of that was due to all those routers that had to be traversed.

So it finally dawned on me that this was probably a significant reason my traffic is declining. Google is looking at the hassle factor at getting content from my site, and is probably lowering my search rankings because of it. Aware of the problem for several years I have used CloudFlare to try to speed up the serving of my content. CloudFlare is a content delivery network or CDN. It specializes in reducing the number of traffic lights and making sure that my content goes through crazily fast connections, usually one physically close to where you are. Hostgator (and a lot of web hosts) offer CloudFlare for free to its customers. CloudFlare like every CDN sells a more expansive service for those with deeper pockets.

I had outsourced my CDN to CloudFlare, but I never really went back to look to see if it was doing a good job. There are probably things I could do to cache more of my content on CloudFlare’s servers (probably for money) but mostly I stuck with its defaults and ignored it. However, when I looked at Google Analytics, my average page load time was still stuck at around ten seconds.

Ten seconds is a long time to wait for content these days. So I figured I was probably losing a lot of readers because they lose patience and go elsewhere, particularly mobile users. We want every web page to load like a Google web page: fully dress itself for our eyes in a couple of seconds or less.

But not my blog. It was like a horse-drawn milk wagon compared with a racing car. Actually, this describes a lot of sites on the web, particularly Mom and Pop affairs where the owners know little or nothing about web architecture.

I decided to put on my software engineering hat, and started researching CDNs some more. There’s a lot of competition in the market, mostly aimed at well moneyed corporations. I’m just a little blog, however. And this blog runs on WordPress. What options do I have for a swift CDN that won’t cost me an arm and a leg? CloudFlare was free but it clearly wasn’t doing the job.

After some research I settled on MaxCND.com. For about $9 a month it will serve my pages quick. Of course if traffic increases a whole lot it could get a lot more expensive. But if I am content to use principally their servers in Europe and the USA (which is most of my readers) and I expect a terabyte or less of bandwidth a month then $9 a month should be fine. I can afford that. My pages seem to load in about 3 seconds now. A lot of the sidebar stuff comes from elsewhere, so that slows things down a bit. But the main content, if it is cached, takes about a second to load. That’s pretty impressive for $9 a month. And this fast speed might draw in new readers.

So far it’s looking good. Today’s traffic is roughly double what it was two days ago. Over time Google may take notice and rank my posts higher in their search engine. Here’s hoping.

Does your blog or website need a CDN too? It can’t hurt if you can afford it, and it can’t hurt to do your research and see which CDN is best optimized for your kind of content. MaxCDN has a plug in that works with WordPress to facilitate sharing. It was a little tedious to get it configured but the instructions were clear enough. Some of it is kind of wonky (how many people know what minifying is anyhow?) but the more technical you are the more you can fine tune things.

Please note you don’t need a CDN if you are using a blogging platform like Tumblr, BlogSpot or WordPress.com. They are already effectively CDN platforms as well as blogging sites. But if you host your own site and you want to increase traffic, integrating your site with the right CDN may be the most cost effective way to go.

I’ll be watching my metrics and perhaps reporting success or failure in the months ahead. So far the signs look good.