Managing inefficiency by objectives

Development No Comments »

Some of you sent feedback on my latest blog entry about Application Management. Application Management is a specific kind of outsourcing, where you outsource maintenance and continuous improvement of custom applications. Two managers asked the same question: “How can it possibly be more efficient to outsource custom applications than to maintain them in house? The outsourcer has no knowledge of the application’s specifics and economies of scale don’t apply! If the Application Management provider really is more efficient, then the in house crew simply hasn’t been doing their job.”

Good reasoning. But we at syngenio have been doing Application Management for years and there has always been a cost reduction through efficiency improvement. Very rarely it is lower than 10%, sometimes up to 20%. How come?

Believe me, it’s not because your employees are not doing their job. It’s because they are. They are working towards the objectives that have been established. And these objectives need to be relatively short term objectives – because management needs them to monitor progress, because your employees need them as feedback on their personal performance. What we are talking about here is the entire process of building and maintaining custom applications, also known as the “application lifecycle”. That lifecycle can be long, several years at least. So it’s no good to set up the objective “Optimize ROI over the entire application lifecycle.” You couldn’t properly evaluate that criterion before you shut down the application.
Instead, other objectives are being used. Let’s look at the project manager of the project that creates the custom application in the first place. He is responsible for time and budget. Of the project, that is. And the project ends with the custom application going live. That way, any responsible project manager is practically forced to compensate for deviations from the plan by cutting short anything out of scope – such as optimizing the application for efficient maintenance. That is the objective we have set for him.

You may hope that the operations department will counterbalance such strategies by bringing in their own requirements. In fact, they can only do that in a very basic way: They can bring up general requirements, not more. They do not know the specifics of the application yet. It is business and development who discuss and define the application. Again, that is the reasonable way to organize it, because the complexity of applications stems mainly from business needs, not from IT needs. So let’s focus on getting the business part right first.

Later, when everything is up and running, there is a new objective for employees: Efficient day to day maintenance. Whether it is set up officially or not, it is in place de facto: simply because it is the only way to meet up to daily requirements. Urgent tasks get higher priorities than important tasks. In the end, the important task of really understanding that custom application and its potential for improved efficiency never gets done.

By themselves, all those objectives make perfect sense: focus on the success of the development project, focus on business needs, focus on availability and mandatory changes first in operations. But in the end, they prevent us from focussing on the real goal: Optimizing ROI over the entire application lifecycle.

Let’s face it: we are actively organizing inefficiency.

What do we learn from it? There is an old saying: “Quality is free.” Tom de Marco wrote years ago that it should better be spelled “Quality is free for those who are willing to invest into it.” Meaning: It is possible to achieve lower cost full quality application operation – if you make the investment to include that separate phase into your application lifecycle: application management setup. Yes, it needs to be a separate phase in order to have its own objective: understanding the application and its potential for efficiency improvement from an operations point of view. Application Management providers include that phase. They convince you to make the investment and thus you get that 10% plus overall improvement.

My advice: select some of your custom applications and outsource them to an application management provider. This will free some internal resources to work on the necessary improvements on the remaining applications.

 Upcoming blog entries: (a) how to select an application management provider and (b) the mechanics of achieving the efficiency improvements. Stay tuned – or stay in contact at info@syngenio.de

Input to an Automation Engine – Namespace as a Starting Point

Automation, Automation Technology Architect View No Comments »

I have been talking quite a bit about the technology that drives an automation engine. Actually there could be many approaches for the technology that evaluates conditions and chooses the right actions to execute. Our technology takes a “divide and conquer approach” in a very distributed system and therefore simulates the behavior of a good human administrator. Other technologies take a “drill-down” or “boil-up” approach. All the technologies produce automation results and normally they are used for special tasks. E.g. a drill-down approach is focused on a straight forward root cause analysis approach.

