Cloud and xaaS Demystified Using a Common Everyday Swingset

I was talking with a customer recently about cloud and it was a reminder that we still don’t have a good definition of what it is.  To some people its a nebulous place where things get stored and processing get’s done.  To others its VMware using VMware APIs and virtualization.  To others its a collection of services all accessible by APIs.  In a way I think all of those definitions as well as some variations are valid.  I’m a simple guy and not very smart so I thought I’d use a simple analogy.  Like all analogies it breaks down but its the best one I’ve thought of to date.

To me, Cloud is quite simply a way to describe the delivery of IT services via APIs by people I’ll call Providers.  Those that do the consuming to create interesting and useful applications I’ll call Consumers.  So, the world of Cloud is easily separated into the two groups of Providers and Consumers.  All of this producing and consuming is done using a set of APIs.

The providers for the most part are worried about delivering their services based on simple contracts.  Give me a 1TB disk at 200 IOPS says the consumer via an API call and the provider allocates and makes that resource available.  The provider promises to do his best to support 200 IOPS and keep the 1TB of storage up and running.  The consumer then uses his 1TB drive however he sees fit.  Same applies for other containers like VMs, bare metals servers, Linux containers and network elements.  The key is that all of the resources are allocated using APIs and the time to get them and use them is measured in minutes or seconds.

Smart people take these resources and weave them together to do useful things.  We typically refer to these useful things as services.  So, now everything has to be called a service.  We’re IT guys after all, so we have to have an architecture for all of these services because they can’t all be the same.  Some of the useful things could be as simple as a load balancer, or a database service that keeps track of allocating, monitoring and managing database instances.  So we’ve gone from simple things like VMs and disks to larger things like load balancers and other services so we divide them and call them Infrastructure as a Service (IaaS) and Platform as a Service (PaaS).  The main difference is that you can build anything using IaaS.  So, this brings me to my swingset analogy.

Let’s say someone, like your wife, says, “Honey, we need a swingset for the kids.”  You being the handyman envision something grand and all encompassing.  Something like this.

Big Beastly Swingset

Tim Taylor’s machismo unleashed using IaaS to create his magnum opus swingset

You’ve envisioned turrets, a Camelot theme with a specialized rock climbing wall, slides and all kinds of goodies.  This doesn’t exist anywhere, you’re handy and you would use IaaS to build it.  You get to choose the lumber, the roofing and even your flag colors.  You get to decide how tall it is, how much ground it will cover and perhaps you’ve even put a nice sandy are in the middle which you protect from evil cats from using as a cat box with ingeniously cool ideas.  Definitely, you want IaaS to make this baby.  Oh yeah, and of course, you’ll have to pressure wash this baby every year or two and maybe put on a deck coating to keep it looking awesome.

Let’s say though that your not as handy as all of that.  You still want to build something that you can look out on and with pride say, “I built that.”  Perhaps your more interested in something where certain choices have been made and your willing to live with some constraints.  Your options might look more like this.

PaaS SwingSet

PaaS Options for Swingsets

You still have lots of choices in terms of the number of swings, slides and look but ultimately your constrained by the kit you choose.  Home Depot has lots of options so rather than buying the wood, the fittings, special chains and the like, your willing to let someone else make those choices for you.  You still get to build it, perhaps even put some of your own personal flare into it as well.  Choose the darker stain, not put in a sand box but just cover it with a few pieces of lumber and make it more like a patio.  The point is that you’re still creating, but your also leveraging other people’s input.  This is PaaS.  You still get to build it, you have choices over certain portions of the finished product and you even get to power wash it every few years and put deck stain on it like the IaaS dude.  So, there are similarities but quite honestly, PaaS is easier, faster but with more constraints.

Finally, after all of that pondering your wife says, “Sweetie, all I really wanted was for Junior to get to swing and enjoy himself.  I don’t want to spend a lot of money, or your valuable time to build that amazing idea of a swingset.  We really don’t have the room in our backyard for one and we don’t own a power washer.  Let’s take Junior to the park.”  Alas, we now have the Software as a Service (SaaS) swingset.


SaaS Swingset. Just use it and enjoy.

Let’s be honest.  This is by far the simplest of the solutions and has its pros and cons.  On the plus side, it costs you a fraction of what the IaaS / PaaS options do in terms of time and resources.  Junior get’s to enjoy it immediately and when your done you simply walk away and go to McDonalds.  What could be better?  The downside is that you didn’t build it, didn’t design it, and it doesn’t have cool flags or protected sandbox areas with specially designed cat traps.

I know the analogy is very simple and doesn’t totally capture some of the nuances of the xaaS differences.  It does help to differentiate in a non-architecturally boring way the differences of the three delivery models.

