Sunteți pe pagina 1din 16

Microsoft Cloud Computing

Topics to be covered
1. 2. 3. 4. 5. 6. Environmental Features of windows azure What is Cloud Computing Roles in Cloud Computing Benefits of Cloud Computing Optimal Cloud workload Pattern Service Delivery Models

7.

Azure Architecture (Intro)


1. 2. 3. .Net in Windows Azure PHP in Windows Azure 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 Full-trust supports standard languages and APIs Secure certificate store Management APIs, and logging and diagnostics systems

Compute instance types: Web Role & Worker Role. Windows Azure applications are built with web role 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 Host VM

Guest VM 1 Host VM

Guest VM 3 Guest VM 2 Guest VM 1 Host VM

The Fabric Controller communicates with every server 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 Microsofts 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). Its 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.asp x

IIS bind port(x)

Web Role

RoleEntry Point

Worker Role Service Instance

http://instance:x

http://instance:y

SQL Database Service Bus Fabric Controller Table Storage Blob Storage Access Control

http://app:80

Load Balancer

Queue

Benefits of Cloud Computing


A great application hosting environment Since the Windows Azure Web role is pre-configured with IIS7, its 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 Microsofts 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
Compute
Inactivity Period Average Usage

Growing Fast
Compute

Average Usage

Time

Time

Unpredictable Bursting
Compute Compute

Predictable Bursting

Average Usage

Average Usage

Time

Time

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 Extra Small Small Medium

CPU 1.0 GHz 1.6 GHz 2 x 1.6 GHz

Memory 768 MB 1.75 GB 3.5 GB

Instance Storage 20 GB 225 GB 490 GB

I/O Performance Low Moderate High

Cost Per Hour $0.04 $0.12 $0.24

Large
Extra Large

4 x 1.6 GHz
8 x 1.6 GHz

7 GB
14 GB

1,000 GB
2,040 GB

High
High

$0.48
$0.96

Benefits of Cloud Computing


BUSINESS DEMANDS TECHOLOGY DEMANDS WINDOWS AZURE PLATFORM OFFERS
Cost-effective solution to manage IT resources Less infrastructure to buy/configure and support Lower TCO Predictable cost

Lower costs

Efficiency

Stay Competitive

Innovation

Focus on delivering compelling software not on managing infrastructure Monetize new offering quickly without investment in billing and other enablement technologies. Speed of development Interoperability Leverage existing IP Simplified deployment Scale up or down as business needs change Go to market faster Reliable service SLAs Security Global data centers

Generate New Revenue Quickly

Agility

Reduced Risk

Reliability

Service Delivery Models


Infrastructure
(as a Service) Applications You manage Data Runtime Middleware O/S Virtualization Servers Storage Networking Managed by vendor

(On-Premise) Applications Data Runtime

(as a Service)

Platform

(as a Service) Applications Data Runtime Middleware O/S Virtualization Servers Storage Networking Managed by vendor Managed by vendor

Software

You manage

Applications Data Runtime Middleware O/S Virtualization Servers Storage Networking

You manage

Middleware O/S Virtualization Servers Storage Networking

PHP in Windows Azure


Web Role and IIS/FastCGI with Native Runtime
Service Instance

index.php

php -cgi

FastCGI IIS

Web Role Service Instance


SQL Database

bind port(x) http://instance:y http://instance:x

Service Bus

Access Control

http://app:80

Load Balancer

Fabric Controller

Table Storage

Blob Storage

Queue

Java and Tomcat in Windows Azure


Worker Role and Sub-Process Invoking Native Code
Service Instance
listen port(x)

index.jsp

JVM

Catalina

server.xml Sub-Process

Tomcat

new Process()

RoleEntry Point

bind port(x)
get runtime info

Worker Role Service Instance

http://instance:y

http://instance:x

SQL Database

Service Bus

Access Control

http://app:80

Load Balancer

Fabric Controller

Table Storage

Blob Storage

Queue