Microsoft Cloud Computing
description
Transcript of Microsoft Cloud Computing
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
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
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 role3. 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 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
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
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
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
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
(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
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
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