maggie myslinska (program manager) microsoft corporation session code: asi204
TRANSCRIPT
Windows Azure AppFabric OverviewMaggie Myslinska (Program Manager)
Microsoft Corporation
SESSION CODE: ASI204
AgendaWhat is Windows Azure AppFabric?How is it used?RoadmapBusiness considerations
Windows Azure Platform
Compute Storage Management ManagementRelational data Connectivity Access control
easyJet
European, budget, short haul carrier120 destinations across Europe45 million customers/year1000 flights/day, 160 aircrafts
An technology innovator
easyJet mobile experience
SOA
easyJet data center
service invocation
easyJet
Expose on-premises web services to devices in a different connectivity contextMust be done in secure fashioneasyJet does not control the network at airports
airport 3
DeviceDevice
Device
airport 2
DeviceDevice
Device
airport 1
Firewall/NAT
DeviceDevice
Device
Firewall/NAT
SOA
easyJet data center
Firewall/NAT
SB
ACS
Access controlled Outbound https Two-way channel
airport 3
DeviceDevice
Device
airport 2
DeviceDevice
Device
airport 1
Firewall/NAT
DeviceDevice
Device
easyJet
Boarding Payment Checkin
Sales CRM Other
easyJet
Boarding Payment Checkin
Sales CRM Other
Tier 1 Tier 1easyJet
Cross-organizational custom business applicationsLargest IT software investment - Custom Business Solutions that drive the core business
Custom Business Solutions – What we see
Across multiple data sources (typically 3 or
more)
Across companies From 40% to 60% of users outside
corporate network (not FTE’s)
Across hosting environments
(private, public cloud, shared
hosting)
Across communication
avenues(IM, voice, SMS,
email, etc.)
Cross-organizational composite applications – why is this hard?How do you integrate with components outside of your corporate network?How do you expose your software to users outside of your organization?
Can they use existing corporate identities? What about smaller partners?
How do you control access to resources once the service is exposed?What about mobile work force? How can your software find them? How can it send real time notifications/alerts to them?<the list goes on…>
Windows Azure AppFabric
A natural way to extend the reach of existing services through the cloud
Leverage existing investments in SOA and EAI solutions Extend the reach of on-premises web services layerEnable hybrid applicationSecurely integrate with partners outside of the organizational boundaries
About Windows Azure AppFabricService Bus
Connectivity across network boundariesAccess Control Service
Federated, claims-based authorization for websites and web services
easyJet - Enabling hybrid applications with AppFabric
easyJet Datacenter
Check In Web Service
Check In System
Airport
easyJet Mobile Device
EasyJet - Enabling hybrid applications with AppFabric
EasyJet Datacenter
Check In Web Service
Check In System
Airport
easyJet Mobile Device
SB
ACS
EasyJet - Enabling hybrid applications with AppFabric
EasyJet Datacenter
Check In Web Service
Check In System
Airport
easyJet Mobile Device
SB
ACS
EasyJet - Enabling hybrid applications with AppFabric
EasyJet Datacenter
Check In Web Service
Check In System
Airport
easyJet Mobile Device
SB
ACS
RulesOUT claims
IN claims
EasyJet - Enabling hybrid applications with AppFabric
EasyJet Datacenter
Check In Web Service
Check In System
Airport
easyJet Mobile Device
SB
ACS
two-way
one-way
multicast
multiplex
pub/sub
buffered
Communication Patterns
Service Bus
Service Bus
App #1: Web, Mobile, Desktop, LOB, RIA, ...
Connect distributed components to build composite applications
Exchange messages between loosely coupled applications without altering the network topologyNetwork Send/Receive from any Internet connected deviceTraverse NAT/FirewallMessage buffering for loosely connected applicationsFacilitate direct P2P Connection
App #2: Web, Mobile, Desktop, LOB, RIA, ...
Send SendReceive
Service Bus
App 1 App 2
Receive
How is it used? - Service Bus PatternsService Remoting - Extend SOA to the CloudEventing - Event Distribution; something happens, you get a notificationProtocol Tunneling - Interconnect applications that are not Web Services
All patterns allow forSecure communicationNAT/Firewall traversal
Session Alert!
ASI302Design Patterns, Practices, and Techniques with the
Service Bus in Windows Azure AppFabricSpeakers: Clemens Vasters, Juval Lowy
Thursday June 10 9:45AM – 11:00 AM
Room 265
Access Web Services across the InternetPublish services and communicate bi-directionally
Service Bus
Access Control
Sender Listener
Extend SOA to the Cloud
Service Remoting
Associated Press (AP)
American news agencyhttp://developer.ap.org/Ad Hoc search
How to expose existing service to developers?
Windows Azure
Associated Press (AP)
Developer’s application
http://developer.ap.org
SB
ACS
AP’s Datacenter
Search Service Host
Associated Press (AP)
Service Remoting characteristicsExpose existing assets to Internet consumers
Benefits of using Service BusExpose internal functionality easilyNo changes to the networking infrastructureNo large up front technology investmentSaved time on completing the project
Dinner Now
Food Home-Delivery SiteRestaurants in your areaOne-stop shopping
Central order processing, distributed order fulfillment
Dinner NowRestaurantDinnerNow Inc. (Cloud? On prem?)
Web Store Front
Web Backend Service Tier
Restaurants + Menus
In-Store Tier
In-Store Kiosk
Order Handling System
CRM
Order Processing System
1DinnerNow.net customer orders food through the website.
1
Users logs in and chooses food. Site stores user’s info.
2
Order submitted for processing.
3
2
3
Order is routed to the fulfilling Restaurant(s)
3
DinnerNow Inc. (Cloud? On prem?)
Dinner Now
Web Store Front
Web Backend Service Tier
Restaurants + Menus
Restaurant
In-Store Tier
In-Store Kiosk
Order Handling Workflow
CRM
Order Processing System
SB
ACS
Restaurant
In-Store Tier
In-Store Kiosk
Order Handling System
Service Bus
Access Control
Eventing
Notify remote parties of eventsSender transmits information to listenersEvents are distributed unicast or multicast
Sender
Listener
Listener
Event Distribution; something happens and you get a notification
easyJet
Familiar exampleMaintain common state between devices
Notify when changes are made Problem:
Send notifications to disconnected devices
SOA
easyJet data center
Firewall/NAT
SB
ACS
airport 3
DeviceDevice
Device
airport 2
DeviceDevice
Device
airport 1
Firewall/NAT
DeviceDevice
Device
easyJet
notifications
easyJet data center
Firewall/NAT
SB
ACS
airport 3
DeviceDevice
Device
airport 2
DeviceDevice
Device
airport 1
Firewall/NAT
DeviceDevice
Device
easyJet
notifications
SOA
easyJet
Eventing characteristicsNotify other devices when changes are made
Benefits of using Service BusOut of the box scalable messaging solutionNo large up front technology investment Saved time on completing the projectNo networking infrastructure changes
Service Bus
Access Control
Tunneling
Transport existing protocols over Service Bus
Sender Listener
Protocol Bridge
Protocol Bridge
Interconnect applications that are not Web Services
Access Control Service
Contoso’s datacenter
Website or Web Service
Access Control
Database
CRM
Mobile workforce
Enterprise partner
Small vendor
How will I control access to the service? How will I onboard partners to this solution? Can they use existing method of authentication?
Access Control Service
Usable from any platform (for real) Integrates with AD FS v2
Many identity providers, one code base
Provides claims-based access control for web services
WS-*
Open ID: Google, Yahoo
OAuth
Web or RichApplication
StandardProtocols
and“Big Dogs”
StandardProtocols
Access Control Service
How it works – Contoso and ACS
Contoso’s ACSService Namespace
Contoso Web Service
5. Request Access
Token
(Claims)
7. Return Access Token
(output claims from
6)
8. Send Messagew/ Access Token
0. Establish trust (certificate or key exchange)
Contoso’s partner
1. Define access control rules for a customer
9.Token Validated
6. Map input claims to output claims based on access control rules
Identity Provider
3. R
eque
st a
toke
n
4. R
etur
n th
e to
ken
2. Establish trust (certificate or key exchange)
Session Alert!
ASI308Programming AppFabric: Moving Microsoft .NET to the
Cloud Speakers: Aaron Skonnard, Keith Brown
Thursday June 10 3:15PM – 4:30 PM
Room 398
Roadmap
AppFabric EnvironmentsProduction
Paying customers, supportable, SLA3 month release cadence<your-name-space>.servicebus.windows.netGeo located today, additional Geo’s coming
LabsFree, no support, no SLA~3 month release cadence <your-name-space>.servicebus.appfabriclabs.com
Futures
March ‘10 V-Next
Silverlight support Multicast with
Message Buffers
Advanced messaging features (ie. durability) BizTalk Server integration Windows Server AppFabric integration Web SSO and service federation
WS-Federation Considering additional identity providers
Windows Live ID Open ID Facebook Connect
Management UI
Labs
Business Considerations
Billing and PricingIndividual and Pack based billing
Support24/7 Developer and Live Site Issues SupportBilling and Subscription Management SupportCommunity Support via Forums
Global Presence
Billing and Pricing
Service BusIndividual @ $3.99 per connection-monthPack based @ $1.99 per connection-month
Applies when you purchase connection “packs”
Access ControlConsumption @ $1.99 per 100K transactions
Bandwidth charge – same as Windows Azure
Global PresenceLargest Production compute application deployed on Windows AzureCo-locate with Windows Azure
RegionsUSA, Europe, Asia
Sub-regionsUS South CentralUS North CentralEurope NorthSoutheast Asia
SoonEurope WestEast Asia
ASI Track Resources1. Website – www.Microsoft.com/WindowsAzure/AppFabric 2. MSDN Developer Center – http://msdn.microsoft.com/en-us/azure/netservices.aspx 3. Blog – http://blogs.msdn.com/b/netservices/ 4. Twitter – http://twitter.com/azure_appfabric 5. Website – http://www.microsoft.com/biztalk/6. Website – http://msdn.microsoft.com/biztalk/7. Blog – http://blogs.msdn.com/biztalk_server_team_blog8. Blog – http://www.biztalkblogs.com/9. Application Infrastructure Virtual Launch Event – www.appinfrastructure.com10. AppFabric on Microsoft.com – http://www.microsoft.com/appfabric11. Developer Center – http://msdn.microsoft.com/appfabric
Resources
www.microsoft.com/teched
Sessions On-Demand & Community Microsoft Certification & Training Resources
Resources for IT Professionals Resources for Developers
www.microsoft.com/learning
http://microsoft.com/technet http://microsoft.com/msdn
Learning
Complete an evaluation on CommNet and enter to win!
Sign up for Tech·Ed 2011 and save $500 starting June 8 – June 31st
http://northamerica.msteched.com/registration
You can also register at the
North America 2011 kiosk located at registrationJoin us in Atlanta next year
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to
be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Windows Server AppFabric vs Windows Azure AppFabric
Secure connectivity and federated authentication across on-premises and cloud
Service Bus – secure, cross firewall communications relayAccess Control – claims based, federated authorization
Improves performance, availability, scale, and management of web and composite applications
Caching - Faster web apps made easyManagement - Simplified composite applicationsHosting – Enterprise Performance and Availability
JUNE 7-10, 2010 | NEW ORLEANS, LA