StackAccel

≡ Menu

article

Part 5, Theme Recommendations

By this point, you’ve followed the previous setup information and should be ready to begin working with a demo site.    Which means that you’ve chosen a CMS platform, registered a domain name, selected an appropriate web host, configured DNS, and are now either at the point of choosing a 1-click WordPress instance, or your web host has sent you a link to get started.  Fantastic!  Pick a username and password, and click “Install WordPress”.  Then click Log In.

You’ll be presented with the WordPress Dashboard.  From this console, you’ll be able to change everything about the look and feel of your site, create content, and so on.  Good thing too… because by default your site probably looks something similar to this…

WordPressSetup.4

 

Now, before you get started changing your themes, let me introduce you to one of the biggest challenges with working with WordPress today… separating the good, from the bad (and the ugly).  This isn’t a problem unique to WordPress, or themes, or plug-ins… it’s a problem shared by any platform that has hit critical mass.  As with Microsoft Windows, or Android… the problem usually isn’t finding a tool or an app for the job… the real problem is often finding a good tool for job.  Few places is this more true than when applied to themes.  There’s just so many out there, and if you’re getting started, it’s really hard to know what’s good or bad until you’ve invested quite a bit of time building some familiarity.  So, let me try and save you some time.  In general, you want something that’s being actively developed or maintained by an organization was some staying power… you don’t want the theme to disappear next week.  You probably also want something that’s easy to manage.  Because even if you, or some of your technical resources are doing the initial work, it’s likely that you’ll want to turn over maintenance to someone else – marketing, or HR, etc. and in that case, you’ll need a theme that’s not too terribly hard to work with.  Finally, you’ll want something that’s responsive and looks good on mobile  devices (more on this later).

WordPressSetup.3

Beginner: If you’re just starting out and want to get your feet wet without spending hours looking at “free” themes, check out Themify.me.  Themify.me has plenty of good options – as in, themes that look pretty good, are generally easy to work with, and tend to not break your WordPress install.  For your time, it might be worth picking up “The Master Club” offering ($139), as it offers a good value and saves you from having to wade through a lot of junk.  At the same time it gives enough different themes and options to understand what’s possible.

Intermediate: While not necessarily as easy to get started with, the Avada theme from Theme Fusion is a popular and powerful option. At the risk of overselling this, it’s the #1 selling theme on Themeforest, run on more than 85,000 web sites.  While that might sound overused, the reality is that because it’s highly customizable you probably won’t find lots of other sites with a similar look and feel.  It’s not quite as beginner friendly as Themify.me’s stable of quality themes, but Avada pretty looks good with only a modicum of configuration work, and probably isn’t going to disappear overnight.

Advanced: In addition to what standard themes, there are also theme frameworks.  Two of the more popular  commercial theme frameworks include the Genesis Framework, and Thesis.  Theme frameworks allow you to extend the capabilities of WordPress.  You can think of them as platforms that sit on-top of WordPress and enable you to add functionality (e.g. drag and drop site layouts, replace or eliminate plug-in functionality using small code snippets, etc.).  You still need to add a child theme to skin the theme framework and provide a ‘look-and-feel’, so for starters you may just want to stick to the themify.me or Avada route, if for no other reason than economics.  If you really want to go work with a theme framework, let me save you some research.  There are a lot of conflicting articles and opinions discussing Genesis and Thesis.  When it comes down to it, Genesis is probably going to be easier to work with than Thesis 2.  Thesis lost some of its momentum when they released Thesis 2.  When it was released, there was painfully little documentation, and so it was more than a bit confusing for new comers.  Today?  Most of those documentation problems and bugs have been fixed.  Personally, I like Thesis 2…so your mileage may vary .  Unless you have a child theme that you absolutely have to have, and you want to use a theme framework, Genesis is probably going to be the easier of the two to work with.

 

Part 4, DNS Overview

If you didn’t register a domain name when you selected a hosting provider, then you probably did in the Domain Registration portion of this series.  After registering your domain, the next step is to get DNS (Domain Name System) configured so that when you type www.yourdomainname.com, your web-host responds and presents a web-page.