Apart from all these technologies and very important backend decision the question of what goes into an automation engine is paramount to the actual results of automation. I have written a blog entry on the basic IO model of an automation engine emphasizing this point.  As you may remember I proposed two different streams of preliminary input data to the automation engine. First there is the model data that build up the space automation is to take place within and second there is the monitoring data representing the actual condition of each node in the model. These two basic data streams are evaluated by the rules engine.

The data streams have to fulfill certain pre conditions in order to produce proper automation output.  I will talk about the attributes of the model data stream in this article in more detail. The monitoring data stream holds either event driven or time series data. Finding a way to normalize this stream so a rule can evaluate monitoring data at any given point in time will be the contents of an entry here soon.

The IT model is described as a representation of the interdependencies between IT entities or in a ITIL way of speaking between configuration items. There are a lot approaches towards building such a model. Depending on the approach the model has a different number of layers and dimensions as well as different kinds of relations between its nodes. Just like an up to date model is key to automation as well as to orderly IT processes, the complexity and accuracy of the model will have to compromise with its maintainability. Many vendors are trying to reduce this need to compromise by building auto discovery solutions such as IBM’s TADDM. Still the complexity of the model is proportional to the user acceptance of every process and technology based upon this model.

Behind the model of interdependencies are the nodes that are interdependent. And these nodes have to describe IT entities using meta-information. This meta information is put down into attributes and these attributes can either save the world or be the cause of all evil.

Therefore building the actual values for the attributes should be worth some thought. Surely there are simple attributes like HOSTNAME or the like and we do not have to think much about it. But yet a simple attribute such as OS can be a bigger challenge than would be expected. When you simply assign “Windows” or “Linux” to OS, then you will only be able to match this exact system when building conditions for automation. When you assign something like “server.windows.2003″ where the first part describes the OS usage, the second the OS family and the third the actual system you can match other windows servers by building a condition like “server\.windows \..*” or you will be able to select all  Linux systems (regardless of desktop or server) by building a condition like “.*\.linux\..*”.

Maybe this little example shows the power of building up proper systems for name spacing. So what kind of system is appropriate for automation? A simple “name” solution (like the first example) is not good for anything but a quick and dirty test of an automation engine algorithm. The second approach shown above (a tree like structure) is very powerful and very close to XML (which most people use to declare structured data these days). These tree like structures are good for expression matching and therefore good as an input stream to automation engines. When using these structures you have to build up a clear understanding of the trees to use first. As you can see from many discussions (one of the most competent between Van Wiles and William Vambenepe) the problem of agreeing to applicable and technically usable naming conventions is still up in the air even though it can be one of the major causes for CMDB projects failing and definitely has major impact on any automation engine. Each vendor has their own naming conventions and definitions eloquently elaborated, but unfortunately no one has looked upon the problem from higher ground. The closest I have found so far is a chapter in the book Implementing ITIL Configuration Management by Larry Klosterboer.

I have had many encounters with strange approaches towards the issue of naming conventions and namespace  and therefore made sure that our algorithms can work with any kind of namespace (with varying degrees of performance). If you want to “do it right” I would strongly suggest to stick to the following principles when building up your personal CMDB or model of interdependencies:

  1. If you are willing to attach yourself to a vendor (not just for the CMDB, but most products delivering towards the ITIL processes), stick with the naming conventions of this vendor. The guys usually have put some thought into them. If this is not possible for you (either because you strategically have to place large vendors against each other, because you like your software zoo or just because…) completely build up your own space.
  2. Use a treelike structure for everything and make this tree structure fixed. Meaning that each depth level in the tree always correlates to the same sub attribute. This may mean that you will have to “fill” some levels in the tree for some nodes (like “windows.windows.2003″). This will save you from extensive misinterpretation by people who do not use your namespace everyday.
  3. Do not include versions into the tree-structured attributes. Versions are a secondary decision criteria and are used AFTER you know what you are dealing with. Not just our automation engine does use different parts of a rule but still the same rule for different versions of the same environment, many other tools do - therefore performance increases when you keep versions separately.
  4. Do not “outperform” yourself when building or using naming conventions. In any case (using a vendor´s approach (who has to be very flexible) or your own (you may want to do it scientifically tight)) only fill in or use the attributes and sub attributes that make sense for the task at hand. If you stick to the proper structure you can always enter additional data later on (as you need it). Data in place has to be of some use, as it just by being there creates costs).

