Microsoft Cloud Computing

16
Microsoft Cloud Computing

description

Microsoft Cloud Computing. Topics to be covered. Environmental Features of windows azure What is Cloud Computing Roles in Cloud Computing Benefits of Cloud Computing Optimal Cloud workload Pattern Service Delivery Models Azure Architecture (Intro) .Net in Windows Azure - PowerPoint PPT Presentation

Transcript of Microsoft Cloud Computing

Page 1: Microsoft Cloud  Computing

Microsoft Cloud Computing

Page 2: Microsoft Cloud  Computing

Topics to be covered1. Environmental Features of windows azure2. What is Cloud Computing3. Roles in Cloud Computing4. Benefits of Cloud Computing5. Optimal Cloud workload Pattern6. Service Delivery Models7. Azure Architecture (Intro)

1. .Net in Windows Azure2. PHP in Windows Azure3. JAVA and Tomcat in Windows Azure

8. Cloud Application Development and Hosting

Page 3: Microsoft Cloud  Computing

Environmental Features of windows azure

Compute – instance types: Web Role & Worker Role. Windows Azure applications are built with web role instances, worker role instances, or a combination of both.

Each instance runs on its own VM (virtual machine), replicated as needed

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.

• 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 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

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

Operating system as an online service; with automated provisioning and services management

Maintenance OS

Host VMGuest VM

1Host VM

Guest VM 3Guest VM 2Guest VM 1

Host VM

Page 4: Microsoft Cloud  Computing

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

Page 5: Microsoft Cloud  Computing

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 role3. Virtual Machine (VM) role.

Page 6: Microsoft Cloud  Computing

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.

Page 7: Microsoft Cloud  Computing

.NET in Windows AzureWeb Role and Worker Role

Service Instance

Service InstanceWorker RoleWeb Role

Fabric Controller

Load Balancer

TableStorage

BlobStorage Queue

ServiceBus

Access Control

SQL Database

bind port(x)

http://instance:x

http://instance:y

http://app:80

default.aspx

IIS RoleEntry Point

Page 8: Microsoft Cloud  Computing

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

Page 9: Microsoft Cloud  Computing

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.

Page 10: Microsoft Cloud  Computing

Optimal Cloud Workload Patterns

Usage

Com

put

e

Time

Average

InactivityPeriod

“On and Off “

• On and off workloads (e.g. batch job)• Over provisioned capacity is wasted • Time to market can be cumbersome

Com

put

e

Time

“Unpredictable Bursting“

Average Usage

• Unexpected/unplanned peak in demand • Sudden spike impacts performance • Can’t over provision for extreme cases

Average UsageCom

put

e

Time

“Growing Fast“

• Successful services needs to grow/scale • Keeping up w/growth is big IT challenge • Complex lead time for deployment

Com

put

e Time

Average Usage

“Predictable Bursting“

• Services with micro seasonality trends • Peaks due to periodic increased demand• IT complexity and wasted capacity

Page 11: Microsoft Cloud  Computing

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.

Page 12: Microsoft Cloud  Computing

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

Page 13: Microsoft Cloud  Computing

Benefits of Cloud Computing

BUSINESSDEMANDS

TECHOLOGYDEMANDS

WINDOWS AZURE PLATFORM OFFERS

• Cost-effective solution to manage IT resources

• Less infrastructure to buy/configure and support

• Lower TCO• Predictable cost

• 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

Lower costs Efficiency

Stay Competitive

Innovation

AgilityGenerate New

Revenue Quickly

ReliabilityReducedRisk

Page 14: Microsoft Cloud  Computing

(On-Premise)

Infrastructure

(as a Service)

Platform

(as a Service)

Service Delivery Models

Storage

Servers

Networking

O/S

Middleware

Virtualization

Data

Applications

Runtime

Storage

Servers

Networking

O/S

Middleware

Virtualization

Data

Applications

Runtime

You

man

age

Managed by vendor

Managed by vendor

You

man

age

You

man

age

Storage

Servers

Networking

O/S

Middleware

Virtualization

Applications

Runtime

Data

Software

(as a Service)

Managed by vendor

Storage

Servers

Networking

O/S

Middleware

Virtualization

Applications

Runtime

Data

Page 15: Microsoft Cloud  Computing

Service Instance

Service Instance

Web Role

PHP in Windows Azure

Fabric Controller

Load Balancer

TableStorage

BlobStorage Queue

ServiceBus

Access Control

SQL Database

bind port(x)

http://instance:x

http://instance:y

http://app:80

index.php

Web Role and IIS/FastCGI with Native Runtime

php-cgi

IIS

FastCGI

Page 16: Microsoft Cloud  Computing

Service Instance

Service Instance

Worker Role

Java and Tomcat in Windows Azure

RoleEntry Point

Sub-Process

JVMTomcat

server.xmlCatalina

Fabric Controller

Load Balancer

TableStorage

BlobStorage Queue

ServiceBus

Access Control

SQL Database

new Process()

bind port(x)

http://instance:x

http://instance:y

listen port(x)

http://app:80

getruntimeinfo

index.jsp

Worker Role and Sub-Process Invoking Native Code