What is DNS?

At 30,000 feet, DNS is a hierarchical distributed naming system for resources.  It translates domain names (e.g. mydomain.com) into IP addresses (111.222.111.222) on the internet.  For the purposes of this article, we’re only really concerned about getting your domain name to point at your web-host.  And fortunately, that’s pretty easy.

What’s an IP address?

An IP address is a unique identifier that matches to your domain name.  IP addresses must be unique on the Internet (e.g. there’s only one 111.222.111.222).  Using a DNS configuration tool, we map that IP address to a domain name. Just because you registered your domain name with, say, GoDaddy… doesn’t mean that your DNS has to point to GoDaddy’s web-servers.  For example, if you registered your domain via GoDaddy, but you’re hosting your web-site on DigitalOcean, you can point your name servers at DigitalOcean. (e.g. n1.digitalocean.com, ns2.digitalocean.com, ns3.digitalocean.com).  In other words, if you login to GoDaddy, and go to Domain Management, you’ll be able to Manage the nameservers. In the above example, if ns1/ns2/ns3.digitalocean.com are listed in GoDaddy’s Domain Management page, that’s all you really need to do (assuming your site is up and configured at digitalocean).  What you’re doing by configuring the name servers there, is telling DNS that DigitalOcean is authoritative for your domain.  Once you do that,  all that GoDaddy is doing for you is pointing at the third-party DNS host.  So, if you want to make changes to DNS (e.g. create subdomains, configure a mail server, setup some types of CDNs, etc.), then you need to do it through DNS management console of your DNS host.  In this example, if you login to DigitalOcean, here’s what the DNS Management Console looks like: DigitalOceanDNSManagment What’s all of this stuff?

There are several different types of records, including A, CNAME, MX, SRV, and NS records.  If you’ve already configured your nameservers to point at DigitalOcean, then any changes you make here will be translate into behavior changes when folks type your web-address.  So, if your WordPress host is running on DigitalOcean, then all you need to do is create an A-record at point it at the IP address of your digitalocean WordPress server.

Where is my IP Address on DigitalOcean?  You can find the IP address of your DigitalOcean WordPress server by clicking on “Droplets”, and matching the IP address of your WordPress server (e.g. in our example, we’ll use 111.222.111.222). DigitalOceanFindMyIPAddress A-Records After you have that, click on the DNS in the left hand navigation column and create a new A-record.  In most cases, you’ll want to create a new A-record for “www”, and match it with your IP address. Alternatively, you could use [email protected] matched with your IP address.  Using the [email protected] symbol, is a reference to the root domain itself.  So in practice, here’s what this means…you probably want folks to reach your web-site by going to https://www.domain.com – so create an A-Record to point from www.domain.com to your IP address.  You probably also want folks who just type http://domain.com to reach your domain name, so create a second A-Record pointing [email protected] to your IP address.  That way, folks typing www.domain.com, or just domain.com will be directed to your IP address.

CNAME Records

A CNAME record works as an alias of the A record.  That way, if an A Record’s IP address changes, the CNAME will follow to the new address automatically.  You might want to go ahead an create a CNAME record to point www to the root domain via [email protected] And then you can also use a wildcard to direct any mistyped records (e.g. wwq.domain.com) to domain.com by pointing an “*” to the root domain [email protected]

MX Records

An MX (mail exchanger ) record is a type of resource record for record that specifies the mail server responsible for accepting email messages on behalf of a recipient’s domain, and a preference value used to prioritize servers.  While beyond the scope of this article, the lower preference value (e.g. the lower number), the higher delivery preference, meaning that sending mail servers will look first to the highest priority to deliver (e.g. lowest number).  You can assign multiple records the same priority level to provide a type of load-balancing, or you can assign backup servers based if you have design considerations where the backup server is limited in some manner (e.g. high-latency internet connection, etc.).

Part 2, Managed vs. Budget WordPress Hosting

Did you check out Part 1?

In a market with an almost an unlimited number of choices, why is it so hard to find the right WordPress host?  After all, aren’t all of the building blocks low, or no-cost?  Between WordPress, Linux, inexpensive computing, and an endless supply of commodity providers that all look alike, doesn’t this resemble a perfectly competitive market? At least, it seems to at a glance, doesn’t it?

