High available BizTalk infrastructure on Azure IaaS

34
Sponsored & Brought to yo High available BizTalk infrastructure on Azure IaaS Massimo Crippa & Salvatore Pellitteri https://twitter.com/mas_que_crippa https://be.linkedin.com/in/massimocrippa https://twitter.com/pellittsa https://it.linkedin.com/pub/salvatore-pellitteri/2a/184/719

Transcript of High available BizTalk infrastructure on Azure IaaS

Page 1: High available BizTalk infrastructure on Azure IaaS

Sponsored & Brought to you by

High available BizTalk

infrastructure on Azure IaaS

Massimo Crippa & Salvatore Pellitteri

https://twitter.com/mas_que_crippa

https://be.linkedin.com/in/massimocrippa

https://twitter.com/pellittsa

https://it.linkedin.com/pub/salvatore-pellitteri/2a/184/719

Page 2: High available BizTalk infrastructure on Azure IaaS

High Available BizTalk on Azure IaaS#IntegrationMonday

Page 3: High available BizTalk infrastructure on Azure IaaS

Who are we?Salvatore Pellitteri

Developer Team Manager @Msys

• MS Application Integration MVP

• SQL / BI / Integration Architect

@pellittsa

https//pellitterisbiztalkblog.wordpress.com

Massimo Crippa

Integration Architect @CoditCompany

• BizTalk D/I

• SOA and API Management

@mas_que_crippa

http://www.codit.eu/blog

Page 4: High available BizTalk infrastructure on Azure IaaS

AgendaA. High availability WWW

B. Scenarios

C. Procedure

D. Demo

E. Tests and Conclusion

Page 5: High available BizTalk infrastructure on Azure IaaS

Do or do not, there is no try

BizTalk Server virtual machines on Azure

DO NOT offer a High Availability solution when

using SQL Server Cluster.

https://msdn.microsoft.com/en-us/library/jj248689.aspx

Page 6: High available BizTalk infrastructure on Azure IaaS

The WWW of HA

Page 7: High available BizTalk infrastructure on Azure IaaS

High available – What?• A system design approach and service implementation that ensures a level of

operational performance.

• Minimize the time that your service is down or unavailable.

Page 8: High available BizTalk infrastructure on Azure IaaS

High available – Why?• Ensure the data availability

• Protect against HW and SW failure. The cost of downtime is rising

• Perform maintenance tasks in controlled way

• The HA cost is decreasing (if you’re not aiming to the five 9s)

Page 9: High available BizTalk infrastructure on Azure IaaS

High available – Where?

Physical Virtual Cloud

The cloud is convenient and it significantly reduce the time to productivity

Cloud

Page 10: High available BizTalk infrastructure on Azure IaaS

Scenarios

Page 11: High available BizTalk infrastructure on Azure IaaS

Mini and Micro SAN-less solutionsTwo scenarios

Page 12: High available BizTalk infrastructure on Azure IaaS

Who is the culprit?

AZURE IaaS >> Disk resource

Why not Always On AG ?

>> MSDTC > it’s the blocking problem

Page 13: High available BizTalk infrastructure on Azure IaaS

How to

Page 14: High available BizTalk infrastructure on Azure IaaS

The main steps

Network SubnetAvailability

SetDomain

SQL Server

Cluster DataKeeper SQL Server MSDTC Client Access

BizTalk SSO Configuration

BizTalk Setup

Page 15: High available BizTalk infrastructure on Azure IaaS

Azure IaaS – Subnets • Setup virtual network

• Configure virtual network address spaces (subnets)

• Azure network and on-premises network interaction

• Static IP addresses

• VMs with multiple NICs

• Consider static IP addresses

Page 16: High available BizTalk infrastructure on Azure IaaS

Azure IaaS – Availability Set

You should ALWAYS specify an availability set when creating more than one virtual machine for the same purpose.

AD-AVAIL-SET

Domain Controller

Domain Controller

SQL-AVAIL-SET

SQL Server

SQL Server

BT-AVAIL-SET

BizTalk Server

BizTalk Server

Page 17: High available BizTalk infrastructure on Azure IaaS

Failover Cluster• Two NICs or not ?

• Cluster quorum configuration

