You are on page 1of 16

Microsoft Cloud Computing

Topics to be covered
1. Environmental Features of windows azure
2. What is Cloud Computing
3. Roles in Cloud Computing
4. Benefits of Cloud Computing
5. Optimal Cloud workload Pattern
6. Service Delivery Models
7. Azure Architecture (Intro)
1. .Net in Windows Azure
2. PHP in Windows Azure
3. JAVA and Tomcat in Windows Azure

8. Cloud Application Development and Hosting


Environmental Features of windows azure
Operating system as an online service; with automated provisioning and
services management
• Development, service hosting, & management environment
• .NET, Java PHP, Python, Ruby, native code (C/C++, Win32, etc.)
• ASP.NET providers, FastCGI, memcached, MySQL, Tomcat Compute – instance types: Web Role &
• Full-trust – supports standard languages and APIs Worker Role. Windows Azure
• Secure certificate store applications are built with web role
• Management API’s, and logging and diagnostics systems instances, worker role instances, or a
combination of both.
• Multiple roles – Web, Worker, Virtual Machine (VHD)
• Multiple VM sizes
• 1.6 GHz CPU x64, 1.75GB RAM, 100Mbps network, 250GB volatile storage
• Small (1X), Medium (2X), Large (4X), X-Large (8X)
• In-place rolling upgrades, organized by upgrade domains
• Walk each upgrade domain one at a time
Each instance runs
on its own VM
(virtual machine),
replicated as needed

Maintenance OS Guest VM 3
Guest VM 2
Guest VM 1 Guest VM 1 The Fabric Controller communicates with every server
Host VM Host VM Host VM
within the Fabric. It manages Windows Azure, monitors
every application, decides where new applications should
run – optimizing hardware utilization.
Cloud Computing
• Windows Azure compute provides developers a platform to host and manage applications in Microsoft’s
data centers across the globe.

Quincy, WA Chicago, IL San Antonio, TX Dublin, Ireland Generation 4 DCs


Cloud Computing
• A Windows Azure application is built from one or more components called
‘Roles.’ Roles come in three different types:
1. Web role,
2. Worker role
3. Virtual Machine (VM) role.
Roles in Cloud Computing
• Web Role - A Windows Azure Web role is used for hosting front-end web applications behind Internet
Information Services (IIS).

• Worker Role - A Worker can run anything but is most commonly used to host background processing
behind a web role.

• VM Role - A VM role is a special type of role that enables you to define the configuration and updates
of the operating system for the virtual machine. While a web role and a worker role run in a virtual
machine, the VM role is the virtual machine, which gives you full control of operations. When you have
long and complicated installations in the operating system or special setup issues, you should use this
role. This role is especially suited for migrating existing applications to run as hosted services in
Windows Azure. This VHD is created using an on-premises Windows Server machine and then uploaded
to Windows Azure.
• More on VM

Windows Azure Web and Worker roles enable developers to deploy and manage applications services as a
whole as opposed to individual Virtual Machines (VMs). It’s common for an application to interact with users
through a Web role, then hand tasks off to a Worker role for processing.
.NET in Windows Azure
Web Role and Worker Role

Service Instance

default.aspx

RoleEntry
IIS Point
Web Role Worker Role

bind port(x) Service Instance


http://instance:y

http://instance:x

SQL
Database

Service Access
Bus Control

http://app:80 Load Fabric Table Blob


Balancer Controller Storage Storage Queue
Benefits of Cloud Computing
• A great application hosting environment

Since the Windows Azure Web role is pre-configured with IIS7, it’s easy to create applications using ASP.NET,
Windows Communication Foundation (WCF) or other web technologies. Developers can also create
applications using languages such as PHP and Java.

Presentation
• ASP.NET C#, WCF, PHP, Java
• Distributed in-memory cache

Services
• .NET C#, Java, native code
• Distributed in-memory cache
• Asynchronous processes
• Distributed parallel processes
• Transient file storage
Benefits of Cloud computing
• Focus on the application, not the operational constraints

The automated service management provided by Windows Azure offers customers the benefits of:

Administration: Windows Azure automatically takes care of things such as load balancing and failover
thereby reducing the effort and cost of administering the application environment.

Availability: Windows Azure is designed to let developers build applications that are continuously available,
even in the face of software upgrades and hardware failures.

Scalability: Windows Azure enables developers to build scalable applications that run in Microsoft’s global
data centers. It also allows developers to scale down applications when necessary, letting them use just the
resources they need.
Optimal Cloud Workload Patterns
“On and Off “ “Growing Fast“

