400 likes | 543 Views
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?
E N D
Windows Azure AppFabricBuilding, Managing, and Connecting High-Density Cloud Applications Clemens Vasters, Technical Lead, Microsoft http://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?
Browser Browser Web Server(ASP.NET, PHP, Ruby, …) Web Server(ASP.NET, PHP, Ruby, …) Sessions Sessions DB(SQL Server, MySQL, NoSQL) DB(SQL Server, MySQL, NoSQL)
Apps Browser AuthN/Z Web Server(ASP.NET, PHP, Ruby, …) Sessions Reference Data AuthN/Z Services(WCF, WF, …) Aggregate Data Sessions / State Reference Data DB(SQL Server, MySQL, NoSQL) LOB Systems
‘Box’ ISV Business is about R&D Cost Customer Upfront Cost ISV Software License ISV Recurring Cost Customer Recurring Cost $ $ ISV Maintenance Fees Margin Infrastructure Investment (Servers, Switches, Disks, Racks, Server Software, Power Supply, Cooling, …) Per Customer R&D Cost T Income Scales With # of CustomersMargin Widens as R&D Cost is Distributed Box
‘Cloud’ ISV Business is about Ops Cost • Keys to lower ops cost • Deployment Automation • Self-Healing Architecture • Auto-Scale • High Density • Multi-Tenancy Customer Upfront Cost ISV Software License ISV Recurring Cost Customer Recurring Cost $ $ Service Operation Fee Margin Infrastructure Investment (Servers, Switches, Disks, Racks, Server Software, Power Supply, Cooling, …) Service Operation Cost Service Operation Cost T Growth Opportunity within Current Customer Base - Incentive to Optimize Cloud
Apps Browser AuthN/Z Web Server(ASP.NET, PHP, Ruby, …) Multiple User Sessions Reference Data Multiple Tenant AuthN/Z Services(WCF, WF, …) Aggregate Data Multiple Application Sessions Reference Data DB(SQL Server, MySQL, NoSQL) LOB Systems
… all sorts of middleware, in fact Prog. Models & Tools Prog. Models & Tools Prog. Models & Tools Prog. Models & Tools Prog. Models & Tools Routing, Messages Transforms Workflows Access Controls Caches Webservices Management Management Management Management Management Config & Scaling Config & Scaling Config & Scaling Config & Scaling Config & Scaling Deployment to Operating System & Physical/Virtual Environment
AppFabric Prog. Models & Tools Prog. Models & Tools Prog. Models & Tools Prog. Models & Tools Prog. Models & Tools Programming Model & Tool (Compose Apps, Simplify Approach across ALL Tiers) Routing, Messages Transforms Webservices Caches Workflows Access Controls Deploy & Management (As ONE) Management Management Management Management Management Multi-Tenant, Elastic, Horizontal Scale, Perf, Resilience Config & Scaling Config & Scaling Config & Scaling Config & Scaling Config & Scaling Deployment to Operating System & Physical/Virtual Environment Appliance Box Cloud
Service Bus Integration AppFabric - The New Middle-Tier Programming Model & Tools Compose Apps, Simplify Approach across all Tiers AppFabric Services Routing, Messages Transforms Webservices Access Controls Caches Workflows Web Services Access Control Cache Workflow NET + AppFabric Composition Model & Tools AppFabric Management Multi-Tenant, Elastic, Horizontal Scale, Perf, Resilience AppFabric Container Deploy & Management (As ONE) Databases Web Servers Appliance Box Cloud
Service Bus Integration AppFabric Access Control Web Services Cache Workflow
Service Bus Integration • 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? Web Services Access Control Cache Workflow
Cache Service Commercial 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 AppFabricCaching • 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 Web Role • 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 Local Cache Output Cache Sessions Reference Data Activity Data Resource Data DB
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
Apps Browser AuthN/Z Web Server(ASP.NET, PHP, Ruby, …) Sessions Reference Data AuthN/Z Services(WCF, WF, …) Aggregate Data Sessions Reference Data DB(SQL Server, MySQL, NoSQL) LOB Systems
Service Bus Integration • 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? Web Services Access Control Cache Workflow
Service Bus Commercially Available since January 2010 Brand-New Community Technology Preview Coming May 2011
Service Bus 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
New: Queues Queue/Topic • Durable, Replicated • Rich Functionality • Grouping • For most decoupled scenarios 100MB Durable Storage 256KB No limit Producer SOAP/TCP TTL Storage Capacity Messages REST/HTTP In-Memory 10 min 2MB 60KB AMQP/TCP Consumer Message Buffer • Volatile, not replicated • Simple REST interface • Light online/offline scenarios
New: Topics Service Bus <Topic>…</Topic > • Multiple independent (durable) subscriptions • Multiple rules per subscription, each with one or more filters. 1 Consumer 2 3 4 6 2 Consumer 4 5 Consumer 6 = 7 Topic <Subscribe> <Rule>…</Rule></Subscribe> 8 Producer
Service Bus Windows Azure AppFabric Service Bus /msgB /svcA • More on Service Bus in Christian Weyer’s session tomorrow at 13:00 /svcA /svcA2 /svcC /svcA3 /msgB Public /svcC /svcC NAT Direct
Apps Browser AuthN/Z Web Server(ASP.NET, PHP, Ruby, …) Sessions Reference Data AuthN/Z Services(WCF, WF, …) Aggregate Data Sessions Reference Data DB(SQL Server, MySQL, NoSQL) LOB Systems
Service Bus Integration Workflow Access Control Web Services • 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? Cache
Access Control “v2” Commercial Availability Released April 2011
Windows Azure AppFabric Access Control 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 Service OAuth WRAP OAuth 2.0 WS-* Open ID Rules Google, Yahoo Facebook Websites and web services Live ID
Apps Browser AuthN/Z Web Server(ASP.NET, PHP, Ruby, …) Sessions Reference Data AuthN/Z Services(WCF, WF, …) Aggregate Data Sessions Reference Data DB(SQL Server, MySQL, NoSQL) LOB Systems
Service Bus Integration Workflow Access Control WebServices • 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? Cache
Windows Azure AppFabric “Container” Workflow WebServices • Application Server Infrastructure • Deployment and Placement • Execution Lifecycle • Scale Out • High Availability • Isolation • Resource Management • Routing • Usage Monitoring
Apps Browser AuthN/Z Web Server(ASP.NET, PHP, Ruby, …) Sessions Reference Data AuthN/Z Services(WCF, WF, …) Aggregate Data Sessions Reference Data DB(SQL Server, MySQL, NoSQL) LOB Systems
AppFabric Roadmap Q1 2011 Q2 2011 H2 2011 CTP Refresh Access Control General Availability Access Control General Availability Access Control CTP Refresh Caching General Availability Caching General Availability Caching CTP Refresh Service Bus enhancements Release Service Bus enhancements CTP Composite App CTP Refresh Composite App CTP Integration
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 DownloadMSDN/TechNet Desktop Gadgethttp://bit.ly/msdntngadget
TechDays 2011 On-Demand • Watchthis 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