But if that’s the case, why is your current host so bad?

And why are there so many articles on who to choose, and why to choose them? (FYI… most reviewers are compensated though an affiliate program.  I’m not.).

It’s with you in mind, that I put together this article.  My goal is to present the topic from 30,000 feet, help you understand where the market is, and help you make the right choice.

Small Business Owners, Freelancers, and Startups 

If this describes you, and your business is doing anywhere from zero to $30 million in sales, then you probably don’t want to host your own WordPress site.   Temping as though it may be, particularly if you have a stack of servers in a datacenter somewhere, or a huge vSphere licensing investment, it’s still probably not worth your time to do.  On top of that, I just don’t know of many startups, freelancers, or small businesses that resemble what I just described.  Is it possible for you to host your own WordPress site?  Sure, you can technically do that with your residential high-speed connection and an old workstation with a LAMP stack running on it.  In fact, I bet someone on your team already pitched that idea, didn’t they?

… and that will work just fine, right up until the time when one of a thousand things that you didn’t know to plan for happens.  Then… you’ll have a mess.

So sure, it’s possible to host it yourself.  But realistically, in the majority of cases, I don’t buy what your developer or operations folks are pitching.  Unless they have recent specific experience, and it also happens to be a valuable way for them to spend their time (now, and in the future as they maintain the site), then it’s unlikely that you belong in the WordPress self-hosting game.  Why?  For reasons that start with security and reliability, but ultimately end with the business case…. as in, do you actually have a reason to be in the WordPress hosting business?  Think about it this way… unless you reasonably stand to profit the investment you’re making in your WordPress infrastructure, why are you doing it?  Those expensive dev and ops resources that you have messing around with a WordPress VM… their time could probably be spent doing almost anything else.  After all, no matter how smart, well meaning, or capable they may appear to be, the reality is that WordPress hosting has already already been done better, and more cost effectively elsewhere, by companies that are backed with venture capital and can boast hosting north of 150,000 sites.  So yeah, your technical team might be able to get you up and running – but why are you spending your resources that way?  Sure, it’s an interesting Engineering challenge, but does it create any real value for you?  If you have developer or operations folks, the low-hanging fruit surely isn’t in reducing a cost that runs well under $2k per year, is it?  In short, it’s just really difficult to justify self-hosting in today’s market, if it’s not in some way either profitable or core for you to do so.

The Cheap way

(What shared WordPress hosting feels like)

(What shared WordPress hosting feels like)

If you’re a freelancer looking to spend less than $5 per month, then you’ve got plenty of options, my friend.  In fact, the vast majority of hosts are of the 1-click, $5 per month WordPress hosting variety.  I’m sure you’ve seen many of these names before.  Companies like…

HostGator, Dreamhost, BlueHost, 1and1.com, LaughingSquid.com, inmotion, webhostinghub, siteground, godaddywesthost, justhost, site5, hostmonstersiteground, and on, and on.  To the tune of several hundred more.

If you thought differentiating between phone systems was hard, then hold the phone… because these companies are nearly identical.  In fact, several of them are now just brands owned by the same parent company, Endurance International Group.  Have I worked with all of them?  No… there’s just too many.  I can’t tell you precisely what differentiates 1and1.com from HostGator this week, beyond the sale that 1and1.com is running today.  But, guess what?  Their customer services folks can’t either.  Of the handful that I’ve worked with, they’re all fine and good enough for small sites, blogs, and whatnot.  Sure, their support, uptime, and responsiveness all vary wildly, but it’s all the same cluttered marketplace.  I can’t speak to which host is really the flavor of the month, because it changes that often.  But averaging them out, I’ve yet to be impressed, or surprised.  If this seems like the right fit for you – just go ahead and pick whoever is running a sale this week.  And if you stay with them for long-enough, your experience will range from good to bad, and everywhere in between.

Managed way

(How managed hosting feels)

(How managed hosting feels)

