idspopd - Fotolia
The application owner normally does not care about infrastructure. The traditional IT admin cares about the infrastructure, but not about the application. We need to change that.
The app owner should learn how the app will consume IT resources and the performance consequences of architecture decisions. The application support manager and team, whether that includes a virtualization admin or a DevOps engineer, have to understand the app model, delivery structure and what the typical user expects, and deliver resources that take application support best practices into account.
Hand off applications
IT administrators generally take over responsibility for an application once it is up and working, when the model shifts from design to support mode. This is a critical step. The resources and needs for support are not the same as design and often have a handoff component.
Application support best practices come with their own set of rules. The support team must understand how the application is supposed to work for the customer -- how else will they know if something is a feature or a bug? Too often, technical people develop application support skills from a technical viewpoint, not a functional one.
Many smart people in IT operations and support roles look at the bits and bytes of the application and use that input to gauge how well the app is working. If the CPU and memory counters are within the normal range, the application is functioning correctly. This is flawed logic that doesn't account for the customer's application experience. Bits and bytes are only half the equation; operations must have an overall picture of how the application is working, how it's expected to work and how it should scale.
IT operations team members need training in application functionality and what to expect during normal operations. Because these people do not use the application, application support skills development and training can be downright painful, but they are absolutely critical in order to make a successful handoff. They also need to understand the application deployment process and the reasoning behind choices such as hosting infrastructure and limitations. They should ask engineering about how the application works on the back end as the load scales and how usage affects performance.
Application support best practices demolish silos between application owners and developers, engineers and operations. It will take more than one handoff meeting. Application support skills come from asking the same questions from multiple viewpoints at the same time so that all groups have a deep understanding of and investment in the success of that deployment. The discussions can be about resources, operations or failures. Each group has a perspective based on what it does, which is vital. Collaborative support does not happen overnight. It isn't easy, but the efforts pay off. After the first few application deployments using this approach, it will become second nature.
When issues and incidents occur during the application's lifetime, the communication channels and relationships put in place during the deployment phase come in handy. Collaboration, trust and communication across functional skill groups make a substantial difference in troubleshooting and correcting any issues.
Plan for retirement
With the application support model set, turn to the last piece of the journey: the retirement stage. Ideally, end of life is as easy as turning the servers off, but it's never that clear or clean. Application retirement has many of the same steps that a launch does. Verify the effects of the application going away, both to its customers and support staff. Will you now have excess operations staff, with specialized application support skills, who need to be retrained on a new application, reassigned duties or even let go? Without proper planning and retraining on application support best practices for the next project, staff reduction quickly comes up. Losing talented people because you didn't put the effort into retraining is not good for anyone.
Virtualized IT resources can return to an overall available pool for diverse usage upon app retirement. Ownership is a sticky question. If the application owner paid for those shared resources as part of a chargeback system, shouldn't they retain the resources for future use? Are the resources, potentially purchased long ago, capable of supporting a replacement application? Or should they be reassigned to host utility or infrastructure virtual workloads? Have this discussion well in advance of retirement to ensure everyone understands what happens to owned resources and why.
Application success in the modern data center requires collaboration and best practices enforcement from the planning process on, well before the support stage and application retirement.
Application lifecycle support from cradle to grave isn't about the complexity of each stage, but rather about communication among stakeholders. List out everyone who touches an application and plays a part in its lifecycle, and you'll see a large, multidisciplinary group that contributes to success or failure for the business.