CA Community






Impact of Composite Applications on Service Assurance

Published: November 28 2011, 10:14 AM
by Ken Blackwell

The Web has been a buzz lately about an epic rant by Google engineer Steve Yegge on Google+.  The post was intended for Google employees’ eyes only, but Yegge posted it accidently to the entire world.  The Washington Post headline was “Google engineer Steve Yegge has his Jerry Maguire moment”.  You can read his post here.

While the whole post was an insightful and fun read, I found one little nugget particularly revealing of an industry trend that CA Technologies Service Assurance business has been focused on for a while now.  From his post ...

Monitoring and QA are the same thing. You'd never think so until you try doing a big SOA. But when your service says "oh yes, I'm fine," it may well be the case that the only thing still functioning in the server is the little component that knows how to say "I'm fine, roger roger, over and out" in a cheery droid voice. In order to tell whether the service is actually responding, you have to make individual calls. The problem continues recursively until your monitoring is doing comprehensive semantics checking of your entire range of services and data, at which point it's indistinguishable from automated QA. So they're a continuum.

In this bullet Yegge explains, in plain blunt English, exactly why the acquisition of ITKO is critically important to Service Assurance and its synergy to our Application Performance Management solution. 

The secret sauce in ITKO’s product is the ability to virtualize and then exercise the individual components of a composite application, just as Yegge explains in his rant. Let me explain.

Modern applications are usually architected as composite applications.  What this means is that no one starts from scratch to write a new application anymore.  Instead, they assemble the new application from components and services of existing applications.  Take an ecommerce application as an example.  If you were to create a new one, you would not write all of the functionality from the ground up as that would be a colossal waste of time.  Instead, you would utilize existing components, such as a single-sign-on solution for account management, and external web services for things like calculating shipping costs and processing credit card transactions. 

Now these modern applications have service level agreements for performance and availability just like any traditional IT application.  But the process of operating them changes substantially since a hiccup in their operation can be a result of components and services used to compose them, or in your own code that glues all of these components together to create the composite application.  With previous generations of application architectures, it was enough to just monitor the application at the user experience level to see if the app was performing as required from the point of view of the user.  If the assurance solution detected a problem, there would be a single throat to choke since the application was completely created in-house.

As the paradigm has shifted to composite applications, then fidelity requirements of monitoring them have increased to the point where the dependent components and external services need to be monitored at a much deeper level.   There may be many potential throats to choke depending on which component of the application is causing the problem.  Is it an issue with the in-house code that glues all of the components together?  Maybe it is a problem caused by an in-house dependent service such as a shared database?  Or there may be a problem with an external service used by the application such as a credit-card processor or content management system? 

The ability to answer these questions quickly is critical to getting the problem resolved and restoring the application.  In order to do this, one needs to monitor not only the user experience, but also the virtualized services of the applications in order to isolate and identify who is responsible for them.

This is exactly the kinds of capabilities that ITKO brings to CA Technologies:  the ability decompose an application into its service components, virtualize those and then monitor and test them in isolation of the rest of the application.

When I talk to customers about ITKO, they sometimes ask me what drove CA Technologies to move into the application development and QA markets.  I respond by explaining that we are not moving so much into those markets -- as the old application lifecycle phases or development, test, preproduction, and production are starting to blur and we believe this trend will continue.  And the continued growth in cloud adoption and especially SaaS deployed applications will accelerate this trend in the years ahead.

 

By: Ken Blackwell
Ken Blackwell is senior vice president and chief architect at CA Technologies, responsible for the technical direction of the company’s Service Assurance products and contributes to CA Technologies corporate technical strategy through membership in the CA Distinguished Engineer Council. Ken joined...
Read More..

Comments:

No Comments

Leave a Comment

* An asterisk indicates a required field

* :  

:

* :  

 Submit