Archive for the ‘Hosting’ Category



Gathering Clouds

Friday, August 14th, 2009

Meet the fearsome spectre of cloud computing. He’s staring at you for a reason.   Despite the fact that the cloud computing is currently the most overused, misunderstood, and over-hyped phrase in our industry, trying to ignore it any longer is probably not a good idea. Though still in a very early phase, the clouds are forming, and we all need to start paying closer attention to which way the winds are blowing them and what the future implications are going to be for our infrastructure.

ostrich-head

After spending several days this week listening to the major players in the industry outline their current offerings and future plans, it was quite obvious that what I was talking about back in April was not caused by lack of sleep or hallucinogenic substances:

A short history lesson tells us all we need to know about cloud computing.  In the 1800’s  power generation was the responsibility of  those who needed it. Be it steam, water, or electricity, if I had factory with electrical machinery and lights, I had to generate my own power, and if you needed power, so did you. And both of us had the hassles of building, operating, and maintaining a power generation infrastructure which, by the way, was not our core business.  Power was necessary to the operation, but it was not the product or service we delivered for profit.

Eventually Edison and Westinghouse figured out how to transmit electricity, and entrepreneurs realized if they could build a Really Big Generator and implement a delivery method, they could sell power to industrial users. The case from the entrepreneurs to business was clear: “Let us worry about the hassles of generating power so you can focus on your core business, and oh by the way, it’s going to cost a lot less than doing it yourself.”

Fast foward to the present…has the light just come on (pun intended)? Cloud computing is nothing more than the name-du-jour for the centralization of computing resources so that they can be delivered as a utility service.  Nothing more, nothing less.

Cloud computing is here now, perhaps in nascent form, but it’s here nonetheless.

The cloud is not new technology we’re going to go out and buy, per se.  It’s not in a box, and it doesn’t have a part number. It’s more of a paradigm shift back to way things used to be in the Golden Age of the Mainframe (which never died by the way…according to people who enjoy crunching the numbers, IBM’s System z sales last year were in the $3.5B range).  You can read the popular Wikipedia page on cloud computing, but I would suggest you think of the cloud more as a way that technology is delivered, much like electricity or water. You only consume the goods delivered rather than first having to generate or pump them yourself.

From a cloud provider’s standpoint, this means a virtualized and highly automated infrastructure, fast and easy provisioning, self-service, enormous scalability, a usage-based billing model, and a very granular portioning of resources. And that means programmers. Hosting companies that plan to operate cloud offerings are going to need a talented programming staff of substantial size along with a very sharp support staff to build and operate all of the plumbing to deliver computing resources to your doorstep.  Proof of this lies in the list of the brave few heavyweights that currently occupy the lion’s share of the cloudscape: Google, Amazon and Rackspace. Building these utility services is not for the faint-at-heart or low-on-cash, and the average hosting company is simply not going to be able to really play in the clouds until the Big Boys blaze the trail.

Currently, we can find cloud services offered to us in three flavors, or if you like, three different levels of abstraction:

Infrastructure as a service (IaaS). This is closest thing to hosting as we knew it before today – computing and network hardware offered as a utility service, but essentially without limits or long term commitments. Rackspace’s current cloud offerings are of this type. Here, the hardware layer is abstracted away, leaving you to worry only about the operating system and applications.

Platform as  a service (PaaS). PasS takes the hardware layer and adds the operating system and a development environment (software APIs), which you then use to develop your applications. The development environment ostensibly hides all the details of where your code executes and how your data is stored and protected.  So at this level, in addition to the hardware layer, the OS and the development environment are now effectively abstracted away.  Google’s AppEngine is a prime example of PaaS.  You may have already surmised a possible evil in PaaS.  If you develop an application on a particular vendor’s proprietary cloud platform (e.g. Google), they’ve got you locked in to their service, and there is no small amount of chatter going on about this in the industry. The open community is crying for an industry standard set of APIs, while the big players are fighting to establish dominance with their proprietary systems.  Obviously, it’s best to stay on the sidelines here until the dust settles.

Software as a service (SaaS). With SaaS, everything is abstracted – you are simply presented with a user interface for an application. Salesforce.com is the premier poster child for this model.

Cloud computing is becoming a deeper and more pertinent topic every day, and we’d do well to begin keeping a sharp eye on it. Cloud is not necessarily an either/or strategy. For small business, and to a large degree medium business, the server room will eventually disappear into the cloud, and that will be a blessing for many. For the enterprise space, however, cloud services  will be just another tool in the arsenal to solve business problems along with, dare I say it, the mainframe.

ibm_mainframe

If you work in IT for a small or medium-size business, there is a career signpost up ahead in the clouds.  Make sure you don’t ignore it.

//spk

Post to Twitter Tweet This Post to Delicious Delicious Post to Digg Digg This Post Post to StumbleUpon Stumble This Post

Personnel DR

Friday, July 10th, 2009

Are you prepared for the departure of a key technical resource in your operation?  Someone who holds the infamous “keys to the kingdom?”   Typically there is a least one person on a company’s IT staff who achieves deity status in regards to physical and logical access. Sometimes key skills also reside in just that one person. If such a person leaves, either voluntarily or involuntarily, how would your critical operations fare?

vista_help_icon_by_thoosje