Compute
Compute

Inactivity
Period
Average Usage
Average Usage

Time Time

• On and off workloads (e.g. batch job) • Successful services needs to grow/scale
• Over provisioned capacity is wasted • Keeping up w/growth is big IT challenge
• Time to market can be cumbersome • Complex lead time for deployment

“Unpredictable Bursting“ “Predictable Bursting“


Compute

Compute
Average Usage Average Usage

Time Time

• Unexpected/unplanned peak in demand • Services with micro seasonality trends


• Sudden spike impacts performance • Peaks due to periodic increased demand
• Can’t over provision for extreme cases • IT complexity and wasted capacity
Benefits of Cloud computing
• Enable communication between role instances

The role instances in a hosted service communicate through internal and external connections that vary
depending on the type of communication that is needed. Role instances can make these connections by
using HTTP, HTTPS and Microsoft .NET APIs for TCP/IP sockets. An external connection is called an input
endpoint, and an internal connection is called an internal endpoint. Endpoints are associated with ports,
where the external endpoint is associated to a port that you define, and the internal endpoints are
dynamically assigned ports by Windows Azure.
• Start tasks before role instances start

You can use startup tasks to perform operations before the role instances start. Operations that you might
want to perform include installing a component, registering COM components, setting registry keys, or
starting a long running process. You add startup tasks to the role by defining the tasks in the
ServiceDefinition.csdef file.
Benefits of Cloud computing
• Flexible instances sizes to meet your application needs

Each Windows Azure compute instance represents a virtual server. Although many resources are dedicated
to a particular instance, some resources associated to I/O performance are shared among the compute
instances on the same physical host.

Compute instance sizes with a high I/O performance indicator as noted in the table will have a larger
allocation of the shared resources. Having a larger allocation of the shared resource will also result in more
consistent I/O performance.

Compute Instance
Size CPU Memory Instance Storage I/O Performance Cost Per Hour

Extra Small 1.0 GHz 768 MB 20 GB Low $0.04


Small 1.6 GHz 1.75 GB 225 GB Moderate $0.12
Medium 2 x 1.6 GHz 3.5 GB 490 GB High $0.24
Large 4 x 1.6 GHz 7 GB 1,000 GB High $0.48
Extra Large 8 x 1.6 GHz 14 GB 2,040 GB High $0.96
Benefits of Cloud Computing

BUSINESS TECHOLOGY WINDOWS AZURE


DEMANDS DEMANDS PLATFORM OFFERS

• Cost-effective solution to manage IT resources


• Less infrastructure to buy/configure and support
Lower costs Efficiency • Lower TCO
• Predictable cost

• Focus on delivering compelling software


not on managing infrastructure
Stay Innovation • Monetize new offering quickly without
Competitive investment in billing and other enablement
technologies.
  
• Speed of development
Generate New • Interoperability
• Leverage existing IP
Revenue Quickly Agility • Simplified deployment
• Scale up or down as business needs change
• Go to market faster

• Reliable service
Reduced • SLAs
Reliability • Security
Risk • Global data centers
Service Delivery Models

Infrastructure Platform Software


(On-Premise) (as a Service) (as a Service) (as a Service)

You manage
Applications Applications Applications Applications
You manage

Data Data Data Data

Runtime Runtime Runtime Runtime

Managed by vendor
Middleware Middleware Middleware Middleware
You manage

Managed by vendor
O/S O/S Managed by vendor O/S O/S

Virtualization Virtualization Virtualization Virtualization

Servers Servers Servers Servers

Storage Storage Storage Storage

Networking Networking Networking Networking


PHP in Windows Azure
Web Role and IIS/FastCGI with Native Runtime

Service Instance

php
-cgi
index.php

FastCGI

IIS
Web Role

bind port(x) Service Instance


http://instance:y

http://instance:x

SQL
Database

Service Access
Bus Control

http://app:80 Load Fabric Table Blob


Queue
Balancer Controller Storage Storage
Java and Tomcat in Windows Azure
Worker Role and Sub-Process Invoking Native Code

Service Instance
listen port(x)

JVM Catalina server.xml


index.jsp Tomcat
Sub-Process

new Process()

RoleEntry bind port(x)


Point
get Worker Role
runtime
info Service Instance
http://instance:y

http://instance:x

SQL
Database

Service Access
Bus Control

http://app:80 Load Fabric Table Blob


Queue
Balancer Controller Storage Storage

You might also like