Just by sticking to these (1. and 4. being the most important to bracket things up) you can make sure that your IT model is easily understood, has low maintenance cost and can be used for something innovative like automation right away.

Application Management

Development No Comments »

You hear the story over and over again: Business asks IT to design and build yet another custom application. IT resources are limited, so the IT department subcontracts the job to some external software company. Meanwhile, the IT department itself takes care of the existing applications. You think that’s just the way it is? Think again.
What makes the difference between internal and external IT personnel? That your internal staff knows your company better, I’d say. They know more about the way things are run at your place. There are always lots of things that business will forget to write down in the specification – simply because they are taken for granted. Fortunately, your internal IT staff probably considers them as basic standards as well – so they will build them into the application anyway. Not true for external software companies. So take some of your own IT staff, mix them with some externals of the latest technological flavours, stir – and you got yourself a winning team.
Which leaves you with the question how to maintain and improve your existing applications with some internal staff set aside to get that new development project right. Actually, there is an obvious way to do that – just the same way you always did it: subcontract to some external software company. Not any software company, of course. One that specializes in application management. By application management I mean that special flavour of outsourcing, where the outsourcer takes care of a custom application, its maintenance, incident and problem management at a fixed rate. You probably wonder if that’s going to work. After all, your custom applications are not easy to maintain (and no wonder that is – if you let external software companies develop them without internals to guide …). Believe me: It can be done. More than that: you would be surprised how short the time to break even is. Of course, the outsourcer needs to review the application and build up knowledge. And this leads to a fresh view on the software, one focused on maintenance efficiency. Nine times out of ten, this is the first time your application has been scrutinized for maintenance efficiency. Including but not limited to the identification of potentials for automation in incident and problem management. Which is why I am telling you about it in this blog. In my next entry, I will share my thoughts on how to select a matching application management provider. Of course, you can always shortcut the waiting time and contact me at info@syngenio.de

Elmar Borgmeier

Will EMC join the Big Four?

Market 1 Comment »

Everyone knows the big four auditors (Deloitte, Ernst&Young, KPMG, PWC) for a long time. In recent times, while our favourite topic becomes more important from week to week, there are the IT Service management big four aka BMC, CA, HP and IBM (alphabetical order!).

As Erin Joyce on enterprisestorageforum.com describes <here> EMC is integrating two solutions they acquired in recent years (Smarts in 2005 and Voyence 2007). Voyence Control is a solution for Automated Configuration and Change Management, while EMC Smarts is a solution for fault isolation and root cause analysis. In combination with the in 2006 acquired nLayers solution for Application Discovery, which is now labelled as EMCs ADM (Application Discovery Manager), it looks like they added ITSM and BSM (Business Service Management) to their interesting product portfolio.

So if I were Cisco and had 45bn$ to spend, I definitly would take a deep look into EMC. I guess together with Cisco, we would see the Big Five.

Roland

Riding – A Close Partnership

Private Life No Comments »

This spring I took part in a course of horsemanship where Uwe Jourdain did his very best to teach riders who spend most of their time riding underneath the sky and our horses the art of circus riding. I really enjoyed the course and learned a lot from Uwe.

So I was glad to get involved when Mr. Jourdain asked me, if I would be willing to support a group of young girls who practice a very interesting form of riding. Just with a rope around the horse´s neck they perform all the “tricks” most of us struggle hard to get done with saddle and bridle. The “Brave Summer Riders” as these girls call themselves are coached by Uwe Jourdain and are supported by their parents. I really enjoy seeing such close partnership between riders and their horses and this is why I gladly support these brave riders (not just in summer). Tonight I received the first pictures from the team´s captain Christin Turck and wanted to share them with you right away.

