Thursday 28 January 2010

Cloud and Social: the tectonic plates of IT 2.0


We're on the verge of a new era in IT. Web 2.0, E2.0, SOA 2.0: anything 2.0, which I combinedly call IT 2.0

My first IT experiences dating back 25 years, I've noticed that it basically provides humans with machines. Or more accurately, human tasks are slowly replaced by machine tasks where possible

It takes time to turn human tasks into machine tasks, so basically they shouldn't change while being built. They also shouldn't change much after being built. That's why building houses on sand was considered foolish millennia ago already.
It's almost exactly like portrait painting. It's a lot easier doing that when the model sits still, and when done the result looks much more alike if the model doesn't change too much after that

Knowing the how, now the question is: which human tasks can be replaced by machines, or automated?

The closer you come to business, the more humans you'll need. The further you move away from business, the more machines you can use. Basically, business needs people, and machine needs infrastructure

That puts humans on top in the IT foodchain, and machines at the bottom. Although arguably both depend on one another and couldn't live without...

Having said that, there are lots of different properties for humans and machines. Here's a quick model:

Machines serve automation. They are (and must be) rigid, because what runs directly on top is simple and static: great for storing business rules, they handle data very well. They sit in the infrastructure layer
Humans serve people. They are (and must be) flexible, because what they support is complex and dynamic: great for handling business exceptions, they handle information very well. They are part of the business layer

If you compare that to the latest trends, machines perfectly translate to Cloud, and humans to Social

IaaS, Paas and Saas all perfectly fit into the infrastructure layer mentioned above thanks to virtualisation and Utility Computing.
What can be xaaS-ed will be done so in the coming years, and albeit a relatively small slice of the enterprise layer, a large part of its current infrastructure will simply move into the cloud.
And in the years after that, a larger part of the enterprise will become infrastructure, and follow along
The enterprise will become more standardised and simple at the bottom, and shrink

Social is 100% people-stuff and fits perfectly into the business layer. Communication (Blogs, Microblogging, Social networking) and Collaboration (Wikis, Social bookmarking, Social news) are tools that need to be plugged into the enterprise. Tools will come and go, be added onto, expanded, shrunk, and the people using them will move along.
Organisationally, culturally, politically a lot will change and it will keep changing before more than half of that becomes absorbed by the enterprise, and settles down.
The enterprise will become more complex at the top, and expand

Sketching the future, one can see the structure of IT 2.0 being sandwiched: at the bottom, the floor of the building will slowly be Clouded, while at the same time its ceiling will be Socialised. Two giant movements in opposite directions, much like tectonic plates operate on this earth's crust

Where will the twain meet? What will be there? Will that be crushed, or torn apart?
What will the consequences be for Enterprise IT as we know it, but especially for the future we have in mind for it: E2.0, SOA 2.0, SocialCRM?

I'm looking forward to your answers and ideas! I do foresee quite a challenge


2 reacties:

Patrick Brinksma said...

Interesting thoughts, and I am very interested in what speed this will take place, and if Humans are able to keep up to speed with all of this.

Few remarks:

1. You are talking about infrastructure and humans. And infrastructures in terms of machines or servers. Where human meets machine is software and thus applications. What are your thoughts on that? I assume as applications run on infrastructure the applications are also in the cloud.
2. Machines do replace human task (calculations, heavy work (not-IT ;-] ), but I do see applications more as supporting components then purely automation components. This is in my experience a big mis perception in projects where they try to automate the world!
3. Where is the HaaS? Humans as a Service? Will they some they also move into the cloud? (Which Enterprise Architects are sometimes accused for, but then the cloud is pink).

Martijn Linssen said...

Thanks again Patrick! In for a lot of work but you asked for it ;-)

ad 1.

With a 3-tier in mind, there's presentation on top, data at the bottom, and business logic in the middle. So broadly speaking, in the middle of the tectonic plates is the business logic, and applications indeed

Well, no way you're Clouding that. But you can Cloud some

This needs a fine-grained view because indeed apps run on iron.
In a beautifully achieved SOA or if you're using federations in stead of applications, the fine line between static applications and dynamic applications could be made as well.

Basically, all your secondary but certainly all your tertiary processes are so default that you can buy them by the ton or per truck so to say
Your primary processes on the other hand are so special (even though you describe your business by saying "We distinguish ourselves from the competition by..." usually meaning you do the exact same thing in a slightly different way) that you really need to 'keep them close'

ad 2.

I absolutely agree with you on that.
Basically, you want machines to do the repetitive and / or boring work. The static stuff of the business so to say. You can't automate everything, it's a simple equation of business rules versus business exceptions. The 80-20 rule doesn't apply there, when you talk about program exceptions that means 0.xx % stuff. Exceptions come from the infra layer, not from the business layer. You know each and every business rule and error beforehand, because they are perfectly well-defined by the business. Exceptions aren't, that's why they are exceptions. There's a whole lot more on that in my 4-post series on Failsafe application development, starting with http://www.martijnlinssen.com/2010/01/failsafe-application-development.html

We increasingly started to fail since we left the good old LAD. Because in LAD, we modelled everything out, and knew at the end of that whether we could actually program it, because we had a clear view of ALL the business rules and errors. With RUP and Agile we've left that path, and are indeed sometimes trying to automate the sun rising and setting each day

ad 3.

I like the wordplay in Dutch ;-)
I can imagine cheap labour doing 'static work' Cloudlike. Philosophically speaking, India is Cloud to some IT companies like Capgemini

I'll take it one step further: in between 100 years and now, we'll all have some device(s) which will form the Cloud, providing / selling power and energy when idle, and wanting / buying it when needed. Redefining the meaning of Power to the People ;-)

Post a Comment

Thank you for sharing your thoughts! Copy your comment before signing in...