If you’re coming at the topic of from a clean-slate, you may already be familiar with the inexpensive commodity hosts outlined above.  Beginning around 2009, providers started offering what’s become known as Managed WordPress hosting as an alternative to shared webhosting.  Since then, several companies have come to market with offerings that recognized there was a market not being served… folks with needs well beyond what the shared hosts could, or were interested in providing.  Managed WordPress hosting is about abstracting out the hosting layer from the WordPress layer environment.  Or, if you have a networking background… if budget web-hosts live at the data link layer, Managed WordPress hosts live in and above the Application layer.  In any event, here’s the general pitch…

Managed WordPress Hosts do everything that you don’t want to do, or that you don’t know you should be doing.

Things like Automated backups, managed WordPress and plugin updates, content delivery network (CDN) integration, and seamless scaling.  Never thought you’d need to be able to handle 50 million visitors a month, did you?  Not a problem, they planned for it and baked it into their solution.  What if you don’t have a clue, and need amazing support?  They have you covered.

Here are some of the bigger Managed Hosting names:

  • Pagely – A self-funded company that recently moved their infrastructure over to AWS – the original Managed WordPress host.
  • Flywheel – Focused on design and ease of use
  • WP Engine – Perhaps the biggest name in Managed WoWordPressosting, they’re now VC-backed, but have experienced growth-pains this year
  • Synthesis – Known for security
  • Pressable – Known for reliability
  • mediatemple.net – Now owned by Godaddy, but operates independently

The fact that many small businesses don’t think they need some of the features are, perhaps, a different conversation.    While your site might not ever serve up the number of visitors that TechCrunch, or CNN do, many of the features that Managed WordPress hosts bake into their platform are nice to have, and given that the cost runs somewhere between $49 and $200 per month, it’s still quite affordable.  Most importantly though, they’re doing all of the heavy lifting for you.

Is Managed WordPress hosting for real?

Here are a couple of the most common criticisms of Managed WordPress hosting.

“It’s just a higher-cost version of shared hosting”.

“So you’re charging me for something I can do myself?”.

Are these accurate? Or, more importantly are these legitimate? I don’t think so.  Look at it this way…  budget web-hosts are incentivized to maximize the density of their environments, as-in stacking as many customers as possible onto a piece of hardware so that they can still profitably run those $1.00 per month promos.  On the opposite end of the spectrum, Managed WordPress hosts are in the business of having happy customers that don’t even think about “hosting”, and rightly assume that the Managed WordPress Hosts are in the business of making sure the back-end is always capable of providing their end-customers with a great experience.   Put differently, would you rather have the budget host that’s putting out fires everyday?  Or would you rather spend a few hundred extra dollars a year to not have to worry about it?  Perhaps the biggest differentiator though between Managed WordPress hosting and budget hosting is support, because they’re incentivized to deliver the best customer experience possible, in order to continue justifying the premium they charge.

Of course, it’s true that you could probably do it all yourself.  But is that really the most valuable thing you, or your team can be doing for your business?

The Hard Way

So what’s left?  Virtual Private Servers (VPS).

If you’re coming at this as a SysAdmin, a web developer, or from an Engineering background, the most tempting option is usually the hard way.  I wish I could say that I just didn’t understand the temptation… but I get it it, even if I don’t agree with it.  Before you go down this path though, think about what your time is worth.  What’s the opportunity cost to rolling it yourself?  More than that, unless you’re a Linux admin by trade, one who just so happens to also be a web developer, and loves tweaking Apache or Nginx, setting up MySQL databases, and the like… then it might just be that your time is more valuable doing something other than re-inventing this wheel.

VPS environments are pretty much what they sound like… dedicated virtual machines that you rent from an infrastructure company.  This is nearly identical to the “I can host this myself” approach to things, except that most of these providers have a solid and redundant infrastructure.  Meaning, when something breaks it’s usually your fault, not theirs.  With a VPS you get a dedicated operating system, where you have root access and can do anything you want on the virtual machine.  If you’re a SysAdmin, it’s just like logging into vCenter and deploying another instance of CentOS from a template.  The primary difference though is that the VPS instance is usually housed in a datacenter that’s built for availability, as opposed to your corporate datacenter which may or may not have things like multiple utility providers, or Internet connections.

