In, “Is it Time to Reorganize Data Center Operations“, we proposed the IT Operations be reorganized into “Virtual Operations”, where all of the teams that were responsible for resources supporting Virtual Operations (System Engineering, Servers, LAN’s, WAN’s, SAN and Storage) all reported to one person who was responsible for ensuring the delivery of viable virtual environment. In the same post, we proposed that how applications are supported in production, get reorganized into “Application Operations” where there would be one team responsible for the operation of all applications (purchased and custom developed).
Application Support Today
Let’s take a look at how applications are supported today. In most companies, applications are supported in one of four ways:
- In the case of strategic custom developed applications, generally a portion of the Development team is responsible for production support. This usually means dedicated resources that report to the same person that is responsible for the further development of the application.
- In the case of strategic purchased applications, generally a team of people are dedicated to these as well. For example for SAP, many enterprises have an “SAP Center of Excellence” which is devoted to evolving SAP in order to meet the needs of the business.
- For many “tactical” applications the support is in IT. What this means in fact is that the application is not really supported at all – the environment for the application is supported. This means that the web servers, .NET servers, Java servers, and database servers are supported by IT, but no on is really supporting the application.
- For many niche applications there is no support at all. It is often left to the users of these applications to support them themselves with sometimes a little assistance from the IT staff.
- Agile Development. Agile Development techniques mean that new functionality is dropped into production on a very frequent basis – often daily or weekly. This requires a competent production support function simply due to the rate of change in the applications.
- Application Diversity. Custom developed applications have now been developed in countless different ways ranging from FoxPro and dBase, to Visual Basic, C, C++, MFC, COM+, to the more recent frameworks like Java, .NET, PHP, Ruby, and Python. Add purchased applications to the mix and in some cases applications that are built upon mixtures of custom and purchased applications, and what you end up with is an environment of unparalleled diversity and complexity.
- Virtualization. Yes many tactical applications have been virtualized without their users, or in some cases even their owners knowing about it. But this will not fly for production, business critical and performance critical applications. The users and owners of these applications will demand that someone (Application Operations) take responsibility for the performance, availability and integrity of the application in production.
- IT as a Service (Private Cloud). ITaaS brings the automatic provisioning of customer initiated workloads into the system. We are not far way from the day when users are going to define the application functionality that they want in a Service Catalog and the Private Cloud Management stack will deliver it to them. This brings up the prospect of new applications of an indeterminate architecture showing up in the environment on a random basis.
- Public Cloud. So now parts or all of your applications will run on someone else’s infrastructure. In most cases someone who will be incapable or unwilling to give you any assurances as to the actual performance of that infrastructure – which means that all that it will be possible to manage will be the application itself.
- Comprehensive Application Coverage. APM solutions needs to work for every application that the enterprise owns. No matter whether it is purchased, custom developed, what it is written it, whether it is two tier client server, or N-tier, SOA, or whatever.
- Automatic Application Discovery. Given that APM solutions need to work for every application they need to work for every application by discovering them and automatically instantiating monitoring.
- Zero Configuration. Given that new applications will be showing up on a continuous basis (driven by ITaaS) and changes to applications will be occurring constantly (driven by Agile Development), APM solutions will need to not only discover the applications as they show up and change, but also either require no per application configuration, or be capable of configuring themselves.
- End-to-End and Hop-by-Hop Response Time Management. Many first generation APM solutions tried to infer the performance of an application by looking at its resource utilization statistics. This does not work for a variety of reasons in dynamic and cloud based environments. The only way to ensure the performance of an application in these environments is to measure it they way that users do – by response time.
- Application Based Capacity Management. In virtualized and cloud based environments knowing how much resource is being used by an application may neither be possible nor many it be relevant. Capacity simply means that you can execute the number of transactions that you need to run per second or minute, at the response time required by the users. Next generation APM solutions are needed to understand the relationship between load and response time.
- Application Based Chargeback. Next generation APM solutions will make it possible to draw price/performance curves for different execution options for an application owner and let the application owner decide where to run a set of transactions based upon those tradeoffs.
- Automation Triggers. In order for Application Operations team to succeed, it will have to over time automate as much of the day-to-day operations as possible. This means that the APM solution will need to be tightly integrated with the underlying virtualization platform so that automated actions can be taken to ensure application performance and availability.
|On Premise||All physically hosted and virtually hosted TCP/IP based Applications||
|On Premise||All physically hosted and virtually hosted applications based on Oracle, SQL Server, or DB2|
|Correlsense||On-Premise||All applications running on Windows, Linux, AIX, Sun OS, AIX|
|ExtraHop Networks||On Premise||All physically hosted and virtually hosted TCP/IP based Applications|
|VMTurbo||On Premise||Any vSphere based app with a measurable workload|
|On Premise||All TCP/IP based Applications running on vSphere||