Cloud Computing and Windows
Azure
Piyush Paliwal & Pavan Dave
Fifth Paradigm Shift in Computing
2 0 1 0 + Cloud
1990 s Web
1980 s Client-Server
1970s Mainframe
Why the term ‘cloud?’
• “Comes from the early days of the Internet
where we drew the network as a cloud… we
didn’t care where the messages went… the
cloud hid it from us” – Kevin Marks, Google
Working Definition of cloud computing
Cloud computing is a model for enabling
convenient, on-demand network access to a shared
pool of configurable computing resources (e.g.,
networks, servers, storage, applications, and
services) that can be rapidly provisioned and
released with minimal management effort or service
provider interaction.
Are we in the cloud?
Microsoft in the Cloud
(6 years)
(7 years)
(15 years) 4B
5B conf
(11 years) 450M+ emails/day
min/yr
(11 years) 2B active users
320M+ queries/mth
(12 years)
active
Largest non-
users
ICP/IP cloud
(13 years)
service
550M
x100M users
users/mth
(15 years)
450M+
active users
Generalized Cloud Application Model
Service-Oriented Always Available
Model-Driven
Scale-Out
Staged Production
Self-Service
Failure Resilient
Federated
Multi-Tenant
Elastic
The Microsoft Cloud
Chicago Data Centre
> Purpose-built data centre to
accommodate containers at large
scale
Cost $500 million, 100,000 square foot
facility (10 football fields)
> 40 foot shipping containers can
house as many as 2,500 servers
Density of 10 times amount of compute in
equivalent space in traditional data centre
> Can deliver an average PUE of 1.22
Power Usage Effectiveness benchmark from
The Green Grid™ consortium on energy
efficiency
The Microsoft Cloud
Chicago Data Centre
The Microsoft Cloud
~100 Globally Distributed Data Centers
Quincy, WA Chicago, IL San Antonio, TX Dublin, Ireland Generation 4 DCs
Types of Cloud
Firewall
Firewall
Types of Cloud Services
Paas: Platform as a Service
> Platform-as-a-service in the cloud is defined as a set of software and
product development tools hosted on the provider's infrastructure.
Developers create applications on the provider's platform over the
Internet. PaaS providers may use APIs, website portals or gateway
software installed on the customer's computer. Force.com, (an
outgrowth of Salesforce.com) and GoogleApps are examples of PaaS.
Developers need to know that currently, there are not standards for
interoperability or data portability in the cloud. Some providers will
not allow software created by their customers to be moved off the
provider's platform.
Types of Cloud Services
Iaas: Infrastucture as a Service
> Infrastructure-as-a-Service provides virtual server
instances with unique IP addresses and blocks of storage
on demand. Customers use the provider's application
program interface (API) to start, stop, access and configure
their virtual servers and storage. In the enterprise, cloud
computing allows a company to pay for only as much
capacity as is needed, and bring more online as soon as
required. Because this pay-for-what-you-use model
resembles the way electricity, fuel and water are
consumed, it's sometimes referred to as utility computing.
Types of Cloud Services
Saas: Software as a Service
> In the software-as-a-service cloud model, the vendor
supplies the hardware infrastructure, the software product
and interacts with the user through a front-end portal.
SaaS is a very broad market. Services can be anything from
Web-based email to inventory control and database
processing. Because the service provider hosts both the
application and the data, the end user is free to use the
service from anywhere.
The Microsoft Cloud
Platform-as-a-Service
A Hybrid World
Consistency & Control Scalability & Availability
On-premise Public Cloud
Real-Time Performance Redundancy & Resiliency
Security & Privacy Global Reach
Customizability Ease of Provisioning
Physical Resources Abstract Resources
Heterogeneity Homogeneity
Windows Azure Platform
Personal
Application Information
Application Services Data
Marketplace Marketplace
Repository
Services Workflow Distributed
Frameworks Hosting Hosting Cache
Secure Token Declarative Claims-Based Federated
Security Service Policies Identity Identities
Composite On-Premise
Connectivity Service Bus
Applications Bridging
Relational ADO.NET, Data
Data Database ODBC, PHP
Transact-SQL
Synchronization
Compute C/C++
Win32
VHD
Unstructured Message Distributed Content
Storage Data
Blobs
Queues Filesystem Distribution
Windows Azure Platform
Application Services
Frameworks “Dublin” “Velocity”
Security Access Control “Geneva”
Project
Connectivity Service Bus “Sydney”
SQL Azure
Data Data Sync
Compute
Table Storage Blob Storage Queue
Storage Service Service Service
Xdrive CDN
Kelley Blue Book
> About > Solution
kbb.com, established 1995 Cloud-based overflow capacity
14M UU/month Windows Azure Web Role
Multiple physical data centers SQL Azure database
Technical implementation > Benefits
• Client – Silverlight, DeepZoom, WPF
• Web – IIS 7, ASP.NET MVC
~$100,000 savings / year in
• Server – SQL Server 2005/2008, hosting costs alone
Windows Server 2003/2008 Retire failover data center (27
• Tools – Visual Studio 2008, .NET
Framework 3.5
Web servers & 9 SQL Servers)
• 63,000 lines of .NET code <1% code changes needed for
• 2.5 GB SQL Server DB w/ 125 tables, 15 application compatibility
indexed views, 117 stored procs, etc
6 weeks down to 6 minutes to
add server capacity
Application Models
Web Hosting High Performance Computing
Massive scale infrastructure Parallel & distributed
Burst & overflow capacity processing
Temporary, ad-hoc sites Massive modeling & simulation
Application Hosting
Advanced analytics
Hybrid applications Information Sharing
Composite applications Reference data
Automated agents / jobs Common data repositories
Media Hosting & Processing
Knowledge discovery & mgmt
CGI rendering Collaborative Processes
Content transcoding Multi-enterprise integration
Media streaming B2B & e-commerce
Distributed Storage
Supply chain management
Health & life sciences
Internet-Scale Application Architecture
Design Handle dynamic data schema
Horizontal scaling and configuration changes
Service-oriented composition Data & Content
Eventual consistency De-normalization
Fault tolerant (expect failures) Logical partitioning
Security
Distributed in-memory cache
Claims-based authentication &
Diverse data storage options
(persistent & transient,
access control
relational & unstructured, text
Federated identity
& binary, read & write, etc.)
Data encryption & key mgmt.
Processes
Management
Loosely coupled components
Policy-driven automation
Parallel & distributed
Aware of application lifecycles processing
Platform of Choice
SERVERS SERVICES
Applications
Developer Tools
Programming Model
Application Services
Relational Database
Operating System
Systems Management
Platform of Choice
Any Questions?
?????