Now would be a good time to take a fresh look at both your internal documentation and your skills matrix. Things to consider:

  1. Are all sysadmin userids and passwords documented somewhere, somehow?
  2. Are all critical architectures documented in excruciating detail?  (SAN, virtualization, LAN/WAN, disk replication, backup/restore systems). You want to see how things are connected and how they are intended to interact. You want to see things like IP addresses, subnet addressing schemes, WWN numbers, hard and soft zoning information and the like. You’ll know you have all of the information you need when you can hand it to a new engineer and he doesn’t have any questions. Seem impossible? Strive for it, and the result will be good enough.
  3. Where does the above documentation live if you do already have it?  Hopefully it’s not on your staff’s laptops.  If you think you already have it in a shared on-line space, are you sure you have all of it?  And is it being backed up?
  4. Do you have runbooks for all of your servers?  Are they current?  Where are they? Are they backed up?
  5. How many people have practical working knowledge in each area of your critical infrastructure?  Do you have more than one VMWare tech?  More than one SAN person?  How about Active Directory or Exchange? Ideally you’ll want three in each area. Contract for it if you need to.

 
I could go on, but I think you’re getting my point. This process is somewhat like writing a will.  It’s a real drag to write up, and everybody knows that they need to take care it, but yet it often gets ignored until it’s too late. And just like a will, all of this documentation needs to be updated on a regular basis or it may end up being worthless at crisis time.

Alternatively, you could move the responsibility for a large portion of this to a professional hosting facility.   Why not limit your exposure to just your applications and let us worry about how all the  plumbing is hooked up?

//spk

Post to Twitter Tweet This Post to Delicious Delicious Post to Digg Digg This Post Post to StumbleUpon Stumble This Post

Up or Out?

Friday, June 26th, 2009

I recently read a post that took a new twist on the long-term debate over whether it’s better to scale up (buy bigger servers) or scale out (buy more servers).  Traditionally this battle has been fought mostly on the technical considerations only.  ”Which is better for processing the real-time inventory of my growing  Dippin’ Dots empire vs. the fast serving of web  pages on my trendy social site?”

DIPPIN' DOTS BANANA SPLIT

The conversation is often reduced to raw number crunching power vs. the benefits of highly parallel processing or high availability.  But in this era of sacrifice, we might want to take a look at the oft-overlooked cost factors lurking behind the curtain.  Following the framework of the aforementioned post, let’s consider the costs using IBM hardware.

First, we fire up IBM’s server configuration tool and build a big dreadnought-class server with an x3950 M2:

  • 4 CPU sockets (using 6-core processors)
  • 32 memory sockets
  • 4 drive bays
  • 2 power supplies
  • 4U

Total Price:  $68,429  MSRP.  In Pennsylvania, we throw on another 6% for the Governor, so the number rounds to $72,500.   Sure enough, scaling up has the hefty price tag one would expect.

If instead we were to scale out, what kind of horsepower could we get for the same money?  Taking a trip to the other end of the product line, we find the modest x3250 M2:

  • 1 CPU socket (using a 4 core processor)
  • 4 memory sockets
  • 2 drive bays
  • 1 power supply
  • 1U

Total Price: $2,431 MSRP.  Allowing again for the Governor, we come in at $2,575, which means that for the same $72,500 we could buy 28 of these unassuming smaller servers.

So, if we decide to go shopping to IBM with $72,500 as our budget, what can we get for our money?

: ———— Scaling Up           Scaling Out

CPU’s               24                          112

RAM              256GB                   224GB

Disk               1.2TB                      28TB

It would seem that scaling out puts more resources in our data center for the same money.  Score 1 for scaling out.

Now let’s take a look at things from the software angle:

:————————————— Scaling Up             Scaling Out

Windows 2K8 Server*            $2,515                     $20,524

SQL-Server                              $7,400                    $16,800

Our quick mental math says that scaling out costs nearly 4 times as much in software.  Score 1 for scaling up.

And now for the tie breaker, let’s examine operational power costs, assuming the boxes run on average at 50% of peak and without factoring in cooling:

——————————-: Scaling Up           Scaling Out

Peak Watts                1440w                     9,828w

Power Cost/Year        $441                       $3,013

Scaling out is an order of magnitude higher in power costs.  Final score: Scaling up appears to win in a narrow 2-1 victory.

Having seen the costs, which approach seems to make more sense?   If you object to this question, you’re quite right to do so.  From a strictly financial point of view, scaling up seems to be way the go, unless you decide to level the playing field by zeroing the software costs with open source (e.g. Linux and PostgreSQL).  Scaling out becomes more financially appealing when open source is in play, which is what we often find in places like Google.

Of course, the decision can’t be made solely from a financial point of view, but prior to this exercise  have you ever even considered these hidden-in-plain-sight costs?  Ultimately the decision still does still come down to your particular business needs which must be discussed on the technical requirements involved.   Watching your team whiteboard the various options can sometimes be more tedious than reading Klingon poetry,

klingon2

but you need to let the team work through both the technical and cost considerations to arrive at the best solution.

There are two take-aways from this example.  The first is that when the technical requirements don’t point hard in either direction, you may be able to appeal to cost to help arbitrate the decision.  The second is that you really don’t need to make these types of decisions anymore.  The infrastructure utility trend is already in motion and is gaining momentum.   Before investing significant capital of any scale, consider deploying new applications in a professional hosting data center. Outsource these ongoing scaling decisions to others while you focus on the bigger picture of providing the right applications for your business.

//spk

* Please don’t flame me with comments like “How’d you get those prices, we only pay $20 for Win2K8 server?”   I haven’t spent the four years of education required to be fully conversant in the Microsoft  Licensing program, which is more complex and complicated than ancient Hebrew Law.  These prices were based on recent customer quotes and internal pricing from our distributors.

Post to Twitter Tweet This Post to Delicious Delicious Post to Digg Digg This Post Post to StumbleUpon Stumble This Post


Twitter links powered by Tweet This v1.6.1, a WordPress plugin for Twitter.