Which VPS to choose?  Well, he’s a list of several hundred options.  If you must go down this path though, I’ve had good experiences with DigitalOcean.  From a cost standpoint, DigitalOcean competes in the same cost range as the shared web-hosts, as well as the VPS variety.  The difference though is that DigitalOcean doesn’t suck.  You can even think of DigitalOcean as AWS-lite with a cost resembling the commodity web hosts of the world.  They don’t yet have a platform that’s as massive as AWS or Azure, but you can spin-up “droplets” (VMs) similar to the way you would bring up new machines from templates in vCenter, or on AWS/Azure.  Snapshots?  Sure thing.  Backups?  Of course.  Their big differentiator though is that their VMs run on SSD drives.  And before you ask… Yes, they’re quite fast.

My Recommendation:

Why over complicate this?  A Managed WordPress host is there to take care of the details.  Sure, you can get a lower cost platform using a shared host, but your mileage will vary.  Of course, you can always build your own WordPress environment, or run a VPS instance – but it’s not usually a high-value use of Engineering resources (even if you have the technical expertise).  For managed WordPress hosting, I like Pagely based on their history, reputation, and the fact that they’re self-funded.

Phone System Guide Part 2: Allworx vs. Everybody else

If you haven’t read Part 1 of the guide yet, you might want to go back and read it first.

Even if you’re unfamiliar with the work of Frank Loyd Wright, his place in American architecture, or the sheer volume of what he produced, you probably recognize Fallingwater.  It was commissioned as a weekend retreat for the Kaufmann family of Pittsburgh, and was completed in 1937 at a cost of about $155,000 (at least $2.6 million in today’s dollars).    It was built for a time, and for clients that valued quality or quantity, and appreciated Wright’s organic style.  It’s a stark contrast to the modern tract-style McMansion.  Let’s contrast Fallingwater with your investment in a phone system.

fallingwater-2

Phone Systems aren’t beautiful.

They’re not enduring.

They’re not even that unique.

Of the 150 phone systems that I’ve looked in the past year, they’re more than 90% identical. In fact, the only thing more ubiquitous than their feature-sets is the near universal contempt that business owners have for buying phone systems.  It’s not hard to see why… phone systems have a reputation of being big, expensive, and frustrating.  It’s an epitaph earned in earlier product generations.

As I alluded to in Part I, and elaborated on in my free PDF download, before buying a phone system – you should know what you care about.  Not everything mind you… you don’t necessarily need every detail thought-out beforehand (that’s part of why you’re soliciting bids, after all).  But at 30,000 feet… if there’s one or two must-have feature requirements for you, be sure you know what those are.  Otherwise, if you bring in the integrators who compete in this space – unless you have a very specific need, or have a situation where there’s a clear incumbent, you’re going to find yourself comparing apples and oranges in a market saturated with feature overlap.

Given no constraints, I’m a big fan of ShoreTel’s Unified Communications Platform.  As much as I respect Asterisk-based systems, and the contributions that Digium has made to the ecosystem, I can’t help but like ShoreTel’s platform.  To the extent that a phone system can be beautifully designed… this one is.  The platform runs on a combination of embedded Linux, and VxWorks (it’s the same OS that runs the Mars Curiosity Rover).  Interested in five-nine’s?  It’s achievable.  Geographic failover, high-volume call centers, fancy mobility features (that few people actually use) – all the boxes are checked.   In other words, ShoreTel’s platform is the phone-system equivalent to a home designed by Frank Loyd Wright.  Or if that analogy doesn’t strike you, than it’s probably the BMW of phone systems.

But here’s the thing… most of us don’t want, or need to live in a home built by Frank Loyd Wright, just most of us don’t need something like a BMW 7-series.   More than that though, even with some innovative modern takes on the Prairie style home, and renewed general interest in organic architecture – your average executive is going to pick a turn-key tract-style McMansion in the suburbs near the office, over a Frank Loyd Wright original.  Why?  Because the tract style McMansion is good enough.

mcmansion

Enter the tract-style McMansion of phone systems.