Where does this leave us with Cloud?  Cloud is a means of delivering what consumers want in a way that meets their budget, their requirements and satisfies their desire to have it sooner rather than later.  Where many companies have difficulty is that the IT department did the design and building of the swingset for their consumers; their Lines of Business.  Today, their Lines of Business can choose how their offering is delivered and how much they want to pay.  The IT department is becoming more of a provider where they don’t build the swingset, they supply the raw materials.

Getting these new roles established will continue to undergo some turbulence until a new normal is achieved in the new world of Cloud.

Out of the dustbin II

It’s been a while since my blog has been up and running.  Its almost 2 1/2 years since my last post, I’ve moved, relocated my workshop and been active at work.  I finally dug up my old server, found the backups and got my site out of mothballs with only a small number of casualties in the form of pictures that I’ll try to dig up.

Ok, my channel for sharing all my weird activity is now back online.

Welcome back; I think :)

Tramming the Mini Mill

I bought a MicroLux Mini Mill from Micromark a while back.  Unfortunately, I didn’t have a bench to put it on so its been sitting idle for a while.  I got that bad boy a new home and spent some time this weekend getting to know it.  The first order of business was to Tram the mill.  Tram, what is that ?

Tramming is the process of setting up a mill.  It means you adjust the mill head, table and other parts of the mill to be as close to zero difference as possible.  For instance, the head of the mill rotates up to 90 degrees from side to side.  Most of the time your cutting with the head in the 0 position (it rotates up to 45 degrees to the right or left.  Its important to make sure the mill is perfectly positioned at 90 degrees to the table top (0 degrees on the head tilt gauge).

The process for me involved pulling the table assembly apart, degreasing, re-greasing and reassembling.  This process took a few hours as I had to spend some time grinding the gibs down as they were not perfectly flat.  Once reassembled I used a dial indicator to see how my side to side alignment was.  To accomplish this I inserted my dial indicator in the head assembly and measured the distance to the table from each side.













Notice that there is about 1/1000″ difference between the measurement on the right and left side.  This is pretty close but the measurements are only about 3″ apart.  So, I’m going to retry the measurement when I get some new dial indicators that will allow me to make these and other measurements easier.

I also spent some time to see what the difference is in terms of front to back and found that I’m off by about 0.005 which is too much for my taste.  To fix that problem I need to make some shims and take things apart, adjust, reassemble and remeasure.  Hopefully we’ll get it right on the first try or two.

NOW I know what trig can be used for :)

I’ll get some better pictures of the process as I do some more work.


Protecting Your Password – 1Password

Like many folks I’ve had to resort to remembering a password that is hopefully not guessable and strong enough to withstand hacking.  Even when doing that, its hard to remember a large number of unguessable passwords and so I, like many others resorted to using one of the few non-guessable passwords on lots of different accounts.  So, what was hopefully none guessable is the one thing protecting so many different accounts.  Once its compromised, your sunk.  So, how do you protect the many Internet based accounts with passwords that are hard to guess but easy to remember?  I found a great tools that I really like called 1Password from Agile Bits.

Basically 1Password is a program that holds the sites, user names and passwords to all your Internet sites.  You might say, well, I’ve got a Word Document that I keep all that in already.  1Password goes beyond storing the information but it will also allow you to launch the site with a double click and automatically put the user and password in the form for you.  That’s nice, right?  But wait, there’s more.

1Password will also allow you to generate a random password that you can provide some guidance on things like length, special characters, etc. This allows you to create passwords that are random and fairly uncrackable.  In fact, I don’t actually know the passwords to most of the sites I access because they are large random collections of gobbledegook.  See the screen shot for an example of generating a password.1Password Random Password Generator

This allows you to create very safe passwords that are different for all the sites you access and keep those passwords unique so if a site gets hacked, you’ve only lost one very complicated and unique password.  This will significantly limit your exposure to someone else’s security breach.

The next question I asked myself is what if I’m using my iPhone?  No problem, 1Password has a Mac OS X as well as a Windows version of its product that also has an iOS and Android versions as well.  So, you can use 1Password on all your devices and not have to worry.  But how do I sync them?

1Password offers a neat little feature that uses Dropbox to sync all your 1Password programs together.  So, you don’t have to specifically sync everything, that is handled by 1Password in the background.  Sounds great, but is that safe?

The 1Password database is protected by a single master key that you specify.  Of course, you want this key to be non-guessable and secure but its the one password you need to remember.  This makes keeping all of your passwords safe and secure.

1Password Access Screen

