What‘s New in Windows Azure
Luka DebeljakCEE DPE Technical Leadhttp://blogs.msdn.com/lukad
Agenda
− Microsoft & Cloud Computing
2009
Software as a service
Platform as a
service
Infrastructure as a service
Service platform
Cloud platform
Cloud computingGrid
computing
Private cloud
Public cloud
Hybrid computing
Global cloud
Scale-out cloud
Online servicesUtility computing
On demand
Internal cloud
Hosted cloud
Cloud services
2003
Web services
2006
Software as a serviceVirtualized
Hosting
SOA
Evolution of Computing:The Next Big Thing
All developers can quickly deliver highly-available, secure and highly-scalable applicationsRich end-user experience anywhere from any device
Cloud ComputingThe platform for the new generation of business
App Model
Mainframe of the future: 1000x as powerful at a fraction of the costMaximum efficiency on industry-standard hardwareYour datacenter or ours
HardwareModel
Manage services not just serversResilient to hardware and software failure24x7 availability with “9 to 5” management
OperationsModel
Different Flavors of the Cloud
ENTERPRISE
DEDICATED CLOUD
PUBLIC CLOUDSecure CloudFederation
INTERNAL IT
PRIVATE CLOUD
Microsoft’s Cloud Continuum: Choice
Dynamic Data Center ToolkitFor Hosters| Dynamic Data Center Toolkit
For Enterprises|
Software as
a Service(SaaS)
Platform as
a Service(PaaS)
Infrastructure as a
Service(IaaS)
Private
Public
Private(On-Premise)
Infrastructure
(as a Service)
Platform(as a
Service)
Types of Clouds
Storage
Server HW
Networking
Servers
Databases
Virtualization
Runtimes
Applications
Security & Integration
Storage
Server HW
Networking
Servers
Databases
Virtualization
Runtimes
Applications
Security & Integration
Storage
Server HW
Networking
Servers
Databases
Virtualization
Runtimes
Applications
Security & Integration
You m
anage M
anaged b
y v
endor
Managed b
y v
endor
You m
anage
You m
anage
Agenda
− Microsoft & Cloud Computing− Windows Azure Platform & Features
− Windows Azure− Windows AppFabric− SQL Azure− „Dallas“
Cloud Platform Capabilities
StorageDynamic Tabular Data
BlobsMessage Queues
Distributed File System
Content Distribution
Data Transact-SQL
Data Synchronizati
on
Relational Database
ADO.NET, ODBC, PHP
Connectivity
RegistryOn-Premise
BridgingService Bus
SecurityClaims-Based
Identity
Federated Identities
Secure Token
Service
Declarative Policies
Application Services
ApplicationMarketplac
e
Information Marketplac
e
Personal Data
Repository
Frameworks
Workflow Hosting
Distributed Cache
Services Hosting
Compute C / C++Win32 VHD
Windows Azure Platform
Compute
Storage
Data SQL Azure Data Sync
Connectivity
Project “Sydney”
Security “Geneva”
Application Services
Frameworks
“Dublin” “Velocity”
Service Bus
Access Control
Table Storage
Blob Storage
Queue DriveContent Delivery Network
Windows Azure Compute
Compute
Development, service hosting, & management environment
.NET, Java PHP, Python, Ruby, native code (C/C++, Win32, etc.)ASP.NET providers, FastCGI, memcached, MySQL, TomcatFull-trust – supports standard languages and APIsSecure certificate storeManagement API’s, and logging and diagnostics systems
Multiple roles – Web, Worker, Virtual Machine (VHD)Multiple VM sizes
1.6 GHz CPU x64, 1.75GB RAM, 100Mbps network, 250GB volatile storageSmall (1X), Medium (2X), Large (4X), X-Large (8X)
In-place rolling upgrades, organized by upgrade domains
Walk each upgrade domain one at a time
WEB ROLE WORKER ROLE
Interacts with end-useror web services
Handles incomingHTTP/HTTPS requests
Develop with Microsoft andnon-Microsoft tools:
ASP.NET, WCF, other .NET toolsJava, PHP, etc.
Does not acceptincoming requests
Initiates their own requestsfor data or tasks from
the queue
Similar to a "batch job"or Windows service
Windows Azure Roles
‒ Interacts with a “Fabric Agent” on each machine
‒ Monitors every VM, application and instance
‒ Performs load balancing, check pointing and recovery
Fabric Controller
14
Windows Azure Diagnostics
Compute
− Configurable trace, performance counter, Windows event log, IIS log & file buffering− Local data buffering quota management− Query & modify from the cloud and from the desktop per role
instance− Transfer to storage scheduled & on-demand− Filter by data type, verbosity & time range
Windows Azure Storage
− Rich data abstractions – tables, blobs, queues, drives, CDN− Capacity (100TB), throughput (100MB/sec)− Transactions (1K req/sec)
− High accessibility− Supports geo-location− Language & platform agnostic REST APIs− URL: http://<account>.<store>.core.windows.net− Client libraries for .NET, Java, PHP, etc.
− High durability – data is replicated 3 times within a cluster, and (Feb 2010) across datacenters
− High scalability – data is automatically partitioned and load balanced across servers
StorageStorage
Windows Azure Table Storage
Table Storage
− Designed for structured data, not relational data
− Data definition is part of the application− A Table is a set of Entities (records)− An Entity is a set of Properties (fields)
− No fixed schema− Each property is stored as a <name, typed value>
pair− Two entities within the same table can have different
properties− No schema is enforced
Windows Azure Blob Storage
Blob Storage
− Storage for large, named files plus their metadata
− Block Blob − Targeted at streaming workloads− Each blob consists of a sequence of blocks− Each block is identified by a Block ID− Size limit 200GB per blob
− Page Blob− Targeted at random read/write workloads− Each blob consists of an array of pages− Each page is identified by its offset from the start of
the blob− Size limit 1TB per blob
18
Windows Azure Queue
Queue
− Performance efficient, highly available and provide reliable message delivery
− Asynchronous work dispatch− Inter-role communication − Polling based model; best-effort FIFO data structure
− Queue operations− Create Queue− Delete Queue− List Queues− Get/Set Queue Metadata
- Message operations• Add Message
• Get Message(s)
• Peek Message(s)
• Delete Message
Windows Azure Drive
Drive
− Provides a durable NTFS volume for Windows Azure applications to use− Use existing NTFS APIs to access a durable drive− Durability and survival of data on application failover − Enables migrating existing NTFS applications to the
cloud− Drives can be up to 1TB; a VM can dynamically
mount up to 8 drives
− A Windows Azure Drive is a Page Blob− Example, mount Page Blob as X:\− http://<account>.blob.core.windows.net/
<container>/<blob>− All writes to drive are made durable to the Page Blob− Drive made durable through standard Page Blob
replication
StorageCredentialsAccountAndKey credentials = new StorageCredentialsAccountAndKey("myaccount", storageAccountKey);
//initialize the drive with blob credentialsCloudDrive drive1 = new CloudDrive(new Uri(“http://account.blob.core.windows.net/.../Blob1”), credentials);
// mounting the drivedrive1.Mount(200000, DriveMountOptions.None);
Azure Drive Object Model
Windows Azure CDN
− Provides high-bandwidth global blob content delivery− 18 locations globally (US, Europe, Asia, Australia and
South America), and growing
− Blob service URL vs. CDN URL− Blob URL: http://<account>.blob.core.windows.net/− CDN URL: http://<guid>.vo.msecnd.net/ − Support for custom domain names
− Access details− Blobs are cached in CDN until the TTL passes− Use per-blob HTTP Cache-Control policy for TTL
(new)− CDN provides only anonymous HTTP access
Content Delivery Network
DEMO:Visual Studio 2010, Sivlerlight & Windows Azure
Using Windows Azure Storage
SQL Azure
Data
− Highly available, scalable, and consistent distributed relational database; geo-replication and geo-location of data
− Relational database, provided as a service− Highly symmetrical development and tooling experience
(use TDS protocol and T-SQL)− Highly scaled out, on commodity hardware− Built on the SQL Server technology foundation
− Editions: Web (1GB), Business (10GB)
Management Tools
− Windows Azure Tools forMicrosoft Visual Studio (2008, 2010)
− Windows Azure Management Console− http://www.microsoft.com/windowsazure/tools/
− Azure Storage Explorer− Simple tool to manage your cloud storage− http://azurestorageexplorer.codeplex.com/
− SQL Azure assesible via SQL Server Management tools
− SQL Azure Explorer AddIn for Visual Studio 2010− http://sqlazureexplorer.codeplex.com/
− Cerebrata Azure Diagnostics Manager− WPF Client for managing Azure
SQL Azure Data Sync
SQL Azure Data Sync
− Tools for data synchronization with SQL Azure− Connect on-premises apps with the cloud− Create cached-mode clients
− Built on Microsoft Sync Framework and ADO.NET Sync Services
SQL Azure & OData
− OData− Base on existing protocols
− HTTP, AtomPub (+ extensions), CSDL, EDMx− Defines a core set of functionality enabling
REST-based access to data over HTTP− Specifications available at www.odata.org
− Open Specification Promise (OSP)
− WCF Data Services− Microsoft server-side implementation of OData− WCF Data Services client library
− SQL Azure (labs preview)− Enables exposure of cloud data via OData
OData: Open Data Protocol
OData Protocol
Excel/PowerPivot
Visual Studio
.NET Framework
Silverlight
Javascript/AJAX
PHP
Java
.NET Framework
Sharepoint
Sharepoint Services
SQL Server Reporting Services
Windows Azure Table Storage
Codename “Dallas”
ODGI
OData Consumers OData Producers
DEMO:Management tools and SQL Azure
Interoperability & Windows Azure− Popular Technologies, Used by
− Sites: Facebook, Wikipedia− Apps: WordPress, MediaWiki
− …with Windows Azure Benefits− Get Started Easily: PHP/Eclipse Developer Experience− Maintain and Scale: Leverage Platform Primitives
− Cloud Storage− Inter-role Communication + Endpoint Discovery
PHP Web Development Language
Eclipse Development Environment
MySQL Relational Database
memcached
Distributed Memory Cache
Using with Windows Azure− Running PHP Code in Windows Azure
− Host in Web role, supply & configure runtime− Eclipse Tooling
− Build, Test, Deploy PHP Projects− Create New or Use Existing PHP Projects
− Scaling PHP Apps− Dynamic allocation of resources in Windows
Azure− Using Cloud Storage from PHP
− Windows Azure Storage via SDK for PHP− Using SQL Azure (or SQL Server) via SQL
Serve Driver for PHP
DEMO:Interoperability with Windows Azure
Windows Azure AppFabric Service Bus
Connectivity
Service Bus
− Securely connect applications− Over the internet− Across any network
topology− Across organizational
boundaries
− Primary application patterns− Eventing – notify
applications and/or devices
− Service Remoting – securely project on-premises services out to the cloud
− Tunneling – app-to-app communication with NAT/Firewall traversal
33
Windows Azure AppFabric Connectivity
Application #1 Application #2Direct Connection facilitated by Service Bus if that is best
connection mechanism.
TextXMLGraphicsBinary DataStreaming
Firewall
Send
Receive
Exchange messages between loosely coupled, composite
applications.
Send
Receive
34
Windows Azure Access Control
Security Access Control
− Provides outsourcing of claims-based access control for REST web services
− Key capabilities:− Usable from any platform− Low friction way to
onboard new clients− Integrates with ADFS v2− Supports OAuth WRAP /
SWT− Enables simple delegation
− Used today by Service Bus and “Dallas”
35
Windows Azure AppFabric Access Control
Applications or Users
Simplify and automate
complex authorization
schema requests.
Provide abstraction for
federated claims-based
authentication.
Easily establish secure trust relationship.
Data and Applications
36
void Page_Load(object sender, EventArgs e) { IClaimsPrincipal icp = (IClaimsPrincipal) Thread. CurrentPrincipal;
IClaimsIdentity claimsIdentity = (IClaimsIdentity)icp.Identity;
ageClaimValue = ( from c in claimsIdentity.Claims where c.ClaimType == "http://MyAppN/AgeClaim" select c.Value ).Single(); }
Windows Identity FoundationObject Model
DEMO:Windows Azure AppFabric
Claims Based Identity Management
“Geneva”
− Next generation identity and access management platform− Claims-based access and single sign-on for on-premise and
cloud-based applications in the enterprise, across organizations, and on the Web
− Windows Identity Foundation (“Geneva Framework“)− Provides .NET development tools, which includes pre-built, user-
access logic that externalizes authentication from applications. It helps developers build claims-aware .NET applications, plus build custom security token services (STS)
− Active Directory Federations Services 2.0 (“Geneva Server“)− An STS for IT that issues and transforms claims and other tokens,
manages user access and enables federation and access management for simplified single sign-on
- Windows CardSpace 2.0 (“Geneva“)• For helping users navigate
between multiple logons for simplified single sign-on while providing complete user control and transparency for how personal information is shared
Windows Server AppFabric (“Velocity”)
“Velocity”
− Distributed in-memory cache platform for developing scalable, available, and highly-performance applications− Caches any serializable CLR object and provides access
through simple cache APIs− Supports enterprise scale: tens to hundreds of computers− Configurable to run as a service accessed over the
network‒ Supports dynamic
scaling and automatic load balancing
‒ Supports continuous availability of cached data by storing copies on separate cache hosts
‒ Integration with administration and monitoring tools such as Event Tracing for Windows (ETW) and System Center.
// Create instance of cachefactory (reads appconfig)CacheFactory fac = new CacheFactory();
// Get a named cache from the factoryCache catalog = fac.GetCache("catalogcache");
// Simple Get/Putcatalog.Put("toy-101", new Toy("Puzzle", .,.));
// From the same or a different clientToy toyObj = (Toy)catalog.Get("toy-101");
// Region based Get/Putcatalog.CreateRegion("toyRegion");
// Both toy and toyparts are put in the same region catalog.Put("toyRegion", "toy-101", new Toy( .,.));Catalog.Put("toyRegion", "toypart-100", new ToyParts(…));
Toy toyObj = (Toy)catalog.Get("toyRegion", "toy-101");
Distributed Cache API
Windows Server AppFabric (“Dublin”)
“Dublin”
− Evolution of WAS/IIS and Windows App Server role to run and manage WF and WCF services− Enhances the hosting of Windows
Communication Foundation (WCF) and Windows Workflow (WF) in the Windows Process Activation Service (WAS)
− Simplified deployment and management of WCF and WF services hosted in WAS
− Configuration of persistence for durable workflows
− Customizable tracking profiles with dedicated, queryable storage for tracked data
− Customizable monitoring of hosted services
Microsoft Codename “Dallas”
− Information-as-a-service− Discover, acquire, and consume
structured, blob, and real-time data to power any application – on any platform and any screen size
− Brokerage Business – partner driven ecosystem and global reach to deliver data and functionality to developers and information workers
− Analytics and Reporting – single click analysis to augment private data with public data
− Built on Windows Azure and SQL Azure
Microsoft Pinpoint
− Application Marketplace− Pinpoint helps business customers
find technology experts, software applications and professional services that solve specific business issues and support long-term goals
− Pinpoint helps developers and technology service providers get applications and professional services to the customers who need them
DEMO:Microsoft Codename „Dallas“
Agenda
− Microsoft & Cloud Computing− Windows Azure Platform & Features
− Windows Azure− Windows AppFabric− SQL Azure− „Dallas“
− Windows Azure Pricing & Options
Pricing
Compute• $0.12 / CPU hour
Storage• $0.15 / GB / month
• $0.01 / 10k txn / month
Bandwidth• $0.10 in / GB
• $0.15 out / GB
Web Edition (1GB)• $9.99 / month
Business Edition (10GB)• $99.99 / month
Bandwidth• $0.10 in / GB
• $0.15 out / GB
Service Bus• $0.15 / 100k
messages
Access Control• $0.15 / 100k tokens
Bandwidth• $0.10 in / GB
• $0.15 out / GB
SUBSCRIPTIONCONSUMPTION VOLUME LICENSING“Pay as you go and
grow”
Available at launch
• Low barrier to entry and flexibility
• Optimized for cloud elasticity
• Discounts for commitment• Plans for payment
predictability
“Coordinated purchasing”
Planned for FY11
• Unified purchasing through EA• Introduction to volume
discounts
“Value for a commitment“
Select offers Announced
Compute connectivit
y
‒ Your service is connected and reachable via web
‒ Internet facing roles will have external connectivity
>99.95%
Database availability
‒ Database is connected to the internet gateway
‒ Availability monitoring every 5-minute interval
>99.9%
‒ Storage servicewill be available/ reachable (connectivity)
‒ Your storage requests willbe processed successfully
Storage availability
>99.9%
‒ .NET Service Bus endpoint willhave external connectivity
‒ Message operation requests willbe processed successfully
Serviceavailability
>99.9%
Role instance
monitoring and restart
‒ All runningroles will be continuously monitored
‒ If role is unhealthy, we will detect and initiate corrective state
Automated Systems
Management
Windows Azure Platform Service Guarantee
http://www.microsoft.com/windowsazure/tco/
TCO tool available today
Quickly determine “quantitative” value of using Windows Azure Platform services
TCO of development and running Windows Azure Platform vs. traditional delivery channels
Estimation “of” and conversion “to” on-premise solution to
Windows Azure Platform services
TCO Analyzer Tool
Agenda
− Microsoft & Cloud Computing− Windows Azure Platform & Features
− Windows Azure− Windows AppFabric− SQL Azure− „Dallas“
− Windows Azure Pricing & Options− Windows Azure Futures
Additional purchasing options coming in 2010 Centralized purchasing, procurement, and billing for all Microsoft products and services
Durable storage volumes
attachable directly to
compute instances
Windows Azure Drive
(available today)
18 edge locations in 12
countries for low latency
and global presence
CDN
(available today)
Information service built on SQL Azure and Windows Azure (BI and analytics)
Codename “Dallas”
(available today)
Additional SQL Azure databases
sizes >10GB available in 2010
SQL Azure >10GB (available H1 2010)
Principles driven business model as we bring new services on
New Services Available (pricing coming soon…)
Flexible, simple, and value based pricing and licensing
Business Roadmap, Looking Ahead....
Virtual Machine Role Type
Helps easily move existing apps to
cloud
Enables wide range of Windows apps to
run in Windows Azure
Looking forward: VM Support
Start withWindows
Server image
Incorporate into cloud
service model
Install SW, Customize &
Configure
Deploy & Manage Service
Looking forward:Management Interfaces− Extend APIs to expose new platform
capabilities− Examples: new VM role, finer-grain OS
Upgrade, CDN integration− Better visibility and monitoring of life
cycle management− Diagnostics APIs
Looking forward: Guidance & Blueprints− Readiness Framework
− Information and tools to support adoption
− Aimed at sales field, partners and enterprise architects
− Readiness Deliverables− Knowledge capital and app profile
guidance− Technology and migration tool set
requirements− Engagement process and
deployment
Summary
− @Microsoft We Are All In!− Check out www.azure.com
− Windows Azure, Windows AppFabric, SQL Azure, „Dallas“
− Windows Azure Roadmap− CDN, Project Sydney, VM Role, SQL Azure
... Stay tuned! More to come!
Questions?