windows azure appfabric building, managing, and connecting high-density cloud applications
DESCRIPTION
Windows Azure AppFabric Building, Managing, and Connecting High-Density Cloud Applications. Clemens Vasters, Technical Lead, Microsoft http://vasters.com/clemensv Twitter: @clemensv. This Session. The Cloud, Multi-Tenancy, and the Middle Tier Why do we need a new middle tier? - PowerPoint PPT PresentationTRANSCRIPT
Windows Azure AppFabricBuilding, Managing, and Connecting High-Density Cloud Applications
Clemens Vasters, Technical Lead, Microsofthttp://vasters.com/clemensvTwitter: @clemensv
This Session
• The Cloud, Multi-Tenancy, and the Middle Tier• Why do we need a new middle tier?• What are the required capabilities?
• Windows Azure and Server AppFabric• What’s in it?• When can I use it?
2
Server Apps are Easy, Aren’t They?
Browser
Web Server(ASP.NET, PHP,
Ruby, …)
DB(SQL Server,
MySQL, NoSQL)
Sessions
DB(SQL Server,
MySQL, NoSQL)
Web Server(ASP.NET, PHP,
Ruby, …)Sessions
Browser
Browser
Web Server(ASP.NET, PHP,
Ruby, …)
DB(SQL Server,
MySQL, NoSQL)
Sessions
Services(WCF, WF, …)
Sessions / State
Apps
Reference Data
Reference Data
LOB Systems
AuthN/Z
AuthN/Z
Aggregate Data
… add “The Cloud” …
‘Box’ ISV Business is about R&D Cost
Infrastructure
Investment(Servers, Switches,
Disks, Racks, Server
Software, Power Supply,
Cooling, …)
ISV Software License
Cust
omer
Upf
ront
Cos
t
Box
ISV Maintenance Fees
$
Cust
omer
Rec
urrin
g Co
st
$
TIncome Scales With # of CustomersMargin Widens as R&D Cost is Distributed
Per Customer R&D Cost
Margin
ISV
Recu
rring
Cos
t
ISV
Recu
rring
Cos
t
‘Cloud’ ISV Business is about Ops Cost
Infrastructure
Investment(Servers, Switches,
Disks, Racks, Server
Software, Power Supply,
Cooling, …)
ISV Software License
Cust
omer
Upf
ront
Cos
t
Cloud
Cust
omer
Rec
urrin
g Co
st
T
$ $
Service Operation Fee
Service Operation Cost
Margin
Growth Opportunity within Current Customer Base - Incentive to Optimize
Service Operation Cost
Keys to lower ops cost• Deployment
Automation• Self-Healing
Architecture• Auto-Scale• High Density• Multi-Tenancy
Browser
Web Server(ASP.NET, PHP,
Ruby, …)
DB(SQL Server,
MySQL, NoSQL)
Sessions
Services(WCF, WF, …)
Sessions
Apps
Reference Data
Reference Data
LOB Systems
AuthN/Z
AuthN/Z
Aggregate Data
Multiple Application
Multiple Tenant
Multiple User
…. maybe not so easy, after all.
But there’s middleware to help with most of this …
… all sorts of middleware, in factProg.
Models & Tools
Management
Config & Scaling
Webservices
Caches
Workflows
Access Controls
Routing, MessagesTransforms
Deployment to Operating System & Physical/Virtual Environment
Prog. Models &
Tools
Prog. Models &
Tools
Prog. Models &
Tools
Prog. Models &
Tools
Management
Config & Scaling
Management
Config & Scaling
Management
Config & Scaling
Management
Config & Scaling
Prog. Models &
Tools
Management
Config & Scaling
Webservices
Caches
Workflows
Access Controls
Routing, MessagesTransforms
Deployment to Operating System & Physical/Virtual Environment
Prog. Models &
Tools
Prog. Models &
Tools
Prog. Models &
Tools
Prog. Models &
Tools
Management
Config & Scaling
Management
Config & Scaling
Management
Config & Scaling
Management
Config & Scaling
Programming Model & Tool (Compose Apps, Simplify Approach across ALL Tiers)
Deploy & Management (As ONE)
Multi-Tenant, Elastic, Horizontal Scale, Perf, Resilience
Appliance Box Cloud
AppFabric
Programming Model & Tools Compose Apps, Simplify Approach across all Tiers
AppFabric - The New Middle-Tier
Deploy & Management (As ONE)
Webservices
Caches
Workflows
Access Controls
Routing, MessagesTransforms
Appliance Box Cloud
Databases
Web ServersNE
T +
AppF
abric
Com
posit
ion
Mod
el
& To
ols
AppF
abric
Man
agem
ent
Multi-Tenant, Elastic, Horizontal Scale, Perf, ResilienceAppFabric Container
AppFabric Services
Access Control
Cache
Workflow
Web Services
Service Bus
Integration
AppFabric
Access Control
Cache
Workflow
Web Services
Service Bus
Integration
Cache
• How do you linearly scale your application to handle increasing load?• How do you get better performance and reduced data access latencies?• How do you store data mash-ups from multiple data repositories?• How do you manage ASP.NET session state and page output caching?• How do you reduce data-tier pressure without complex partitioning?• How do you do all this with a predictable cost model?
Access Control
Workflow
Web Services
Service Bus
Integration
Cache ServiceCommercial Availability
End of April 2011**Scheduled Release Date.
Windows Azure AppFabric Cache
• A distributed, in-memory cache for applications running in Windows Azure:– In-memory cache located near your Azure applications– Based on Windows Server AppFabric Caching
• Benefits:– Highly scalable with low latency and high
throughput– Can dynamically increase and decrease as needed,
without redeploying or modifying your application– User doesn’t have to bother with configuration,
deployment, or management of their cache infrastructure
Cache
Key Capabilities & Benefits
• Easily integrates into existing apps– Cache-Aside Model– One API for Server and Cloud– ASP.NET Session State Provider– ASP.NET Page Output Caching
Provider• Very low latency with Local Cache• Caches any serializable CLR object
– No serialization costs for local caching
• Secured w/ Access Control Service
Cache Web Role
DB
SessionsReference DataActivity
DataResource
Data
Output
Local Cache
Cache Capacity• Available in multiple sizes– 128 MB, 256 MB, 512 MB, 1 GB, 2 GB, 4 GB
• Use combination of these sizes or multiple of these to create your desired cache capacity
• Increase/decrease cache capacity dynamically– Data preserved when increasing capacity– Eviction policy followed when decreasing
capacity
Cache
Browser
Web Server(ASP.NET, PHP,
Ruby, …)
DB(SQL Server,
MySQL, NoSQL)
Sessions
Services(WCF, WF, …)
Sessions
Apps
Reference Data
Reference Data
LOB Systems
AuthN/Z
AuthN/Z
Aggregate Data
Cache
• How do you achieve load-decoupling between subsystems?
• How do you balance work across scale-out workers?• How do you distribute events to dynamic subscribers? • How do you transfer messages reliably and
transactionally?• How do you reach into on-premise systems across
firewalls?• How do you organize and discover service endpoints?
Access Control
Workflow
Web Services
Service Bus
Integration
Service BusCommercially Available since January 2010
Brand-New Community Technology PreviewComing May 2011
Windows Azure AppFabric Service Bus
• Interconnect services across networks– Naming and Discovery– Connectivity w/ NAT and Firewall Traversal– Access Control Integrated Authorization
• Cloud-Based Message-Oriented Middleware– Next Generation Message Queue Technology– Rich Publish/Subscribe with Filtering– Transaction Integration
Service Bus
New: Queues
Producer
In-Memor
yConsumer
Durable Storage
2MB
100MB
CapacityMessages60KB
256KB
Storage TTL10 min
No limit
REST/HTTP
SOAP/TCP
AMQP/TCP
Queue/Topic
Message Buffer
• Durable, Replicated• Rich Functionality• Grouping• For most decoupled
scenarios
• Volatile, not replicated• Simple REST interface • Light online/offline
scenarios
New: Topics
• Multiple independent (durable) subscriptions
• Multiple rules per subscription, each with one or more filters.
Producer
1234567
Topic
2
4
6
8
Consumer
Consumer
Consumer
Service Bus <Topic>
…</Topic >
<Subscribe> <Rule>…</Rule></Subscribe>
=
Windows Azure AppFabric Service Bus
• More on Service Bus in Christian Weyer’s session tomorrow at 13:00
Service Bus
/svcA
/svcA2
/svcA3
/svcA
/msgB
/svcC
/svcC
/svcC NAT
Public
Direct
/msgB
Browser
Web Server(ASP.NET, PHP,
Ruby, …)
DB(SQL Server,
MySQL, NoSQL)
Sessions
Services(WCF, WF, …)
Sessions
Apps
Reference Data
Reference Data
LOB Systems
AuthN/Z
AuthN/Z
Aggregate Data
Cache
Access Control
Workflow
Web Services
Service Bus
Integration
• How do you secure the edge of your system?• How do you authorize users based on roles or groups?• How do you federate with corporate Active Directory?• How do you leverage Facebook or Google or Live ID or
Yahoo ID?• How do you manage service identities?• How do you dynamically grant or revoke access?• How do you obtain access tokens to other systems?• How do you provide secure extensibility for applications?
Access Control “v2”Commercial Availability
Released April 2011
Windows Azure AppFabric Access Control
• Federated Identity and AuthZ for any Application– Web, Desktop, Mobile– Identity Providers:
• Facebook, Google, Yahoo, Live ID• Active Directory Federation Services 2.0• OAuth 2, Oauth WRAP• WS-Trust 1.3
– Tokens Formats• OAuth WRAP SWT• SAML 1.1, SAML 2.0
• Authorization Rules
Access Control
WS-*
Google, Yahoo
OAuth 2.0
FacebookWebsites and web servicesLive ID
OAuth WRAP
Access Control ServiceOpen ID Rule
s
Browser
Web Server(ASP.NET, PHP,
Ruby, …)
DB(SQL Server,
MySQL, NoSQL)
Sessions
Services(WCF, WF, …)
Sessions
Apps
Reference Data
Reference Data
LOB Systems
AuthN/Z
AuthN/Z
Aggregate Data
• How do you deploy your applications?• How do you add resources to scale your app?• How do you manage configuration as you scale?• How do you handle stateful and stateless comps?• How do you perform no-downtime upgrades?• How do you manage the app execution lifecycle?• How do you make your app highly available?• How do you monitor usage?• How do you isolate tenants?
Access Control
Workflow
Web Services
Service Bus
Integration
Cache
Windows Azure AppFabric “Container”
• Application Server Infrastructure– Deployment and Placement– Execution Lifecycle– Scale Out– High Availability– Isolation– Resource Management– Routing– Usage Monitoring
Workflow
Web Services
Browser
Web Server(ASP.NET, PHP,
Ruby, …)
DB(SQL Server,
MySQL, NoSQL)
Sessions
Services(WCF, WF, …)
Sessions
Apps
Reference Data
Reference Data
LOB Systems
AuthN/Z
AuthN/Z
Aggregate Data
AppFabric RoadmapH2 2011
General AvailabilityCaching
CTP RefreshComposite App
General AvailabilityAccess Control
ReleaseService Bus enhancements
Q2 2011
General AvailabilityCaching
CTPComposite App
General AvailabilityAccess Control
CTP RefreshService Bus enhancements
Q1 2011
CTP RefreshCaching
CTP RefreshAccess Control
CTPIntegration
Questions?
Find me after this session outside the room.
Stay up to date with MSDN Belux
• Register for our newsletters and stay up to date:http://www.msdn-newsletters.be• Technical updates• Event announcements and registration• Top downloads
• Follow our bloghttp://blogs.msdn.com/belux
• Join us on Facebookhttp://www.facebook.com/msdnbehttp://www.facebook.com/msdnbelux
• LinkedIn: http://linkd.in/msdnbelux/ • Twitter: @msdnbelux
Download MSDN/TechNet Desktop Gadget
http://bit.ly/msdntngadget
TechDays 2011 On-Demand
• Watch this session on-demand via Channel9http://channel9.msdn.com/belux
• Download to your favorite MP3 or video player• Get access to slides and recommended resources by the speakers
THANK YOU