View
1.493
Download
2
Category
Preview:
DESCRIPTION
The Windows Azure Platform is an internet-scale cloud services platform hosted in Microsoft data centers that provides an operating system and a set of developer services that can be used individually or together. The Azure platform can be used to build new applications to run from the cloud or enhance existing applications with cloud-based capabilities. The open and extensible nature of Azure’s architecture gives developers the choice to build web applications, applications running on connected devices, PCs, servers, or hybrid solutions offering the best of online and on-premises. In this session, Wade Wegner will focus on two scenarios – new application development and the migration of existing applications. While walking through demos, Wade will discuss concepts such as application authentication and authorization, data synchronization between the cloud and on-premises databases, application integration, delegation of identity, and operations and management. Particular emphasis will be placed on the migration of existing internal applications to Windows Azure, securing applications through claims-based authentication and passive federation with Geneva Server, using relational databases in the cloud with SQL Azure, and the migration of data to the cloud through tools like SSIS.
Citation preview
Windows Azure Platform
Wade WegnerArchitect Evangelist
Microsoft Corporationhttp://blog.wadewegner.com/
http://twitter.com/WadeWegner
About Me
• Originally from Illinois, but spent the last 10 years living in Colorado
• Prior to Microsoft, I worked as a consultant for about 10 years
• My background is in custom application development and application integration
• I wrote a book on Commerce Server that sold less than 40 copies
• I <3 the cloud
Windows Azure isa place to run your applications.
Windows Azure isa cloud computing platform,
so it’s designed to scale.
Windows Azure isa utility computing platform,so you pay for what you use.
Inside are many servers.
with VMs running Windows.
We call this the Fabric,
and it’s where your app runs.
Management tasks are automated by the Fabric Controller.
You tell the Fabric Controller what to do, and it figures out
how to do it.
For this to work, you need to tell us about your application.
DEMOBuilding an MVC Application on Windows Azure
Web Role
• Receives internet traffic• Hosted by IIS• Typically ASP.NET• Partial and full trust
How Azure Helped the City of Chicago
Worker Role
• Doesn’t receive internet traffic• Runs forever• .NET assembly• Partial and full trust
Storage is just another app.
Durable Storage
• Three abstractions:
• Three replicas of everything• Shared key authentication• REST API
Blobs Tables
……
Queues
Blobs
• Like files• Up to 50GB each• 8KB metadata each• Stored in containers• Public or private access at container level
Tables
• Entities with properties• Non-relational• Partitioned for scale• No fixed schema• ADO.NET Data Services
Queues
• Asynchronous message passing• 8KB messages• Two-phase commit
……
Web roleWeb role Worker roleWorker roleWeb role
Storage
Worker role
LB
Putting it All Together
DEMOUsing Worker Roles and Azure Storage
SQL Azure database is a relational database in the cloud.
Applications access SQL Azure via TDS, just like on-premises SQL
Server.
ADO.NET continues to work,just update the connection string.
Your data resides on three or more database servers.
Data is kept secure through physical, network, protocol, and authentication security models.
Logical User Databases Uses shared infrastructure at SQL database and below
Each user database is replicated to one or more servers (configurable based on SLA) Client requests are routed to current “primary server” for read and write operations Security, lockdown and isolation enforced in SQL tier
Highly scalable and state-of-the-art high availability technology Automatic failure detection; client request re-routed to new primary on failure High SLA guarantee using logical replication (hot standby replicas) Automatic management, self-healing and load balancing across shared resource pool
SQL Azure Database provides provisioning, metering and billing infrastructure
Machine 5Machine 5
SQL InstanceSQL Instance
SQL DBSQL DBUserDB1UserDB1
UserDB2UserDB2
UserDB3UserDB3
UserDB4UserDB4
Scalability and Availability: Fabric, Failover, Replication, and Load balancing
SQL Azure Database Provisioning (databases, accounts, roles, …, metering, and billingSQL Azure Database Provisioning (databases, accounts, roles, …, metering, and billing
Machine 6Machine 6
SQL InstanceSQL Instance
SQL DBSQL DBUserDB1UserDB1
UserDB2UserDB2
UserDB3UserDB3
UserDB4UserDB4
Machine 4Machine 4
SQL InstanceSQL Instance
SQL DBSQL DBUserDB1UserDB1
UserDB2UserDB2
UserDB3UserDB3
UserDB4UserDB4
Scalability and Availability: Fabric, Failover, Replication, and Load balancingScalability and Availability: Fabric, Failover, Replication, and Load balancing
DBA role will change to focus on policy/logical management
V1 Goal: Address the needs of 95% or more web and departmental applications
In Scope for v1In Scope for v1 Create/Alter/Drop on Database/Index/View Stored Procedures (Transact-SQL) Triggers Constraints Table variables, session temp tables (#t) BCP + lots of others
Out of Scope for v1Out of Scope for v1 CLR Service Broker Distributed Transactions Distributed Query Spatial All server level DDL All physical DDL and physical catalog views
SQL Azure v1
DEMOCreating and querying a database on SQL Azure
Key Takeaways for SQL Azure
SQL Azure Database is real and in production with Microsoft enterprise services
We are accelerating delivery of relational database service – PDC ‘09 Ecosystem of tools; existing skills and knowledge Majority of web and workgroup apps work as-is Support for open source client libraries Integration between on/off-premises: Extending SQL data platform to the cloud
Relational database is a key capability of the Windows Azure Platform Zero-friction integration with Windows Azure Enables compelling scenarios on the Azure platform
SQL Azure design and architecture supports a wide range of scenarios SQL Azure Database platform investments deliver proven value on top of SQL engine From very cheap and highly-consolidated to still inexpensive and highly-isolated
DEMOUpdating an on-premises application to use SQL Azure
.NET Services
• Integrate on-premises apps with the cloud• Securely connect through firewall
and network boundaries• Control permissions to your apps and services• Reuse existing user accounts across applications• Interoperable with SDKs for Ruby and Java
.NET Service Bus
On-PremiseBusiness Apps
PartnerApplications
Community & Internet Services
Service Bus
How WCF Listeners Work
Service Bus
Sender Receiver
http://myapp.servicebus.windows.net/a/b/BackendNamingRoutingFabric
Frontend
Nodes
CtrlCtrl
11
22
33
44
outb
oun
d
sock
et
connec
t
outbound
socket
rendezvous
CtrlCtrl
NLB
DEMOEcho, Echo, Echo, Echo …
RedPrairie & Supply Chains
Software+Services model
Extend the reach
Secure communications
DEMOPHP running in Windows Azure using MySQL through the .NET Services Bus
Identity
How We Buy a Drink
State of Illinois
Bartender
2. Apply for an
ID)
4. Create an ID)
5. Present ID You
Trust relationship
1. Define rules for
purchasing
3. Accept birth certificate; validate identity
6. Check DOB
The Access Control Pattern
“Geneva” Server STS
Your App(Relying Party)
2. Send token
(Initial claims;
e.g. identity)4. Return token
(output claims from
3)
5. Send token
0. Trust exchanged; secrets, certs
User(Application)
1. Define access control
rules
3. Map input claims to output claims based on access control rules
6. Check Claims
7. Get response
DEMOPassive Federation with “Geneva” server and Windows Azure
Windows Azure Purchasing ModelsWindows Azure Purchasing Models
Service Level Agreements (SLAs) & Pricing
SQL Azure•99.9%
•1 GB = $9.99 / month•10 GB = $99.99 / month•Bandwidth = $0.10 in / $0.15 out / GB
Windows Azure•Two or more role instances•99.95%
•Compute = $0.12 / hr•Storage = $0.15 / GB stored / month•Tx = $0.01 / 10K•Bandwidth = $0.10 in / $0.15 out / GB
.NET Services•99.9%
•Messages = $0.15 / 100K•Bandwidth = $0.10 in / $0.15 out / GB
© 2009 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.
Recommended