The Allworx Unified Communications platform was conceived of in 1998 by two engineering executives from Kodak and Xerox who formed what later became known as Allworx. During the first few years of business, while the Allworx system was being developed, the company established a presence doing consulting work for big-name organizations like Kodak, HP, Xerox, and Harris. The Allworx phone system came to market at just the right time in 2002. With the platform positioned as a turn-key VoIP telephony solution, it competed feature-for-feature with many higher-cost alternatives, which were often sold via regional telephony providers. As Allworx grew, it was acquired by a publicly traded Fortune 1000 company, before eventually becoming an asset of Windstream Communications in 2011. If this were a different company, then the story would probably have ended in relative obscurity as nameless corporate asset.  But that doesn’t appear to be the fate for Allworx with Windstream… since 2011, Windstream, leveraging their role a telephony provider in some markets, and taken clear steps to increase market penetration for the Allworx’s product line.  As a result, the Allworx platform has experienced revenue growth of more than 250% over the past year. As of last check, the Allworx division had 80 employees, and their product continues to win market share from higher-cost alternatives sold by companies Cisco, Avaya, ShoreTel, and others.

Allworx is continuing to win business away from the high-cost Enterprise-focused competitors, by providing an innovative, low-cost, and easy to manage alternative with a rapid and continuous release cycle approach to upgrades and platform improvements.

Perhaps calling Allworx the “tract-style McMansion” of phone systems is the wrong tract, as it’s clearly a low-cost platform.  So if ShoreTel is BMW, then I’d venture to call Allworx the Toyota of phone systems.  Allworx is the mainstream, mid-sized economy of boring purposeful solutions.  It’s not a kit-car, like the FreeBPBX, nor is it a BMW 7-series.  But you’ll be hard-pressed to go as far at a comparable level of cost as the Allworx platform will take you.  It’s the purpose-built and priced-right unified communications solution for small and mid-sized organizations than want reliability and ease-of-use, without paying a premium for high-end hardware, or obscure feature-sets.  Put differently, a client recently contracted me to help them with phone system vendor selection, they were a medium-sized, multi-site organization, and I brought in bids from integrators representing products from Allworx, Cisco, NEC, Digium, as well as a Cloud-based solution.

Allworx had the lowest installed cost.

NEC and Digium solutions ranged 20%-25% higher.

ShoreTel?  2.5X.

Cisco… more than 3X.

Hosted solution?  It cost more per year than the Allworx solution.

By that I mean, not only was the installed cost of the hosted solution higher than Allworx, but you could afford re-purchase the entire Allworx solution every single year, for what the hosted solution cost.   Now granted, the hosted solution could tolerate a data center failure, since it’s serviced by separate regional datacenters.  That was its primary, albeit expensive edge.

How reliable is the Allworx solution?

Availability can be measured in terms of nines of reliability. For example, the platinum standard is five-nines… 99.999%.  That’s a cumulative total outage of 5.62 minutes per year.  To put that in perspective, last year Google failed to achieve five-nine’s of availability in search.  Surprised?  Amazon and Netflix fared far worse .  In fact, even the public switched phone network fails to reliability achieve five-nines in a given year.  There are a lot of reasons why five-nine’s is hard to achieve, but to give you some perspective… the difference between four-nines and five-nines is 47 minutes per year.  The cost of targeting five-nines tends to grow exponentially as you approach it.  On the other side of the fence, phone system manufacturers love to tout five-nines.  And it’s not just a bullet point on their marketing material, because targeting five-nine’s adds complexity, hardware, licensing, and cost.  So while you may desire 99.999% availability, something to keep in mind is that even if your system can conceivably this level of availability, make sure you have an obvious business case for it.  As in, unless your business lives and dies by the phone (e.g. a busy call center), you might be overbuying.  In my experience, my clients that have Allworx systems are generally seeing around 99.9% availability in a given year.

If you require anything resembling five-nines, you shouldn’t buy the Allworx 48X.  It’s just not designed with high-availability in mind.  Allworx makes no pretense about it… there’s simply no attempt at competing in high-availability space.  Which means Allworx can spend their time and resources improving things that the target market values … bug-fixes, usability, and day-to-day feature requests.  Perhaps that’s why you can afford to buy a cold-spare Allworx 48X, along with everything else and still have a more competitive offering than the competition does, even before the competition adds high availability capabilities.

