change the rules what‘s new in windows azure luka debeljak cee dpe technical lead
TRANSCRIPT
Change the Rules
What‘s New in Windows Azure
Luka DebeljakCEE DPE Technical Lead
http://blogs.msdn.com/lukad
Change the Rules
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
2006Software as a service
Virtualized Hosting
SOA
Evolution of Computing:The Next Big Thing
Change the Rules
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
Change the Rules
Different Flavors of the Cloud
ENTERPRISE
DEDICATED CLOUD
PUBLIC CLOUDSecure Cloud
Federation
INTERNAL IT
PRIVATE CLOUD
Change the Rules
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
Change the Rules
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
Change the Rules
Agenda
• Microsoft & Cloud Computing• Windows Azure Platform & Features–Windows Azure–Windows AppFabric– SQL Azure– „Dallas“
Change the Rules
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
Change the Rules
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
Change the Rules
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 domainsWalk each upgrade domain one at a time
Change the Rules
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
Change the Rules
‒ Interacts with a “Fabric Agent” on each machine
‒ Monitors every VM, application and instance
‒ Performs load balancing, check pointing and recovery
Fabric Controller
Change the Rules
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
Change the Rules
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
Change the Rules
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
Change the Rules
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
Change the Rules
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
Change the Rules
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
Change the Rules
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
Change the Rules
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)
Change the Rules
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 accessible 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
Change the Rules
• 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 Data Sync
SQL Azure Data Sync
Change the Rules
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
Change the Rules
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
Change the Rules
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 LanguageEclipse Development EnvironmentMySQL Relational Databasememcached Distributed Memory Cache
Change the Rules
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
Change the Rules
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
Change the Rules
Windows Azure AppFabric Connectivity
33
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
Change the Rules
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”
Change the Rules
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
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
36
Change the Rules
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
Change the Rules
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 APIsSupports enterprise scale: tens to hundreds of computersConfigurable 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
Change the Rules
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 WASConfiguration of persistence for durable workflowsCustomizable tracking profiles with dedicated, queryable storage for tracked dataCustomizable monitoring of hosted services
Change the Rules
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
Change the Rules
Microsoft Pinpoint
Application MarketplacePinpoint helps business customers find technology experts, software applications and professional services that solve specific business issues and support long-term goalsPinpoint helps developers and technology service providers get applications and professional services to the customers who need them
Change the Rules
Agenda
• Microsoft & Cloud Computing• Windows Azure Platform & Features–Windows Azure–Windows AppFabric– SQL Azure– „Dallas“
• Windows Azure Futures
Change the Rules
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....
Change the Rules
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
Change the Rules
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
Change the Rules
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
Change the Rules
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!