One other thing to consider is that 1Password will also allow you to save notes, jot down software license keys or simply act as a repository for other secure information like bank account numbers, social security information for your family, etc.  Items you need access to electronically from time to time but are sensitive and things you don’t want to leave on your harddisk unprotected.

Finally, the one password that is probably the most important to safeguard that you’ll be tempted to also be one you can remember is your e-mail password.  If someone hacks or get’s access to your e-mail there is little hope that your online life will be secure.  If a hacker get’s your e-mail password generally they only have to access a site with your user name and then indicate they forgot their password.  Most sites will send you a reset link or other mechanism to reset your password easily.  This is the most important password you must protect.

If you don’t have a safe mechanism for keeping your passwords, take a look at 1Password.  I found it to make my online life less hectic and I believe more secure.

The Demise of Project Zero – a perspective

I’ve worked at IBM for about 13 years now.  Most of that time has been in a group called Application Integration and Middleware (AIM).  Comments here are my personal opinion and do not reflect an IBM position or perspective.  So, why am I writing this?  Perhaps its more cathartic than anything else but the project was conceived during the Open Source fervor back in 2005 and my perspective on the project was twofold.  As an IBMer as well as a commiter and member of the Apache Software Foundation.  During that time, I wrote about the new project in this blog post.

Several years ago Jerry Cuomo had a vision for a lightweight runtime that was intended to provide an alternative runtime based on Java that more closely mimicked the lightweight features of popular scripting languages.  The project was led by Jason McGee and IBM decided to use the open source eco-system to get people on early and generate some enthusiasm for the project.  The public website is still around and you can see it for a few more weeks at Project Zero.  Its time has come to a close.

  Personally I liked sMash as it had a nice lightweight programming model that was based on an event framework.  It was intended to be used for lightweight transactions and be a very lightweight runtime that could cycle quickly and process a limited number of transactions.  When done processing the limit, the container was merely recycled and a new one was spun up, very quickly.

sMash was also intended to make programming to a REST API simpler by including specific callback methods that would get invoked to service REST requests.  All in all, it was a nice piece of work that I thought would have been more popular than it was.  The question is why?

I believe the failure of sMash in terms of adoption less about the technology and more about the licensing.  Like a lot of software, it was available to developers for free, the project welcomed contributions from people outside of IBM and to experiment with it there was no cost.  The challenged came to deployment.  When using the software for commercial purposes (like doing real things that could generate revenue) a license was needed to pay for the use of the software.  Really, a model not unlike MySQL today.  I don’t know if the use of MySQL in the ecosystem is consistent with its license terms but it did catch on and became extremely popular.

Perhaps the challenges were in that sMash was being introduced to a market that already had a healthy eco-system of PHP, Ruby and others and so the value it brought was not sufficient to entice a lot of developers to switch.  Its impossible to know what the reasons were for its lack of adoption but I’d like to at least acknowledge the hard work of guys like Michael Fraenkel, Steve Ims, Jason McGee and others.  sMash is a good technology that is now being moved into the sunset.

The irony of the closure date is Dec 21, 2012.  Perhaps, the Mayans were right all along and they predicted the demise of Project Zero even before it began :)

Chick-fil-A and Free Speech

I heard about an outcry against Chick-fil-A a few days ago.  I had some time to do some digging and discovered that a demographic of our society is openly angry at Dan Cathy’s comments to the Baptist Press about traditional versus Gay Marriage.  “Guilty as charged,” he said. “We are very much supportive of the family – the biblical definition of the family unit. We are a family-owned business, a family-led business, and we are married to our first wives. We give God thanks for that.” So, the reactions begins…

I don’t think Cathy said he wouldn’t serve gays, or married gays, or anyone else.  He simply gave his opinion and perspective.  Isn’t that what Free Speech is all about.  No discrimination here … an opinion, a set of values, the courage to state his position, but not discrimination.

Many cities have vowed to block Chick-fil-A from opening new stores in their cities because they are “bigoted.”  What I find ironic, is that many of the same people who opposed Cathy’s comments and his freedom of speech would cry out that  a picture of a crucifix submerged in urine is art and protected.  The hypocrisy is unfathomable.

Do Americans even think rationally anymore?  I’m starting to wonder…

A Perspective on Leadership from the keynote speaker at “Government Camp”

My son attended a camp this week at Regent University in Virginia Beach, Virginia.  The camp was called “Government Camp.”  It sounds like an odd camp when most summer camps offer activities for kids to keep them entertained; this one is a little different and I think was really good.  Let me tell you a little about the camp and then about the comments made by the keynote speaker tonight.

