Operations (Middleware)---a Technical Reference Guide for Designing Mission-Critical Middleware Solutions

Want more guides like this one? Go to Technical Reference Guides for Designing Mission-Critical Solutions.

Operational management is critical for ensuring that all stakeholders take a proactive role in maximizing enterprise application health so that the value from investments in enterprise applications can be realized.

Composition, a technique for assembling a logical application across a number of disparate physical applications, leads to increased business agility, but also to new complexity that must be reconciled from an operational management perspective. Left unchecked, organizations will waste precious resources on production support as opposed to adding business value.

It is essential that all roles within an IT organization (and the business units themselves)—not just IT professionals—take ownership for operational management, including development, quality assurance, and decision support, such that the same rigor applied to development and deployment activities is applied to ensuring that the application or system can be managed in the most efficient and cost-effective manner.

When we think of operational management of applications, we think in broad terms of managing, maintaining, and monitoring the applications. High availability and disaster recovery are also typically grouped into operational management, but these are covered elsewhere.

Best Practices


  • Prefer declarative configuration to imperative configuration for WF workflows and WCF services, and establish a change management policy including identification of development versus deployment time roles and responsibilities.

  • Understand governance policies around personally identifiable information, including .

  • Review best practices for for monitoring Microsoft .NET applications.

  • is a suite provided by the Microsoft Patterns & Practice team that addresses many cross-cutting concerns. It is well documented and operations friendly. Consider fielding it with your solution, particularly in the absence of an existing logging, exception management, separation of concerns, and security tool.


  • Prefer for hosting and of WCF and WF applications and understand its various .

  • Windows Server AppFabric support for makes it a superior host to Windows NT Service for hosting WCF and WF services in every way. Use it whenever you can. See for info on having your custom start-up initialization code called during process auto-start.

  • Have a solid, repeatable deployment process in place.

    • See for AppFabric deployment.

    • See in the BizTalk Server Operations Guide for BizTalk applications.

  • Have an application update and versioning strategy in place.

    • See and for AppFabric.

    • See in the BizTalk Server Operations Guide for BizTalk applications.

  • Let Windows Server AppFabric manage workflow and durable service Persistence.

  • Understand strategies for workflow applications and workflow services, particularly policies.

  • The provides guidance on how to optimize the architecture of a Windows Server AppFabric system. This guide also includes information on the components of an AppFabric solution and the platform dependencies involved.

  • Follow .

  • Understand scale-out scenarios and refer to the to comprehend the scale-out topologies and management considerations.

  • Refer to the and when considering Microsoft SQL Service Broker for pub-sub.

  • Refer to the and considering Microsoft SQL Service Broker for pub-sub.

Management and Administration

  • AppFabric delivers a superb management and administration experience when compared to self-hosting or IIS/WAS hosting. See for more information.

  • Use as an alternative to the UI, or as a way to automate routine management tasks.

  • Always prefer Windows Server AppFabric for your WCF services and WF services. See in the AppFabric documentation as well as the following blog entries:

  • MSMQ is still pervasive in the enterprise. Understand key operational scenarios by referring to guidance for .

    • For using MSMQ with WF workflows, see .

  • Do not underestimate the complexity of maintaining a BizTalk Server footprint. See and for guidance.

  • enables IT organizations to better manage their servers and applications and automate many management tasks. helps provide for end-to-end service management of your applications. Most Microsoft products, and many third-party products, have a System Center Operations Manager available:

    • Management Pack for

    • Management Pack for (which includes monitoring for AppFabric Cache)

    • technologies (enable in-production, always-on root-cause monitoring and analysis of Microsoft .NET Framework-based applications).

  • Your custom applications can also have their own, built by your development and/or IT organizations.

  • The provides BizTalk Operations checklists for operational readiness, routine maintenance, and routine performance tasks. The cover platform configuration (including the applications that BizTalk Server depends on for services), deployment, availability, monitoring, and testing. The BizTalk Server Operations Guide also has individual sections for managing, monitoring, and maintaining BizTalk Server.


  • (ETW) will provide the absolute best performance for monitoring your applications, but can be complex. Review for common questions and solutions.

  • For instrumenting high-performance BizTalk solutions using ETW, see .

  • Throttle WCF and Workflow Services to align load with available resources and prevent denial of service attacks by adjusting , and on the Service Host.

  • Opting for or non-text to optimize wire transfer is always at the expense of the ability to easily troubleshoot message payloads on the wire. Understand this liability and consider a toggle that allows for inspection of message payload.

  • Transport security performs better than message security. See for implications involved in security choices.

Case Studies and References

Examples of successful architectures are described in the following case studies and white papers:

  • (AppFabric)

  • (AppFabric)

  • (AppFabric)

  • (BizTalk)

  • (BizTalk)

  • (BizTalk)

  • (System Center Operations Manager)

  • (System Center Operations Manager)

  • BizTalk in a environment

Questions and Considerations

This section provides questions and issues to consider when working with your customers.


  • Consider whether your application is designed for scale-up or scale-out, what load (messages, transactions, requests, and records) your application is expected to be able to process, and at what rate it will grow.

  • Have you conducted capacity planning with the infrastructure team that will be responsible for provisioning and managing the application once it is deployed?

  • Have you considered the nature of the data that you will be persisting or transmitting and its relationship to personally identifiable information?

  • What is your instrumentation and error logging policy? Is this policy documented and well understood by the operational support team?

  • Design your .NET Tracking Profile early, and consider additional tracking profiles for WCF and WF provided by Windows Server AppFabric.

  • Recognize that not all support personnel will be well versed on how to manage, troubleshoot, and verify the health of your BizTalk Orchestrations, WF workflows or WCF services.


  • Do you have a repeatable deployment process that is well documented and understood?

  • What is your strategy for patch management and upgrades?

  • How will you manage versioning, particularly for service clients/consumers?

Management and Administration

  • What level of operational management is needed?

  • Are the applications mission-critical, are they departmental applications, or are the applications somewhere in-between? The level of criticality of the applications can help determine the level of operational management needed.

  • Are the applications "out of the box" packaged software, have they been customized, or are they written "from the ground up" on Microsoft application platform foundational technologies? The level of custom work will many times affect the operations of the solutions.

  • Will third-party applications and solutions need to be managed as part of the overall business solution?

  • There should be proven, documented processes in place for the management, maintenance, and monitoring of all applications. This should include roles and responsibilities for escalation paths. Escalation paths should include internal escalations within your organization and external escalations to Microsoft and other third-party vendors on which your applications depend.


The goals of instrumentation/logging are typically diametric to performance. Think about how your instrumentation and logging policy will impact performance and consider support for verbosity levels to balance JIT information with performance demands.


< Full URLS for Hyperlinked Text>