Broad Cultural Weekend

Private Life No Comments »

Augsburger PuppenkisteKreuzgangspiele FeuchtwangenI started out this weekend with a fierce discussion on graph theory on Saturday. Surely I gave more ground than I normally would have, as I spent Friday night at an Irish birthday party. Well, this discussion is about how far it went for work this weekend.

The rest of the weekend I had great fun with my family. We spent our weekend in Feuchtwangen (Franken – that special part of Bavaria) and Augsburg. Besides tasting the great local food (and beer) we had the pleasure of taking a very broad cultural trip.

Saturday evening we saw Shakespeare´s “As you like it” in Feuchtwangen. As we attend the theatre festival (Kreuzgangspiele) in this beautiful city almost every year, our expectations were high and they were met to the fullest. The cast, directing and the translation were really great. The people organizing and playing this performance really brought honor to that famous quote from “As you like it”:

All the world's a stage,
And all the men and women merely players;
They have their exits and their entrances,
And one man in his time plays many parts,
His acts being seven ages.

On Sunday we jumped from the ironic but highly decorated world of Shakespeare back to the childhood days. We visited the “Augsburger Puppenkiste” (probably Europe´s most famous puppet playing company) and saw one of the classical fairytales “der gestiefelte Kater”. The play was done absolutely beautiful and gives truth to the saying that you have lost your childhood when you start seeing the puppet strings while watching the play.

So you can see. Besides the great feeling of meeting up with the family we did work on our education and on staying young and educated.

Automation as a Strategic Issue at HP

Market 1 Comment »

Not just for all of us who have to deal with day-to-day operation of IT the topic of automation seems to be of great interest. Naturally the interest of people maintaining systems and services becomes the interest of vendors. I had the pleasure of attending the HP BTO Talk in Frankfurt and was glad to find out, that automation itself is the main focus of HP´s system management efforts.

For the first time since HP acquired OpsWare in 2007 I was actually able to see the platform in a customer environment. Swisscom attended the event and demonstrated their efforts in network automation. More impressive was the presentation of Mr. Rossa from Wien IT, who was able to show how standard changes and standard procedures in provisioning were captured into the automation suite.

I have seen more complex provisioning environments but in the HP presentation on the OpsWare platform I could get a glimpse at the visualization and reporting offered behind the scene. Coming up from the network layer they really found a very intuitive way to show what is actually available and going on in an IT infrastructure.

The strategic presentation offered by Mr. Winkler from HP put forward automation as the key to the HP software strategy. I consider this corporate understanding to be a major advantage in market development – much more than all the thousand features us techies like to talk about every day. So in my opinion HP´s view of the future is absolutely correct:

Good IT operation is, when you see nothing of it

I was a little amazed to see that the actual automation of operational tasks as well as tasks dealing with incidents and problems are still in a fairly basic state. All the cute things we have been talking about in this blog are still in the vision only. Simple rules and actions can be applied but that is all. Compared to the field of automated deployment, standard changes and predefined tasks the automated reaction to upcoming problems is not in an advanced stage. Even though there obviously is a really fancy interface for cross platform command execution. This interface could actually be hooked up to an automation engine like aAE and voila, commands would go out to the world. I actually think we will give this a try.

All in all I have to say that the visualization is impressive and the strategic alignment of the softwarestack is convincing. I will keep a close eye on the things happening around there – even though integration all the new acquisitions may still take some time.

Can Automation be Trusted - Or How to Build Trust on Laziness

Automation, Social Impact of Automation 4 Comments »

Well, what a very basic question… Should we be discussing automation engines, when we should not have trust in them automatically taking action? Surely not, and obviously we are discussing automation engines.

So why do I hear so much about the lack of trust towards automated actions? It may be a stunning change in the field of system administration, that some entity takes automatic action where normally a system administrator would have typed in a couple of commands up to now. And change always induces fear and prejudice. Questions like “do you really trust the engine to restart this business critical service?” are not really uncommon. Well why should the machine not do that? After all the only action a system administrator would have taken is to restart the whole machine instead of just the service?