The camp started back in 2007 when the faculty at Regent University wanted to provide a “camp”-like opportunity to teach kids about several dimensions of government service.  During the week, they saw Norfolk Naval Base, The Academi (formerly Xe, formerly Black Water), the Langley airfield used by the CIA and did some other activities to educate and have some fun.  All of this was from the Christian perspective of Servant Leadership.

What is probably surprising in today’s world is that Christians, despite all the labels that are levied against them, have at the heart of their faith a duty and desire to serve, not to be served.

Onto the keynote speaker… the person speaking tonight is a member of the Joint Staff (not the joint chiefs of staff) from the Air Force.  His speech was about Servant Leadership and his text for the presentation was Mark 10:45.  “For even the Son of Man did not come to be served, but to serve, and give his life a ransom for many.”   His main point was about leadership not being about self promotion, but about serving those around you.

He took the text and drew a current interpretation of the preceding verses.  These verses set the context where James and John asked to sit at Jesus’ right and left.  These young guys were full of zeal, lots of ideas and today would basically be asking for a promotion.  Its interesting to note that the other disciples were indignant with the request.  I believe their disdain wasn’t because James and John brought up the subject, I think it was more about the fact that they didn’t think of it first; they were guilty of wanting the position which isn’t bad in and of itself, but they wanted it for the wrong reasons.

Jesus was clear that those in leadership positions should be taking them with a big does of humility and be ready to serve those around themselves, as opposed to having the elevation of stature be their goal.  The Colonel tied this idea of Servant-Leadership into what the kids learned this week at camp.  That, they should be looking to make themselves available to serve and lead but to remember that they are serving a very large group of people and their service is in sacrifice, not selfishnesses.

This is a lesson that I’ve heard many times before.  But hearing it from a person in military service with great responsibility for those in his charge I was reminded again, that I need to remember this in my position at IBM and that those in our other branches of government (Executive, Legislative, Judicial) need to remember that we are leading not for ourselves, but for those we endeavor to work for.

My son liked the camp a lot, and, I think left with a better perspective on what government does and how they can serve those around them.

UPDATE: MacBook Pro 2011 Unibody with Two External Dell U3011 Monitors Using Matrox DualHead2Go DP Edition

Major props to Matrox in solving my problem of the elongated time to sync the monitors.  Problem Solved!

I accessed Matrox’s technical website and submitted my issue (providing all relevant shtuffes like firmware levels, monitor info, cable types, etc.)  Within 24-hours I received an e-mail with some suggestions.  The one that worked was to disable automatic graphics switching.  It’s located under Energy Management so I hadn’t thought to check it.

The trick is to disable the switching mode.  This eliminates what I believe was a race condition.

I’m happy with the DualHead2Go as well as with Matrox.  +1 to them for their quick response and on the money suggestion.

MacBook Pro 2011 Unibody with Two External Dell U3011 Monitors Using Matrox DualHead2Go DP Edition

The title pretty much says it all.  The work I do at IBM and in my free time is mostly centered around using my notebook to get my work done.  Whether its programming, writing or creating presentations almost all of the work is on my work is done on screen.  I have opportunity to work from home as well as in the office and I think my time split is about 85 / 15 (office / home).  In the office I have a setup which includes two external monitors (24″) and I also use my Mac (the 17″ MacBook Pro display is a lifesaver).

My Work Environment

At work, my layout is MacBook Pro – Monitor # 1 – Monitor # 2.  Monitor # 1 is connected through the Thunderbolt Display Port while Monitor # 2 is connected through a Kensington DisplayLink device that basically connects via a USB connection and provides the third display.  The resolution on all displays is 1920 x 1200.  Overall this works pretty well.  The only drag is the Kensington is a little slow due to its use of the USB but I use to to place browsers for e-meetings, reference material and the like so high performance is not a hard requirement.

My Home Environment

At home I have a Dell U3011 display (30″) and its awesome.  Really bright, fast, good contrast, etc.  Highly recommend the monitor if your looking for one.  And, its BIG.  I leave my MacBook Pro in a BookArc and simply cable in network, power and the like and leave the MacBook closed.  I’ve become so accustomed to the monitor setup at work that two monitors made sense at home and so I splurged and bought a second U3011.

How to Hook them Together

After doing some research I decided to go with the Matrox DualHead2Go DP edition.  Since I was only going to use the two monitors (leaving the MacBook in the Arc) I wanted to have the highest performance possible so I discounted the Kensington DisplayLink as an option.  Last night I set up the system and have some good and some bad comments.

The Good

The two U3011 displays are fantastic.  Pretty much covers my peripheral range when sitting side by side and the performance is excellent.  They are also really bright and easy to read (running at 1920×1200 each).  They form a single “physical” display as far as the Mac is concerned.  The MAc ses them as a single 3840×1200 display.

