Migrating your existing Apps to Windows Azure Harish Ranganathan Developer Evangelist | Microsoft Corporation India
Migrating your existing Apps to Windows Azure
Harish RanganathanDeveloper Evangelist | Microsoft Corporation India
Questions about cloud computing
• What is cloud computing ?• What can I use cloud for ?• What is Microsoft doing in this space ?• Software as a Service ?• Platform as a Service ?• Infra as a Service ?• Everything as a Service???
Agenda
• IT Cloud momentum– What is Cloud Computing ?– Motivation
• Microsoft’s Cloud Platform - Windows Azure Platform– Windows Azure : Operating System Services– SQL Azure : Relational Database Services– .NET Services : .NET infrastructure Services
• Typical Scenarios• Pricing, Roadmap, Resources • Recap & Conclusion
Today’s Enterpris
eInfrastructure Costs
Legacy Investment
s
Data Center Capacity
Security
Heterogeneous Platforms
Challenges
Cloud Models
Software as a Service (SaaS)Subscribe to web editions of traditional packaged
applications
Platform as a Service (PaaS)Write applications specifically to run on a Cloud
platform
Web Based ServicesInternet Web Sites, finished web experiences
Application Components as a ServiceBuilding block services and features
Infrastructure as a Service (IaaS)Host existing applications as Virtualized Machines
in the Cloud
Virtualized
On PremisesOff Premises
HeterogeneousHomogeneou
sCapExOpEx
OwnLease/Rent
SelfThird Party
Off PremisesHomogeneou
sOpEx
Lease/Rent
Third Party
•Pay for access – not ownership•Improve time-to-market•Staff and plan for typical usage•Scale to the cloud at peak times•Focus essential IT resources on business solutions•Gain massive scalability•Increase business agility
Cloud Considerations
LocationInfrastructureBusiness ModelOwnershipManagement
So, here are the various options
Application runs on-
premises
Buy my own hardware,
and manage my own data
center
Application runs on-
premises
• Bring my own machines, connectivity, software, etc.
• Complete control and responsibility
• Upfront capital costs for the infrastructure
Application runs at a hoster
Pay someone to host my application
using hardware that
I specify
Application runs at a hoster
• Rent machines, connectivity, software
• Less control, but fewer responsibilities
• Lower capital costs, but pay for fixed capacity, even if idle
Application runs using
cloud platform
Pay someone for
a pool of computing resources
that can be applied to a
set of applications
Application runs using
Public cloud platform
• Shared, multi-tenant environment
• Offers pool of computing resources, abstracted from infrastructure
• Pay as you go
Application runs using
cloud platform
Pay someone for
a pool of computing resources
that can be applied to a
set of applications
Application runs using
Private cloud platform
• Shared, multi-tenant environment
• Offers pool of computing resources, abstracted from infrastructure
• Pay as you go
Platform as a Service
Compute Storage Mgmt Networkin
gDeployme
ntOperation
sHardwar
eFoundatio
n Services
DataSync
AppMgmt
Identity Service
s
Database
Services
Workflow
Services
Connectivity
Services
Building Block
ServicesConnecte
dDevices
Your Application
Cloud Computing Infrastructure
Azure™ Services Platform
Visual Studio & .NET
“Oslo” - Modeling
Partner Ecosystem
Windows Azure Platform
Windows Azure Platform
Third party CloudWeb applications
On-premises
LOB ApplicationsComposite applications
Compute Storage Management
Connectivity Access controlManagementRelational data
Developer ExperienceUse existing skills and tools.Fabric
ComputeStorag
e
FabricControlle
r
Windows Azure Platform – One Pager
SOAP/REST/XML
Azure™ Services Platform
• The same facilities that a desktop OS provides, but on a set of connected servers:– Abstract execution environment– Shared file system– Resource allocation– Programming environments
• And more: Utility computing– 24/7 operation– Pay for what you use– Simpler, transparent administration
What Should The Cloud OS Provide?
Windows Azure, Bit By Bit
• Cloud infrastructure, built bottom up
VM Image Deployment; Network Programming; VM Allocation
Microsoft Global Datacenters
Replicated Data Store
Service Model Processing; Service Health Model
Storage Abstractions: Blobs, Tables, …
Programming Model
Developer Tools
> Developer platform, designed top down
Load Balanced PartitionsService
Management
A Closer Look At Windows Azure
Windows Server 2008 64 Bit
Virtual Machine Images
VM VM VM VM VM VM
Fabric
Compute StorageCONFIG
Application
Windows Azure Compute
Fabric
Web Role Worker RoleHTTP(S)Endpoint
Agent Agent
LoadBalancer
Windows Azure Storage• Storage that is
– Durable– Scalable (capacity and throughput)– Highly Available– Security– Performance Efficient
• Rich Data Abstractions– Service workflow: queues– Large user data items: blobs– Service state: tables– Existing NTFS service migration : drives (new)
• Simple and Familiar Programming Interfaces– REST (http & https)– Supported Storage Client library (new)– NTFS(new)
Account
Container Blobs
Table Entities
Queue Messages
Windows Azure Data Storage Concepts
http://<account>.blob.core.windows.net/<container>
http://<account>.table.core.windows.net/<table>
http://<account>.queue.core.windows.net/<queue>
Azure™ Services Platform
Database
Business AnalyticsReporting Data Sync
The Power of the SQL Data Platform in the cloud
Leverages existing skills and rich tooling ecosystem
Enables database applications with new, “cloud”
capabilities
SQL Data Platform as a Service – beyond hosting
SQL Azure Database
Customer Value Props
Self-provisioning and capacity on demand
Symmetry w/ on-premises database platform
Automatic high-availability and fault-tolerance
Automated DB maintenance (infrastructure)
Simple, flexible pricing – “pay as you grow”
MSDatacente
r
Windows Azure
Compute
Browser
SOAP/RESTHTTP/S
T-SQL (TDS)
App Code(ASP.NET)
SQL Server Report Server
(on-premises)
ADO.NET/REST - EDMHTTP/S
- AD Federation (LiveId /AppFabric AC)
SQL AzureDatabase
T-SQL (TDS)
Relational database service
• SQL Server technology foundation
• Highly symmetrical
• Highly scaled
• Highly secure
Database “as a Service” – beyond hosting
Highly scaled out relational database as a service
Database
Access Control Service BusSupport user identities securely across
different organizations Exchange messages between loosely coupled,
composite applications
Claims-based identity management Interoperable & based on standard
protocols (WS-Trust) Manage through web page and/or a
services API Supports CardSpace, LiveID,
Username/Password
Simple publish-subscribe eventing Firewall friendly messaging Flexible connection modes Connectivity to on-premises applications to
enable hybrid S+S scenarios Extension of Windows Communication
Foundation
Services for application integration
.NET Services
Typical Scenario
- Photo Sharing Site
Marketing Campaigns• Ramp up
quickly• Seasonal
fluctuations• Capacity on
demand
Community Web Sites• Non-core• Fully branded• Integration
Bulk Data or Media Storage• Pay for
storage used• Reliable• Media Serving
Development Sandbox• Available on
demand• Minimal
upfront investment
• Tool support
Payments & Billing• Implementatio
n of common payment scenarios
• Enable payment integration for core services
Example Azure Scenarios
Photos Store - Storage Sample
Windows Azure Pricing Model
Azure Services Platform Roadmap
LaunchDeveloper CTP for Services SDKs, and
Tools
Nov 17th 2009Dec 31st 2009
CTP TestingVersion 1 features
Feb 1st 2010
Charged UsageWindows Azure.NET Services
SQL Azure
Jan 1st 2010
Commercial Availability
Free usage
Setup & Resources• Environment:
– Windows Vista SP1 (when installing on Windows Vista) / Windows 7– .NET Framework 3.5 SP1– IIS 7.0 (with ASP.NET and WCF HTTP Activation)– Microsoft SQL Server Express 2005 or Microsoft SQL Server Express 2008
/R2– Windows PowerShell (optional)– Microsoft .NET Framework 3.5 Service Pack 1 / .NET 4.0– Microsoft Visual Studio 2008 Service Pack 1 (Installer) / VS 2010 Beta 2
• SDKs:– Windows® Azure™ Software Development Kit (Nov 2009 CTP) – Windows Azure Tools for Microsoft Visual Studio Nov 2009 CTP – Azure services training kit Nov Update
• Resources:- http://www.windows.azure.com - Azure portal– MSDN documentation for Windows Azure Storage
Recap & Conclusion
Windows Azure Platform
3 Important Services
• Windows Azure• Compute & Storage
• SQL Azure• Relational Storage
• .NET Services• Connecting
3 Critical Concepts
• Computation• Web & Worker
• Storage• Table, Blob• Relational
• Messaging• Queues &
Servicebus
33
Your software
application
Your cloudapplication
Developer Services
XML
SOAP
REST
Azure Services Platform
Partnerapplication
sand Web
Services
End usersXML
SOAP
REST
Microsoft Visual StudioDevelopment Environment
Developers
Software + Services
Windows Azure Skills Transfer
Feedback & QnA
• Feedback is important• Question Time
• http://geekswithblogs.net/ranganh
© 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.