Cloud Integration Patterns Connect your apps, devices & networks @Sam Vanhoutte About Business Integration, using Microsoft technology 58 BE-FR-PT CTO & Product Manager Windows Azure Insider Microsoft BizTalk VTS-P @SamVanhoutte #cloudburst 2013 - stockholm - cloud integration patterns Codit Integration Cloud Integration as a Service - www.integrationcloud.eu Cloud Technology Connectivity & integration #cloudburst 2013 - stockholm - cloud integration patterns Functional monitoring Managed Services The high level overview architecture – #metrostyle Integration Worker Local systems BizTalk Server #cloudburst 2013 - stockholm - cloud integration patterns Local systems New challenges cloud integration #cloudburst 2013 - stockholm - cloud integration patterns Windows Azure Partners Integration Same problems different solutions new challenges Identity Management Mobile Access Interop Different SLAs Connectivity REST-first Data Security Management Services not Servers Changing schemas Network latency Monitoring Windows Azure Hybrid technologies overview | Application Integration | | | Data Integration | | SQL Azure Data Sync Identity Integration | | Service Bus BizTalk Services Active Directory Network Integration | Azure Virtual Networking Application connectivity the dev way #cloudburst 2013 - stockholm - cloud integration patterns Service bus relay firewall friendly relay | | | | | | | | NetTcpRelayBinding WebHttpRelayBinding BasicHttpRelayBinding WS2007RelayBinding Rendezvous Handshake Bi-Directional Net.Tcp Full Duplex No message size limit #cloudburst 2013 - stockholm - cloud integration patterns #demo – cloud connector manage messages #cloudburst 2013 - stockholm - cloud integration patterns Service Bus Relay #notes Load Balancer Out of the box scalability Disaster recovery options WCF Routing Service One public endpoint, hiding internal ones Cheaper (only 1 relay hour) Security SharedSecret, SWT, SAML ServiceBusAZ tool Blocking outbound IP addresses No, please – IP range changes constantly http://bit.ly/15lXMB0 #cloudburst 2013 - stockholm - cloud integration patterns Port configuration #fyi | Outbound TCP (Ports 9350-9353) | | | | | Outbound HTTP (Port 80, Listeners) | | | 9350 Unsecured TCP One-way (client) 9351 Secured TCP One-way (all listeners, secured clients) 9352 Secured TCP Rendezvous (all listeners except one-way) 9353 Direct Connect Probing Protocol (TCP listeners with direct connect) TCP equivalent tunnel with overlaid TLS/SSL formed over pair of HTTP requests Alternate connectivity path if outbound TCP is blocked Outbound HTTPS (Port 443, Senders) #cloudburst 2013 - stockholm - cloud integration patterns Service bus messaging | | | | | .NET WCF AMQP REST Other languages … #cloudburst 2013 - stockholm - cloud integration patterns #demo – message pumps queue S #cloudburst 2013 - stockholm - cloud integration patterns R Service Bus Messaging #notes Transient faults QueueClient.RetryPolicy: Exponential / NoRetry ReceiveMode: PeekLock / ReceiveAndDelete Performance optimization QueueClient.PrefetchCount, EnableBatchedOperations Multiple clients / Concurrent Calls on pump Empty messages Message without a body, only properties Name/value pairs, no serialization needed Large messages Store on blob, send reference in body Use sessions to fragment #cloudburst 2013 - stockholm - cloud integration patterns Service Bus Notification Hubs deliver notifications to millions of devices – cross platform #cloudburst 2013 - stockholm - cloud integration patterns #demo – stacktoaster Backend WorkerRole RR R Apps #cloudburst 2013 - stockholm - cloud integration patterns Service Bus Notification Hubs #notes Cross platform Windows Phone, Windows 8 IOS, Android Templates Using templates for cross platform communication Send name-value pairs, replace them in the app ForwardTo Combine inbound topics/subscriptions with hubs Tags Publish subscribe with tags (country, team, topic) Client registers on a List of tags #cloudburst 2013 - stockholm - cloud integration patterns Windows Azure BizTalk Services Bridge Destinations Sources HTTP SFTP HTTP Pipeline FTP/S V E T E Web Service FTP/S Blob Service Bus Messages Server Explorer (Visual Studio) Lob Relay (Service Host) Management Service REST API PowerShell CmdLets BizTalk Adapter Service #cloudburst 2013 - stockholm - cloud integration patterns #demo – customer query Region=EMEA WABS Customer Bridge Region=US #cloudburst 2013 - stockholm - cloud integration patterns SQL Windows Azure BizTalk Services #notes EDI/X12 B2B Integration Trading partner management Hybrid connectivity FTP, HTTP, Adapter service, AS/2 Routing Scenarios B2B (e-Invoicing) Expose on-prem services Combine with BizTalk Server Better together #cloudburst 2013 - stockholm - cloud integration patterns Data integration SQL Azure Data Sync #cloudburst 2013 - stockholm - cloud integration patterns SQL Azure Data Sync #notes Lock resolution Hub wins vs Client wins Impact on database schemas 11 stored procs per sync table, 1 new table per sync table 3 triggers on sync table, 1 new UDT per sync table Row filtering Not configurable in the new portal Preview Preview mode for a long time #cloudburst 2013 - stockholm - cloud integration patterns Identity integration Active Directory #cloudburst 2013 - stockholm - cloud integration patterns Active Directory #notes Active Directory sync Synchronize ADFS with Windows Azure Active Directory Directory sync tool Application Single Sign on 135 std SSO configs available (SalesForce, yammer) Possible to integrate custom applications Access Control Service Claim transformations ADFS as Identity Provider (WS-Federation) Multi-factor Authentication Phone based 2 factor authentication (with code) #cloudburst 2013 - stockholm - cloud integration patterns Network integration going ITpro #cloudburst 2013 - stockholm - cloud integration patterns #demo – point to site (pdf signing) Gateway Integration Cloud (Sign PDF) SharePoint Online Laptop Point to Site (azure connect RIP) #cloudburst 2013 - stockholm - cloud integration patterns #demo – a restful house Gateway ASP.NET WebApi WebRole IPSEC tunnel Cisco ASA5505 TCP call Site to Site #cloudburst 2013 - stockholm - cloud integration patterns TeleTask Home Automation Virtual Networking #notes Secure network tunnel Open internally – not suitable for mobile devices (IOT) Configuration scripts Juniper / Cisco scripts Windows Server script for RRAS Gateway configuration Pay while existing (also when not connected) Use PowerShell to make changes Static & dynamic routing Dynamic: preview #cloudburst 2013 - stockholm - cloud integration patterns #cloudburst 2013 - stockholm - cloud integration patterns Thank you #cloudburst 2013 - stockholm - cloud integration patterns