The DualHead2Go comes with some software  PowerDesk, well, I downloaded it from the Matrox Support site.  I tried installing it (I run Lion 10.7.4) and it didn’t work.  The software is supposed to creates an icon in the menu bar.  I then went and downloaded the previous driver which worked fine.  With the driver installed you can set the resolution and tweak a few things like where the dock is located.  The software also provides the ability to set a keyboard shortcut so you can size a window in one display or the other.

The Bad

I’m not quite sure I like that as when pop-ups are displayed they are normally centered in the middle of the screen where the two displays come together.  Below you can see the “About this Mac” dialog displayed in the center of the displays.  Yuck.

Dell U3011's Side by Side

What would be ideal would be to have the option to simply treat the two displays as independent physical displays and arrange them correctly using the Display in System Preferences.  I’ll play with it some more as perhaps I’m just not adjusted to how much better this is.  We’ll see.

The other thing that I’m not happy about is the transition time it takes when the displays sleep.  When waking up it can take a few (sometimes several minutes) for the DUalHead2Go and the Mac to both acknowledge the displays are operational.  The Dell’s cycle between “No Link” and “Entering PowerSaver Mode” several times.  I’d like to click the keyboard and simply have them come up.  there is come kind of strange race condition going on that I do not understand.  This is probably my biggest grievance.  I’m using two connectors that came with the DualHead2Go adapter that connect from Display Port connectors on the device to DVI connectors.  Perhaps DisplayPort to DisplayPort might be better and if I can find the cables I give that a try.


I’m glad to have the two displays in my arsenal at home and I’ve already experience productivity boosts when programming as I can put editor windows all over the place.  Editing of Video is much easier as well.  If you need more realestate, this is the way to go.  If Matrox fixed a few of these bugs then I’d be even happier.  If I can’t fix the sync problems, I’ll have to buy a different device for the Thunderbolt display.  I’m not sold on this device yet.

If you have comments or suggestions, I’m always interested in what I may have missed or new tips.


Clouds, IaaS, PaaS and SaaS … “Oh my!”

IaaS, PaaS, SaaS, ugh!  Reminds me of the “Wizard of Oz” when Dorothy, the Scarecrow and the Tinman were wandering through the woods.  So many trees, and scary options.  The world of Cloud in the IT world is kind of like that.

Having been working on Cloud technologies for the last 5 years I’m finally giving up on the IaaS / PaaS / SaaS layering. It looked good but it ends up confusing folks about the real relationship amongst these concepts. For instance, we normally put IaaS at the bottom, then PaaS on top and then SaaS above that.

The aaS Layering

I’m normalizing that IaaS is foundational for a number of deployments and provides the basic Periodic Table of elements for building solutions.

Periodic Table of Elements

The building blocks for all things that we know and don't know.

So, IaaS == PToE. We can create VMs that are basically atoms. By themselves they are interesting and provide some capability but alone they are not really compelling. I could create a VM (Atom) with a LAMP stack, a database engine, a Tomcat Server, and other stuff but alone its not really useful unless things are combined together. Heck, Sodium and Chlorine are uninteresting, if not dangerous by themselves, but combine them and they form a simple molecule that is not only interesting, its fundamental.




Salt Molecule

Coumpounds, like Salt are more compelling than individual atoms

Salt is a compound that is made up of these two atoms. They are compelling and are necessary for basic survival. I like to think of Salt as being a PaaS. The PaaS basically chose to make up a specific compound out of some atoms (IaaS) and I call this Salt as a Service (SaltaaS). So, using this really simple example, PaaS == Compounds. A PaaS can create any number of compounds. If we take this simple model to the world of IT I can see lots of ways I could make interesting compounds. I might create a PaaS that includes Tomcat atoms and Derby atoms (using the Apache Software Foundation Table of Elements). If I were to create a new compound that was really interesting, would I always have to go to the Periodic Table of Elements to make other interesting things? The answer is most definitely no.

If I had a WateraaS and a SaltaaS then I could make up a SaltWateraaS. Honestly, the PaaS could actually create new atoms, reuse others and even create new compounds. The PaaS can use the IaaS but it does not always need to do so. The PaaS is really a higher-level capability that does exactly that, delivers capability.

My conclusion is that SaaS is really nothing more than a PaaS that is mostly, if not completely, finished. So, IaaS are atoms, PaaS are compounds and SaaS == PaaS.  Its not a layering, its simply capability.

When Dorothy finally figured out that she only needed to click her heels she made it back to a comfortable and safe place as, “There is no place like home.”