Wright’s masterpiece, Fallingwater was completed in a timespan of three years, and overlaps two other of his great works from the late 1930s.  The original sketch for Fallingwater was actually drawn up while Kaufmann was on his way to meet with Wright and review the “completed” sketches of Fallingwater.  In defense of  Wright’s genius (or arrogance), he said that Fallingwater was fully formed in his mind and that he was completely prepared for the meeting before drawing a single line.  Perhaps.  In comparison, the Allworx platform is the byproduct of more than fifteen years engineering, funded by investors focused on a building an innovative, low-cost, high-value unified communications platform that is essentially turn-key.  At the end of the day, Allworx provides you with a mainstream unified communications solution, at a price point that the competition can’t touch.

The above article is a continuation of Part I.  Some of the other platforms that were evaluated included Avaya’s IP Office, ShoreTel, Digium’s Switchvox, Trixbox, FreePBX, and Allworx.  If you’re interested more of the detail surrounding the vendor selection process, just sign-up for the newsletter here, and you’ll be able to download this article along with my deliverable (which includes some additional commentary).  I use the newsletter to send the occasional update, often with content that’s exclusive to the newsletter (e.g. the client-facing deliverable).  No spam ever.   Unsubscribe at any time.

Building a 2-Node ESXi Cluster with Centralized Storage for $2,500

2nodeEsxiClusterWhat started as a simple goal… replacing my vSphere 4.1 whitebox with something that more closely resembles a production environment, became a design requirement for a multi-node ESXi lab cluster that can do HA, vMotion, DRS, and most of the other good stuff.  But do it without having to resort to using nested ESXi.  And I wanted an iSCSI storage array that was fast.  Not, Synology NAS “kind of” fast under certain conditions… but something with SSD-like performance, and a bunch of space.  And I didn’t want to spend more than $2,500For everything.  In other words, what really I wanted was something akin to a 2-node ESXi cluster with SAN backing it with 10TB of “fast” disk I/O.  Almost something like a Dell VRTX, but for my home lab.  And I wanted to spend less one-tenth of what it might cost with Enterprise-grade gear.   As I iterated through hardware configurations, checking the vSphere whitebox forums, contrasting against the HCL, and running out of budget quickly, it became clear that the only way to do this was to figure out storage piece first.

Key Design Decision

So the question became, do I really want to bother with having a “real” iSCSI storage array.  If not, then  I could opt for multiple SSD drives locally with a hardware RAID, and just reconsider the need for a dedicated storage array entirely –  or making some other compromises.  Sure, I would have had more IOPS than I would have known what to do with, and yeah, maybe I could have resigned myself to living in a nested ESXi world, but no.  As it turned out, someone had already done some good heavy lifting on this topic, and had a fast homemade iSCSI storage array with hardware RAID for $1,500.  No VAAI of course, but still… not bad for $1,500.  More than that through, that left $1,000 to put together a couple of hosts – so plenty, right?

Critical Path item – Inexpensive Storage

If the storage array as a build component was the biggest overall challenge, then raw storage was the critical path item in terms of procurement.  In order to come out with about 11TB of usable capacity, I needed 14 x 1TB drives in a RAID6, and I needed to spend less than $700.    Depending on when you read this article, that may be less of a challenge than it was in early 2014, but at the time $50 per TB on a 7200RPM drive was hard to come by.  Still harder was finding Hitachi Ultrastar 7200pm drives with 32MB of cache – as they’re Enterprise-grade and not always around on Ebay.  After a couple of months bidding on large lots, I eventually found 14 for $50 each.  Given no schedule constraints, I could have perhaps ended up with 2X as much storage, for a reasonable cost premium – but 11TB of usable space in a RAID6 configuration exceeded my need, and kept me on pace to acquire most of the hardware on schedule.

Controller

lsi80416e