This simple every day example shows the real problem: Trust

We seem to have a problem when faced with the necessity to trust a machine or some lower level of reactive “intelligence”. Maybe this is just due to the many science fiction books we have read on robots and machines gone mad. In the end we are the ones who gave the engine the rule set by which it acts.

Actually we trust in automation every day we step into a lift. Much more than that, we rely on hard wired automation when we breathe or when our heart beats. I think none of us would be too happy about the idea of having to think and act out every breath and heartbeat consciously and willingly. Not much difference in automated actions in IT administration - and just like you can hold your breath automated actions can be overridden at any time.

This sounds very logical, doesn´t it? But logic is not the drink for “unsinkable rubber ducks” (the term true believer nowadays it too closely connected to politics - and besides much less enjoyable). So a good argument usually does not help much. In order to get on with automation either management uses force or try to employ man´s oldest habit - laziness (maybe we could get entangled in a discussion on greed or laziness being around first). And do not get me wrong, great things like the wheel were invented because of laziness. And on the way, we build trust towards automation in a non intrusive way - i.e. everyone involved can discover for himself that automation helps and is not evil. So this is how it is done:

  1. Setup the automation engine in full
  2. Disable all automated commands and redirect them to a trouble ticket or service management tool.
  3. Have administrators use this tool and hence make them see what the engine would have done.
  4. After a while people will start to copy and past the commands form the trouble ticket or service management tool into the various command lines.
  5. This is the time to enable automatic command execution. The connection to the service management or trouble ticket system stays as it is. So the commands executed are not in any way “block boxed”.
  6. There will not be mistrust and all the discussions, bad feelings and politics attached to it.

Microsofts multi-million server cloud

Clouds No Comments »

The worlds-famous retiree Bill Gates annouced some weeks ago, that in the future Microsoft will have many millions of servers in their datacenters, which first of all is a very impressive proposition. Nicolas carr has some thoughts on Bills speech <HERE>.

If you break down the numbers - Microsoft claims to add between 10.000 to 20.000 servers to their infrastructure each month - and read datacenter newsletters like <THIS> and <THAT>, you soon will realize, that this definitely will become true rather sooner than later. Sure, MS has to because we might be right before a huge shift of paradigm in the software industy - moving every type of application and data from your destop straight to some datacenter somewhere (hi Google) . Thus making Microsofts main business modell looking kind of old-fashioned.

If you bring things together and look at “Live Mesh” and “Office Live” you will understand, where the world will be in 3 to 5 years from now.

And, I’ll promise you: Microsoft is paying attention to the enterprise market much better than Google and Apple together.

Roland

Do you like good music?

Private Life No Comments »

Good music surely is a matter of taste. BUT some things are just such classics that I do not hesitate to declare them “simply good”. I consider myself a lucky guy. Last week I had the pleasure of seeing Mark Knopfler in Cologne, Bon Jovi in Frankfurt and Alanis Morissette in Frankfurt as well. All three concerts were a real experience and even though there were quite some problems with sound quality I would definitely go again to all the events.

The Mark Knopfler concert was really very cozy; drinks served at your seat and ALL of the old Dire Straits classics. My favorite “the telegraph lane” was played in an XXL version and I really loved it.

Bon Jovi was the concert with the worst sound – Frankfurt stadium with the roof closed seems to be a really bummer for music – but with the best atmosphere. 40.000 people really had a good time. Next to me – right in the middle of the crowd – was a 70-year-old who knew all the lyrics and on the other side a teenager (in love with John). It was a really amazing party there.

Last but not least Alanis Morissette was performing in Frankfurt´s old opera house. What a location for rocky music. She really had a hard time to get the crowed off their seats (yes really everybody was seated) but it eventually happened and the Frankfurt Opera staff had some very new experiences. She played some new and very good songs.

Top