Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Azure to on premise integration
1. Ways to Access
On-Premise LOB systems
from Azure Applications
Access On-Premise resources from Azure
Bhonhariya, Salim (Cloud Architect)
1/16/2015
2. 1
Contents
Scenario 1: Service Bus Relay...............................................................................................................2
Scenario 2: Biz Talk Services Hybrid Connections..................................................................................2
What is similar?...........................................................................................................................3
What is different? .......................................................................................................................3
Thoughts so far...........................................................................................................................4
Scenarios where I would I use Hybrid Connections........................................................................4
Scenarios where I would use Service Bus Relay.............................................................................4
Scenarios where I could use either ...............................................................................................5
Thoughtsfor the Future...............................................................................................................6
Scenario 3: Service Bus queues............................................................................................................6
Scenario 4: Custom SB-MessagingAdapter & ESB Toolkit......................................................................7
Scenario 5: Integrate BizTalk Server 2010 / 2013 with Service Bus for Windows Server...........................7
Scenario 6: Windows Azure BizTalk Services:........................................................................................7
Scenario 7: Express Route ...................................................................................................................8
Accessing LOB systems from Mobile devices using Azure Mobile Services..............................................9
3. 2
Scenario 1: Service Bus Relay
Azure Service BusRelayisa cloudbasedservice whichallowsyoutohostan endpointinthe cloud,
Azure will use aport forwardingtechnologytoforwardmessagesreceivedfromaclienttothe listening
service implementationwhichisusuallyhostedonpremise. Service BusRelayisintendedtoallowyou
to bridge fromanyapplicationhostedinthe cloudof onanotherdata centerto bridge throughto your
on-premise services. Yousimplyuse the ACStoprovide aclientaccess.
Let’stake a lookat Service BusRelay.
Scenario 2: Biz Talk Services Hybrid
Connections
HybridConnectionsisafeature inAzure BizTalkServiceswhichallowsyoutoconnectAzure Websites
and Azure Mobile Servicestoon-premise resources“asif theyare on the same private network”. Todo
thisyoucreate a hybridconnectionandthenpairitwithyour cloudresource. Onpremise youwould
install asoftware agentwhichwill openupaconnectiontothe cloudand youcan configure the hybrid
connectiontobe able to thenconnectto an on premise resource suchasa database. Your application
inthe cloudwouldthenbe able toconnectto the database as if it’sin the same data centre exceptthat
the connectionstringwill be modifiedsothatthe connectionisroutedviathe BizTalk Hybrid
Connection.
Let’s take a look at Hybrid Connections.
4. 3
What is similar?
Beloware some of my thoughtsonthe similaritiesonthese twoproducts:
Both productssupportfirewall friendlyapproachtobridge fromcloudtoon premise
Both productsopenoutboundconnectionsfromonpremise toreceive messages. Noinbound
ports are requiredtobe exposedfromyourdatacentre
Both productsare quite easytouse
Both productshave relativelystraightforwardinfrastructure requirements
What is different?
Below are some of the differences between Service Bus Relay and Hybrid Connections:
Service BusRelayonlysupportsaWCF basedlisteningservice whichusesthe WCFrelaybindings
where asHybridConnectionsusesitsonpremise listening agentallowingittoconnectto a
target viaany portwhichcan include aWCF or REST service busalsomanyotherapplications
such as a database
Service BusRelaysupportsACSsecuritywhere asHybridConnectionssupportSASforthe cloud
hostedendpoint. (Note accordingtoMSDN service busrelayisexpectedtosupportSAS
sometime inthe “nearfuture”)
The Service BusRelayendpointonlyexistswhenthe listeningservice comesonline where asthe
hybridconnectionsendpointiscreatedinthe cloudas a configuredservice before the agentis
listening
HybridConnectionsprovidesanagentwhichcanbe installedonanon-premise serverwhichcan
thenconnectto on premise assets. Service BusRelaydoesnotprovide anysoftware toinstall
5. 4
and youneedtoconfigure yourownlisteningcomponentorconfigure aWCFService touse a
Relaybinding.
Service BusRelaycan onlysupportclientswhichcantalkwebservicesandare able toretrieve
an access tokenfromACS,HybridConnectionscansupportinteropwithnon .nettechnologies
HybridConnectionscanonlybe consumedbya resource hostedinthe cloudsuchas an Azure
Website where asService BusRelaycanbe consumedfroma resource hostedoutside of Azure
such as froma partnersdata centre
HybridConnections requiresthe BizTalkServicesfeature inAzure whichalsogivesyousome
more integrationfeaturesbutalsoincludesahighercost. Service BusRelayisa smallerfeature
withinAzure andiscurrentlylowercost
Thoughtsso far
At thispointmythoughtsaboutthe newhybridconnectionsproductisthatalthoughthere isalotthat’s
similarbetweenthe twoproductsandtheydohave some overlapsthere are alsosome significant
differencesbetweenthe productstwo. HybridConnectionsworksata lowerlevel inthe stackworking
withportsand connectivityandnotreallycaringaboutthe data where asService BusRelayisat a higher
level,workinginthe WCFstack meaningthere isagreaterawarenessaroundhow the protocol needsto
workwhichprovidessome limitationsandsome benefits.
I thinkthere are likelytobe some use caseswhere the productsdonot compete witheachother
because of the differentfeaturestheyoffer,butthere will alsobe scenarioswhere bothproductscould
be usedand thenitbecomesa case of whichisthe right one foryour situation. Youneedtothinkabout
simplicity,whatyourdevelopersare usedto,cost,supportaspectsand lotsof otherthings.
I expectthatthe netresultthe introductionof HybridConnectionswouldbe thatthe numberof
scenariosService BusRelayisusedinwouldreduce because sometimesHybridConnectionsmightbe a
more appropriate optionandperhapsthe waywe tendto use Relaymaychange a little.
ScenarioswhereIwouldI useHybridConnections
I thinkthat the followinglistof itemswouldbe scenarioswhere HybridConnectionsare likelytobe a
betterchoice:
The clientishostedinside of Azure
You wantto integrate directlywitharesource,whichisnothostedinWCF. Eg: youwantto
connectdirectlytoa database
The clientwantingtoconnectto the resource isnot able to talkWCF and perhapsisn’tevena
Microsofttechnology
You wantto create a pointto pointtightlycoupledconnectionfromacloudresource to an on
premise resource
I am alreadyusingHybridConnectionsinmyarchitecture andthe integrationpatternmatches
the patternsI alreadyuse itfor
ScenarioswhereIwould useServiceBusRelay
I thinkthe followinglistof itemswouldbe thingswouldbe scenariosof requirements, whichwould
indicate service busrelaywouldbe the onlychoice youcoulduse:
The clientishostedoutside of Azure
The clientishostedona resource inAzure whichisnotsupportedbyHybridConnections(see
documentationformore info)
6. 5
You wantto connectyour WCF service directlytothe cloudratherthanhavingan on-premise
man inthe middle style agentinstalled
I am alreadyusingService BusRelayinmyarchitecture andthe integrationpatternmatchesthe
patternsI alreadyuse itfor
ScenarioswhereIcoulduseeither
For bothproductsthere are some clearrequirementsorconstraintswhere one ismore favorable than
the otheror one productsimplywouldn’tbe anoption,butitwill be verycommonthat youcould
choose eitherproduct. Thisscenario isgoingtoinvolve invokingWCFServicesonpremise froma
resource inthe cloud.
WithService BusRelayyouwouldconnectyourservice tothe relayusingthe WCF relaybindingsand
thencall it usinga WCF clientoralternativelywithHybridConnections youwouldinstall the onpremise
agentsoftware andpair yourhybridconnectionwiththe cloudresource soyoucouldthencall the WCF
service asif your local to it.
I thinkat thispointthe architecture decisioncomesdowntoyourstrategicuse of these products. If
your alreadyaservice busrelayuserand are happywithit thenyourprobablyunlikelytomigrate as
there aren’tthat manyfeatureswithHybridConnectionswhichwouldgive youabigbenefitversuswhat
youmightget withService BusRelay. PerhapswithitbeingaBizTalkServicesfeature youmightgeta
monitoringstory,whichmightbe richerthanwhatyouget withService BusRelay.
From a securityperspective there are some differencesbetweenthe products,whichare importantto
note. The firstis the differentsupportforaccessingthe endpoint. If youuse hybridconnectionsthenit
usesSASbut thisisabstractedfrom the consumingtechnology. UsingService BusRelayyouneedtouse
ACS. This meansyourclientneedstobe able toget an ACStokenviaWCF bindingsorREST. Evenafter
youare authenticatedtothe endpointthere are alsosome differences. WithHybridConnectionsyou’re
talkingtoa service ata port level. Thismeansthatyoucan connectto any service exposedatthat
addressandon that port. If we are bridgingthroughtoan IISserverwe wouldbe able togetto all WCF
servicesinthisWCFcomponentonthat port. If you have multipleWCFServiceshostedonthe same
port thenthiscouldbe a problem. There maybe some applicationspecificsecuritybutfroma
connectivityperspective we canreachall services. WithService BusRelaythingsare slightlydifferent,
youare able to configure the service toonlyuse specificWCFservicestoopenanendpointinthe
cloud. Thismightbe importantif youonlywantto expose asubsetof yourservicestothe cloud.
Some of the common scenarios where a customer would expose WCF services to the Azure
Service Bus Relay also includes using the WCF routing service to act as the on-premise listener
which opens a connection to the cloud via the WCF relay bindings. This means the customer
does not need to modify their existing WCF services to include the new binding. The customer
then uses the WCF routing service to be the on premise listener which can then route requests
to multiple on premise applications based on the soap action. This is quite a good pattern to
provide a simple way of exposing services but you can also expand the usage to multiple
applications without connecting all of the applications directly to the cloud themselves. This
pattern could also be implemented with hybrid connections but this would require the
installation of the software agent for hybrid connections on premise in front of the WCF routing
service then the rest of the pattern would work as previous. I think customers would tend to
be put off this approach with it seeming to add extra un-necessary hops.
7. 6
Finally in the scenarios where you could use either product I think cost will be a key factor. One
of the bits of feedback from the community previews of hybrid connections is that requiring a
BizTalk Services package makes hybrid connections significantly more expensive than Service
Bus Relay when you consider the usage across multiple test environments and then
production. I’m sure Microsoft will use this feedback and create a better pricing model for
hybrid connections because it makes sense that it should be a bit more expensive than Service
Bus Relay but it should be purchasable in a cloud friendly usage based model which would
make it more competitive than it is now.
I think once the costing is more balanced the decision for scenarios where both products are
usable will boil down to these key factors:
What do you do already (if anything) for this kind of pattern
What ports do you need to use
Do you want a tightly coupled point to point integration channel or do you want to be able to
have a routing pattern and to take advantage of some of the WCF features
ThoughtsfortheFuture
HybridConnectionsisareallyexcitingnew technologybutIthinkthatit will alsohelptodrive
improvementsforAzure Service BusRelay. Iexpectthatthe numberof scenarioswhere customersuse
Azure Service BusRelaywill reduce tosome degree. Formanyusersthe HybridConnectionsapproach
couldmake thingssimpler. One of the thingsidlike tosee wouldbe some extensionstoAzure Service
Bus Relaysuchas the abilitytoinstall anon premise agentwhichhoststhe WCFroutingservice andis
able to take routingconfigurationfromthe cloud. Thiswill make connectivitysetupandconfiguration
simplerandmeanthata customerdoesn’tneedtosupporttheirowncomponenttodothis
role. Overall the numberof customersable todohybridconnectivityinasimple wayisgoingto
increase andthat’sa great thing.
Scenario 3: Service Bus queues
Service Busqueuesare a general-purposetechnologythatcanbe usedfor a wide varietyof scenarios:
Communicationbetweenwebandworkerrolesinamulti-tierAzure application
Communicationbetweenon-premisesappsandAzure hostedappsina hybridsolution
Communicationbetweencomponentsof adistributedapplicationrunningon-premisesin
differentorganizationsordepartmentsof anorganization
Usingqueues can enable youtoscale outyour applicationsbetter,andenable more resiliencytoyour
architecture( http://azure.microsoft.com/en-us/documentation/articles/service-bus-dotnet-how-to-use-queues/)
8. 7
Scenario 4: Custom SB-Messaging Adapter &
ESB Toolkit
BizTalkServer2013 R2 introducesthe SB-Messagingadaptertosendandreceive messagesfromService
Bus entities like Queues,Topics,andRelays.Youcanuse the SB-Messagingadapterstobridge the
connectivitybetweenWindowsAzure andon-premisesBizTalkServer,therebyenablinguserstocreate
a typical hybridapplication.( http://social.technet.microsoft.com/wiki/contents/articles/22644.using-
the-sb-messaging-adapter-esb-toolkit-to-send-messages-to-the-windows-azure-service-bus.aspx)
Scenario 5: Integrate BizTalk Server 2010 /
2013 with Service Bus for Windows Server
Thissolutionshowshowtointegrate aBizTalkServer2010/2013 applicationwithService Busfor
WindowsServerusingthe WCF-Customadaptertoexchange messageswithexternal systemsina
reliable,flexible,andscalable(https://code.msdn.microsoft.com/How-to-integrate-BizTalk-07fada58)
Scenario 6: Windows Azure BizTalk Services:
Integratingwithon-premisesLOBsystemsusingthe BizTalk Service
Services(http://www.neudesic.com/blog/windows-azure-biztalk-services-integrating-premises-lob-systems-using-
biztalk-adapter-services/) and
Hybrid Scenarios usingBizTalk Adapter Service
http://blogs.msdn.com/b/biztalk_server_team_blog/archive/2013/06/28/hybrid-scenarios-using-biztalk-adapter-
service.aspx
9. 8
Scenario 7: Express Route
Buildhybridapplicationswithpredictable,reliable andhigh-throughputconnectionsofferedby
ExpressRoute,youcanbuildapplicationsthatspanon-premisesinfrastructure andAzure without
compromisingsecurityorperformance.Forexample,youcanhave yourcorporate intranetapplication
runninginAzure that authenticatesusersusinganon-premisesActive Directory,andserve all corporate
userswithouttrafficeverroutingthroughthe publicInternet.