Tuesday, June 25, 2019

The IT Toolbox #002 - Edge and Central

We often hear a reference to the ‘IT Pendulum’ but we should forget the idea that it is an all or nothing fight between good and evil.

The first point, it’s definitely NOT an all or nothing fight.  Each one of these technologies continues to exist today.

The more interesting thing that happens to make each of these relevant in their time is the abstraction and evolution pattern that occurs.

Consider this pattern:

Mainframes becoming remotely administered.                                                    Central -> Edge
Distributed computing replacing Remote Terminal (from mainframes)        Edge -> Edge
Client-Server replacing Distributed Computing                                                    Edge -> Central
Cloud Computing replacing Client-Server                                                              Central -> Central
Distributed Edge replacing Cloud Computing                                                       Central -> Edge

The Pattern consists of computing at the edge or in a central location.  Nothing really magical about that, but when a NEW technology comes in it’s almost always because we’ve either abstracted complexity away from the solution OR an evolution step in capability was enabled.

Take the case of Client-Server replacing Distributed Computing.  The effect was to move computing to a central location, this made possible largely by a significant increase in network bandwidth in the mid 1990s.  An example of an evolution pattern.

Cloud computing replacing Client-Server happened through an abstraction pattern.  Virtualization of computing systems allowed substantial recovery of compute investment.  It is also making smaller abstractions possible, think containers and serverless.  (also supporting one of my favorite quotes, from Rick Wilhelm @rickwilhelm, "Containers allow creation and destruction of application environments without drama or remorse.")

Effectively making the next evolution transition possible, moving workloads to the Distributed Edge, because … why should a programmer care where the program runs.

So, the IT Pendulum is only a pendulum if you look at it in two very myopic dimensions.  

The fight between good and evil, it isn't. It's evolution.

Tuesday, June 18, 2019

The IT Toolbox #001 - Definitions

It is vital that IT people communicate with the same lexicon.  This helps to establish definition which provides the specificity necessary to discuss complex topics.

The marketing engine, not to mention the general media, does little to correct ambiguity.  It can be argued that ambiguity in the marketing engine suffers ignorance in the hopes of capturing the next big headline.

This isn’t new.  Key terms do matter.  They are refined over time.

What makes matters worse, we often don’t know ~exactly~ what these terms mean until they are ingrained in a pattern that everyone comes to accept.

One of the best examples is Cloud Computing, “The Cloud” or just simply ‘Cloud.’

The problem with ‘Cloud’ is it doesn’t fit the definition of what everyone believes it to be.

The various definitions I’ve come across include:

Cloud is hosting on the internet.  (True-ish, but not very meaningful.)
Cloud is Infrastructure as a Service.  (It’s not only, but that’s OK.)
Cloud is Platform as a Service.  (A better definition, but also incomplete.)
Cloud is Cloud Native applications.  (This is about as ill fitting as Infrastructure as a Service.)
Cloud is Serverless.  (No, it’s not.  Never was, never will be.)
Cloud is where I’m moving all of our Enterprise Applications.  (That’ll be fun)
            Cloud is Digital.  (as in Digital Transformation, everyone talks about it, but few know how to                                           do it.)

If you’d like to read a thoughtful description of Cloud, have a look at this Wikipedia article: https://en.wikipedia.org/wiki/Cloud_computing  (16 pages and 125 references, 7 deployment models and 6 service models AND 23 disambiguation references)

What I’m getting at is that calling anything ‘Cloud’ lacks definition, its meaning has no precision what-so-ever.

Please make sure others know what you mean, when you say Cloud.