To implement BizTalk solutions it is a good practice to have an DTAP environment in place. DTAP stands for Development, Test, Acceptance and Production. Development and test environments are equal (mirrored) and same account for acceptance and production. Deploying DTAP environments is easy, because there are many factors influencing outcome of DTAP. One factor is pricing and licensing costs. BizTalk is available in different editions and since BizTalk depends on operating system and database there are some configuration options to. Here is an overview of possible configurations for DTAP environments, hence there is a nice BizTalk Feature Dependency Matrix.
DTAP Strategy: Pricing and Licensing
Besides features, there are non-functional requirements to reckon with like fail-over, availability and scalability. On Microsoft Pricing and Licensing FAQ section of BizTalk I found this on non functional side. In a large BizTalk Server 2006 R2 deployment, two key considerations ensure redundancy in all areas of the architecture and manage significant message volume:
First, on the front end (the machines running the BizTalk Server 2006 R2 services that are actually performing the business document transformation, routing, and business process management work), it is usually best to have two or more computers pulling from the centralized processing queue, so that if one fails, the remaining computers are still processing work. This provides both “scale-out” and “failover” for the BizTalk Server 2006 R2 computers. The BizTalk Server 2006 R2 machines often do not need to use Microsoft Cluster Server (MSCS), as fault tolerance is automatically provided in redundant configurations. BizTalk Server 2006 R2 Enterprise boxes may be clustered using MSCS to enable specific scenarios. If customers choose to cluster (using MSCS) the BizTalk Server 2006 R2 machines, CPU licenses must be purchased for every server, regardless of whether they are clustered as active/active or active/passive mode. Whether customers choose to cluster using MSCS or redundant configuration, BizTalk Server 2006 R2 ENT is the only edition that supports using more than one computer to share a BizTalk Server 2006 R2 load.
Second, on the back end (the computer[s] on which the Microsoft SQL Server processing queue is located, and from which one or more front-end computers are pulling), it is also desirable to have “failover” should the computer running the SQL Server service fail. This is a standard active/passive SQL Server clustering scenario utilizing MSCS and, logically, is completely separate from the BizTalk Server 2006 R2 computer(s) in operation. This is what we are referring to as “failover” clustering. SQL Server Enterprise Edition and Standard Edition offer failover clustering ability. Note that you may use BizTalk Server 2006 R2 Enterprise or Standard with SQL Server Enterprise Edition or Standard Edition for failover capability on the back end. It is also often desirable to “scale-out” the SQL Server installations by providing more than one computer running SQL Server to support multiple message boxes. BizTalk Server 2006 R2 Enterprise is the only edition that offers scale-out ability and multiple message boxes.
This means that there are possibilities in configurations for BizTalk deployments in DTAP (as shown in picture below).
On website of Microsoft I noticed following note.
Note: Many customers who deploy BizTalk Server implement separate development, testing, and production environments for their BizTalk Server 2006 R2 solution. For the development and testing environments, you need a user license for each developer and tester, which can be obtained through either BizTalk Server Developer Edition or an MSDN Premium Subscription. For the production environment, you need a valid processor license of BizTalk Server 2006 R2 Enterprise, Standard, or Branch Edition for each processor on which you install an edition of BizTalk Server 2006 R2.
As you can noticed there is no remark on acceptance environment here. So if one needs to have an equal acceptance and production environment then a valid processor license of BizTalk Server 2006 R2 is required. Let do some math here with license pricing of BizTalk Server.
Lets say three developer editions (not MSDN) of BizTalk (two for development and one for testing), four standard BizTalk Editions will come to an amount of $35493 ($26994 if one uses standard edition of BizTalk from for instance MSDN for acceptance environment). Amount will be different if Enterprise edition is used in Acceptance and Production Environment, depending on if MSDN is used or not. Lets assume again three developer editions (not MSDN) of BizTalk (two for development and one for testing), four enterprise BizTalk Editions will come to an amount of $141493 ($71495 if one uses enterprise editions of BizTalk from for instance MSDN for acceptance environment). These are just prices for BizTalk not Team Foundation Server, Visual Studio 2005 Team Editions, SQL Server, Operating Systems. Through calculations you can learn a lot what the cost in the end will be. To lower the cost MSDN subscriptions might come in handy for Development, Test and Acceptance.
Regarding pricing and licensing I have recently posted a discussion on LinkedIn. In case of a BizTalk DTAP Strategy, which editions are suited for each environment?
One answer which I liked is the following and resembles how I think it should be.
“Buy an MSDN subscription for everyone who touches D, T, and A. That way, you don’t need any additional licenses for these environments. Use Enterprise Edition of BTS if you require a multi-server setup, use Standard Edition if you are OK with the risk of a single server setup. Use Standard Edition of SQL if you have one or two SQL Servers. (Two server clustering is available in SQL Standard.) If you need more than two SQL Servers for performance reasons, get Enterprise Edition. Use Branch Edition at the spokes in hub and spoke setups.” (Thanks Geoff)
Customers can benefit a lot having multiple MSDN Subscriptions regarding Development, Test and Acceptance. For Production valid processor licenses are required!
So far I have talked about cost factor of BizTalk Server alone in perspective of configuration options. There are more factors concerning a DTAP environment deployment, ‘Pricing and licensing’ is one of them and an very important one.
DTAP Strategy: Pricing and Licensing