Page 18: High available BizTalk infrastructure on Azure IaaS

DataKeeper Cluster Edition• At this moment Microsoft Azure

doesn't provides any storage option that allow to build a failover cluster.

• SIOS DataKeeper Cluster Edition software is the key.

• Integration with failover cluster service

Page 19: High available BizTalk infrastructure on Azure IaaS

DataKeeper Cluster Edition

Page 20: High available BizTalk infrastructure on Azure IaaS

SQL Server InstallationNo special installation

1. Run cluster preparation on the first node

2. Run cluster preparation on the second node

3. Run cluster completion from one of the nodes

Page 21: High available BizTalk infrastructure on Azure IaaS

Client access setupWhat normally occurs

Node 1 Node 2

Switch

DNS

1) Node 1 deregisters its mac

address on the switch

2) Cluster resources move

3) Node 2 registers its

mac address on the switch

4) Node 2 updates its IP on

DNS

Page 22: High available BizTalk infrastructure on Azure IaaS

Client access setup• On Microsoft Azure you cluster service cannot interact with switches

• It is as if the IP addresses were active simultaneously on all nodes

• You have to configure an Internal Load Balancing (ILB)

Page 23: High available BizTalk infrastructure on Azure IaaS

Client access setupUp to 150 configured ports per IP

• 1 port for SQL Server (1433)

• 1 port for RPC (135)

• 21 ports for SSO (Dynamic RPC)

• 44 ports for DTC (Dynamic RPC)

Page 24: High available BizTalk infrastructure on Azure IaaS

Client access setupTo complete:

• Configure the cluster listener

• Fix MsDtc dynamic ports

# This script should be run on the primary cluster node after the internal load balancer is created

# Define variables

$ClusterNetworkName = "Cluster Network 1" # the cluster network name

$IPResourceName = "SQL IP Address 1 (BTLABSQLCLU)" # the IP Address resource name

$CloudServiceIP = "10.0.0.250" # IP address of your Internal Load Balancer

Import-Module FailoverClusters

Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple

@{"Address"="$CloudServiceIP";"ProbePort"="59999";

SubnetMask="255.255.255.255";"Network"="$ClusterNetworkName";"OverrideAddressMatch"=1;"EnableDhcp"=0}

Page 25: High available BizTalk infrastructure on Azure IaaS

Enterprise SSO SetupClustered configuration of EntSSO master secret server

• Procedure is not simple

• Follow the article “https://msdn.microsoft.com/en-us/library/aa561823.aspx”

• Set "Use Network Name for computer name“ (not mentioned!)

Page 26: High available BizTalk infrastructure on Azure IaaS

BizTalk Setup• Standard setup procedure

• All you need is described on “http://www.microsoft.com/en-us/download/details.aspx?id=35552”

Page 27: High available BizTalk infrastructure on Azure IaaS

BizTalk HA on Azure IaaS

Page 28: High available BizTalk infrastructure on Azure IaaS

Some tests

Page 29: High available BizTalk infrastructure on Azure IaaS

Test scenarioSQL Server nodes

• 7GB RAM

• 4 core

BizTalk Server nodes

• 7GB RAM

• 4 core

BizTalk Test Scenario

Domain Controller 1

SQL Server + SSOCluster Node 1

SQL Server + SSOCluster Node 2

BizTalk Server 1 BizTalk Server 2

Page 30: High available BizTalk infrastructure on Azure IaaS

Test scenarioBizTalk solution

1) Schemas generation

2) Debatching for the input schema

3) Each orchestration instance execute an insert on a SQL table

4) Submit input file instance that generates 1000 and 10000 orchestration instances

Page 31: High available BizTalk infrastructure on Azure IaaS

Test results

Page 32: High available BizTalk infrastructure on Azure IaaS

Key takeaways

Page 33: High available BizTalk infrastructure on Azure IaaS

Takeaways• Does it works? Yes!

• Support > No (Not yet) > Come on MSFT!!

• Datakeeper Support > Yes !! (http://www.sys-con.com/node/3320313)

• What’s next ?

https://support.microsoft.com/en-us/kb/2721672

Page 34: High available BizTalk infrastructure on Azure IaaS

Thank you!and may the Force be with you