The LSI MegaRAID 84016E is, albeit last generation, a SAS/SATAII workhorse of a controller card.  Supporting up to 16 drives, and RAID levels 0, 1, 5, 6, 10, 50, and 60 at 3Gb/s per port, with a battery backup module, and online capacity expansion and it’s dirt cheap on Ebay and nearly always available.  For my use-case, it compared favorably against going the local SSD drive route, or using LSI9260-4i which cost 4X.  If you’re copying the build, be sure and pick-up four of these Mini SAS (SFF-8087) Male to SATA 7-pin Female cables so that you can plug you SATA drives into the LSI 84016E.

Storage Array: Everything Else

This section could almost everything else, because by now we’ve spent about 31% of the budget and many of the remaining decisions are mostly inconsequential.  Still I opted for a Rosewill RSV-L4500, because I knew it would fit all 14 drives in it (and it does, and the design isn’t bad at all – easy enough for me to work in).  I did add a spare SSD drive as an OS and Level -2 Cache for PrimoCache (though the SSD was scavenged from another box).  For CPU, Memory, and Power Supply – I went with the ASRock 970 Extreme 3 – $65, AMD FX8320 8-core CPU (because it was on-sale for about $105), 32GB of the lowest-cost DDR3-1600 ECC RAM I could find, and a 750W Corsaid HX750 power-supply to power  all of these drives. For the network interfaces, I had a spare Intel 2-port NIC lying around that I had picked-up in a lot sale a couple of years ago.

Making the Storage Array Useful

5742_01_rosewill_rsv_l4411_rackmount_server_case_review

There are a number of ways you can go with this.  Nexenta, Microsoft Storage Spaces, OpenIndiana, or FreeNAS to name a few.  But I really wanted to take a look at Starwind’s SAN/iSCSI combined with PrimoCache.  Short version… you install Windows 2008R2/2012R2, configure the LSI controller software (MegaRAID), add Starwind’s SAN/iSCSI software and carve out some storage to expose to ESXi, and PrimoCache and configure it to use as much RAM as you can for the Level-1 Cache (26GB), and as much SSD space as you can for the Level-2 Cache (120GB).  In my usage scenario, this seems to work pretty well – keeping the disks from bogging down I/O.

vSphere ESXi Cluster

With the remaining budget, I still needed to build two vSphere ESXi boxes.  As I started looking, I found it really challenging to come up with a lower-cost and still good build than using the ASRock 970 Extreme 3, AMD-FX-8320 3.6GHz 8-Core processors, 32-GB of RAM, ATI Rage XL 8mb, Logisys PS550E12BK, spare Intel Pro/1000, 16GB USB sticks… I built two more machines – installing vSphere ESXi 5.1 on the USB sticks, and mounting the iSCSI volumes that I exposed in Starwind’s SAN/iSCSI and began building out my vCenter box and templates.

Compromises to hit budget

In order to stay around $2,500 there were a few small compromises that I had to make.  The first was the hard drives… I couldn’t wait for the 2TB Hitachi Ultrastar drives.  While not significant for my use case, it is nonetheless noteworthy. Secondly, I ran out of budget to put a full 32GB of RAM in the both of the hosts, so I have a total of 48GB across the two nodes, instead of the 64GB that I hoped for.  Finally, for the hosts, I bought the lowest cost cases I could find – $25 each.  Aside from scavenging a few parts that I had laying around (an SSD drive, a few Intel Pro/1000), I managed to come in on budget.

Bottom Line

The project met all of my goals – a home lab, multi-node ESXi cluster with a dedicated iSCSI storage array that resembles a production environment – all on a budget of around $2,500.  I’m able to vMotion my VMs around, DRS is functioning, and Veeam Backup and Replication is working.  Better still, I can tear-down and rebuilt the environment pretty quickly now.  I didn’t really run into any show-stoppers per say, or real problems with the build.  If there’s interest, I’ll post some additional information about the lab in the future.  A big thanks to Don over at The Home Server blog for his work on Building a Homemade SAN on the Cheap, particularly in validating that you can actually buy descent drives in large lots on Ebay at a discount, as well as for the Motherboard recommendation which was critical in hitting the budget.

Visit Us On Twitter