Showing posts with label SOA. Show all posts
Showing posts with label SOA. Show all posts

Monday, April 27, 2009

Why is IT all still Cloudy?

Those who say ‘cloud computing’ is yet another buzzword for whatever was existing earlier – Utility, Grid, SOA, <<x>>aaS and even the internet, I would say are both right and wrong. Right because it is all of the above. Wrong because the skepticism on adopting, attempting to improve something just because it exists (in pieces) already doesn’t help. Technology gets better when we find synergy between existing solutions. Cloud computing, even after being on top of the I.T hype cycles for couple of years, still not emerged as an underlying principle of enterprise architecture and I wonder why.

One of the key reasons I think is about the ambiguity on the internal versus external debate. For some, its still about resource virtualization or about using external data centers for hosting their systems, with the additional feature of ‘pay-as-you-go’. For others, anything that’s ‘internety’ is already cloud, so why waste any more time on something that’s already there.

On top of it, some of the recent analyst reports doubting whether adopting cloud environments will really benefit enterprises, as well as some attempts to define boundary/standards for the paradigm also sent out wrong messages about cloud computing. Also many (especially virtualization product vendors) projected it as a resource optimization mechanism, and not as a front-line business enabler.

Important enterprise concerns about security, ownership, regulations that protects their assets, interoperability standards are not addressed adequately as well. Also some of the key service delivery issues such as supports, network requirements and other governance aspects are not being well addressed. In my opinion(and I mentioned it here on multiple occasions), the fundamental problem here is people don’t look at the cloud of the larger spectrum of Information System services that can be provisioned on-demand by connecting a network of internal and external resources.

Tuesday, March 31, 2009

Internal Cloud – Another SOA in the making?

In the CIO blog article titled Economic Recession: Good or Bad for Cloud Computing?, Bernard Golden points to a few important questions on how fruitful will be an exercise to build an internal(private) cloud. I think he has some good points here that anybody attempting to build such environments should consider before jumping into the conclusion that it will improve the efficiency of their enterprise I.T environments without having to compromise on security and ownership issues.

The most important pitfall he points out is that the exercise needs investment, to build a ‘cloud’ layer over the existing (mostly legacy) systems, nobody is going to invest in such a thing. The second point he is raising is that whether there are ‘unused equipments’ lying in your data centers that can be used for building the cloud? Most of the time the answer will be ‘NO’ in my opinion too, simply because application owners are always short of systems, unless of course they have plenty of ‘center of excellence’s within the company who most of the time are ‘center of expenses’.

Also, we have the ‘almost failed’ example of SOA that it’s not easy to shift the I.T structure that is built over the years by multiple teams with multiple needs and priorities into a new umbrella, no matter how much future benefits you can show there, nobody is going to invest there, though all of us like the word ‘innovation’ more than earlier these days. No matter what skills you have in your enterprise I.T, you simply cannot build something that matches the external cloud providers in terms of capabilities and robustness, so you might as well leverage them than competing.

Having supported these arguments, I must say that I’m no a naysayer for internal clouds; my take is that, you sure need it, but don’t attempt building each and every layer of cloud computing within physically. Leverage the existing capabilities of external clouds such as processing power, networks, fault tolerance, dynamic provisioning and even storage for not so critical data backups etc, and build/host your business systems and services over it and form some sort of virtual internal cloud. As a first step, start using existing external clouds for computing needs where you don’t have to worry too much about data security. (Some of my thoughts on this model here).

Sunday, March 29, 2009

Business services – an essential cloud capability

People who talk about cloud computing often divide the environment as a three layered structure - an infrastructure layer, an operating platform layer and an application layer. But in my opinion, this is not the cloud layers I would subscribe to in future, I would say the most important of them is going to be a – a services layer, comprising business services that aggregates capabilities from all the three underlying layers. This is what should be utilized by enterprise users, to take full advantage of the platform. Services and even process automation systems should be part of clouds.

Now you might ask isn’t it a little too much to imaging that companies will leverage externally defined and hosted business processes? I say they should, as long as they are definable, configurable, automate-able, service aggregations to make full use of cloud environments. Now I’m no technology expert on cloud computing to advice on how it can be achieved etc, all I would say is this is how I envisage a true shared services model to work. I would also say that utilizing the same infrastructure, same applications and storage doesn’t mean the services should give exactly the same output to every customer as well, they should be agile too.

Sunday, March 22, 2009

Building Enterprise Services Network

In a recent blog post titled “SOA without service-enabled applications?”, Joe McKendrick points to a big misconception in the I.T circles about achieving an enterprise-wide service oriented environment - that every providing system has to be ‘service enabled’ to achieve SOA. He is right, services that are built from the functions of the underlying applications need not be part of the applications themselves, in fact in many cases it should not be too, in my opinion.

Everybody (including those saying SOA is a dead cow; no more milk-able that is) accepts the importance of building a ‘business services network’ in enterprise I.T these days, and such a layer can be built as an isolated layer above the business applications, though I wouldn’t say we would need a ‘ commercial SOA stack’ to achieve the same. Taking this approach has many advantages, including composing coarse grained business services from multiple underlying system functions as well as achieving better loose coupling levels.

Another advantage that I see is that, as enterprise environments are consuming more and more externally hosted services(yes, I mean the SaaS, Cloud stuff), the business services layer will help provisioning these services to the enterprise consumers easily because all we have to do is to connect it through the business services layer. This kind of an approach I would say make one of the key enterprise I.T concerns today - how to replace internal systems with Cloud/SaaS services - addressed better as well because now there is a clear abstraction between the consuming systems and the providers, the consumers just have to point to the same end-point in the business services layer no matter whether that service is provided by an internal system or an external one.

Thursday, February 26, 2009

(Utility, Grid, Cloud, SaaS, SOA,…) Computing

Though I don’t work with most of these areas, the things mentioned in the title always puzzle me, mainly by producing such questions in my mind as - Are they all the same or are they different? How are they going to affect our (I.T’s I mean) future etc. Here is what I understood so far on each of these things and how they are related, please correct if I’m wrong(and you are right)

Grid computing – A technique in which multiple small computing environments are connected and exposed to outside as a single unit of big processing power, data storage etc.

Utility computing – I think this is more of a business term that refers to somebody offering computing abilities as an external service to those in need of it, where they don’t have to invest in buying own computers on their own. SaaS I would say is an offshoot of this

Cloud computing – Ah! Trouble! Let me escape by saying this – it’s a model where grid capabilities are used in the back-end to deliver computing services to customers?

SOA – I know to some extend what that is, so I would say it’s about the way the computing services are exposed by the environments that provide those as cloud/utility services, so that consumers can have a common mechanism to reach to the servicing systems.

Though there are too much noise in this space currently, I think it will all settle eventually and we will have well tuned computing-on-demand environments available to use. Now the million dollar question is ‘by when?’. Since we are in recession and cannot afford any million dollar stuff, I don’t have an answer.