BizTalk Performance Lab Delivery Guide - Introduction
When the BizTalk Ranger Team conducts Performance Lab Engagements, my day job at Microsoft, it’s primarily a mission of knowledge transfer, of teaching customers and partners how to understand, document, analyze and optimize the performance characteristics of a particular BizTalk solution. This document has grown from the need to effectively scale out knowledge about BizTalk Performance to the world of BizTalk professionals. This paper will give the reader some processes, methodologies, tools and information to help them conduct their own BizTalk Performance Lab as part of making sure their project will meet any defined performance requirements.
Knowledge is most valuable when it can be discovered and methodically digested by users who need it. Historically, performance analysis of BizTalk based solutions has been something of a dark art, with the know-how only existing in a few select minds. The goal of this document and the related tools, scripts, etc is to attempt to apply some engineering rigor to how BizTalk professionals go about understanding, documenting, analyzing and optimizing the performance of BizTalk Server based solutions.
This document is not meant to be the definitive treatise on the subject of BizTalk Performance. The purpose is instead to give BizTalk professionals a guide by which they can follow to successfully conduct BizTalk Performance Labs in a repeatable, consistent fashion.
What Is a BizTalk Performance Lab?
Since we live in a world where it’s critically important for words to have specific context and meaning, this section will discuss the definition of a Performance Lab as the term is used within the context of this document.
Who is the Audience?
This document was envisioned for a specific audience, namely software professionals who are experienced with the development of real-world, mission critical systems using BizTalk Server 2006. By following this step-by-step guide, the reader can conduct successful BizTalk Performance Lab engagements, either within their own organization or as a consultant to other organizations.
Why was this Written?
BizTalk Server based solutions tend to be aimed at addressing complex, mission-critical problem domains. Many of these solutions have Service Level Agreements (SLAs) or other strict performance requirements related to either throughput or latency and sometimes both. This guide is an attempt to empower BizTalk professionals with an ability to discover, demonstrate and document a BizTalk solutions ability to meet specific performance requirements. Even the most elegantly designed solution, implemented flawlessly, is a failure if stated performance requirements cannot be met with some certainty.
Many of the most notable failures and disasters throughout history arose from the failure to measure what the people of the time already knew to be critically important. Many BizTalk projects are attempted without ever conducting even rudimentary measurement regarding the solution’s ability to meet stated performance requirements. The most commonly stated reason for not measuring a solution’s performance has been that it was either too stressful, too difficult, or too time consuming a task to undertake. Hopefully, this document will help resolve this issue of failure to measure.