KEMBAR78
Building Multi-Tier Web Applications in Virtual Environments | PDF | Virtual Machine | Cloud Computing
100% found this document useful (1 vote)
123 views30 pages

Building Multi-Tier Web Applications in Virtual Environments

Virtualization allows multiple virtual servers to run on host hardware by dividing resources. Cloud computing offers on-demand computing resources through a pay-per-use model without upfront costs. The Microsoft Azure platform provides infrastructure and platform services in the cloud, including compute, storage, SQL databases, and an app fabric. A photo gallery application is designed in a three-tier architecture on Azure with web roles hosting the front-end, blob storage for images, and SQL Azure for product data.

Uploaded by

ssregens82
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
123 views30 pages

Building Multi-Tier Web Applications in Virtual Environments

Virtualization allows multiple virtual servers to run on host hardware by dividing resources. Cloud computing offers on-demand computing resources through a pay-per-use model without upfront costs. The Microsoft Azure platform provides infrastructure and platform services in the cloud, including compute, storage, SQL databases, and an app fabric. A photo gallery application is designed in a three-tier architecture on Azure with web roles hosting the front-end, blob storage for images, and SQL Azure for product data.

Uploaded by

ssregens82
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 30

BUILDING MULTI-TIER WEB

APPLICATIONS IN VIRTUAL
ENVIRONMENTS

OUTLINE
Virtualization
Cloud Computing
Microsoft Azure Platform
Multi-tier Architecture
Deployment Azure, Amazon EC2, UAkron CS VMs

VIRTUALIZATION

VIRTUALIZATION

Multiple virtual servers run on a host hardware (a


server, a server farm or a data center).
Share hardware by dividing resources (CPUs,
RAM, hard disks, network).
A Virtual Machine (VM) is an isolated software
container which runs its own operating systems and
applications behaving like a physical computer.
VMs reside on hypervisors which give direct access
to the hardware

HYPERVISORS
Hypervisors are virtual machine managers (VMM), they
are the OS of the OS.
Two types of hypervisors:
Type 1: native (bare metal), run directly on host hardware.
Type 2: hosted, run on a host OS

TYPE 2 HYPERVISORS

Host OS based: a VM runs as an


application on the host OS.
Examples: Parallels for Mac, VirtualBox.
Slow, three-layers of OS: host OS,
hypervisor, guest OS.

VIRTUALIZATION: TYPE 2
HYPERVISOR
Guest
Guest OS
OS
VM
VM
Hypervisor
Hypervisor

Host
Host Apps
Apps
Host
Host OS
OS
Hardware
Hardware

VIRTUALIZATION: TYPE 1
Directly runs on the host hardware (bare metal).
Faster, removed one layer of OS (the host OS).
Type 1 hypervisors:

Microsoft Hyper-V
VMware ESX
Citrixs Xen

VIRTUALIZATION

OS1
OS1

OS2
OS2

OS40
OS40

VM1
VM1

VM2
VM2

VM40
VM40

Hypervisor
Hypervisor
Hardware
Hardware

VIRTUALIZATION ADVANTAGES

Cost-effective
Less

hardware and require less space.


Reduce power consumption.
Reduced server maintenance.

Maximum resource utilization


Flexibility

VMs

are independent of each other.


Reconfigured, removed and restored easily.
Highly available.

CLOUD COMPUTING

CLOUD COMPUTING
Computing technology and infrastructure offered by
vendors on demand.
Based on virtualization techniques, hence offers the
benefits of virtualization
Services consumed based on pay per use model

No

up-front cost
No commitment

CLOUD COMPUTING

Services offered as
Software

Web services, Google Apps

Platform

as a Service (SaaS)

as a Service (PaaS)

Microsoft Azure, Google App Engine

Infrastructure

as a Service (IaaS)

Amazons Elastic Compute Cloud, Microsoft Azure VM role instance

http://en.wikipedia.org/wiki/File:Cloud_computing.svg

WHY CLOUD COMPUTING?

Virtualization benefits
Cost-effective,

reliable, flexible and portable

No hardware requirements
Vendor worry about software upgrades and
hardware failures

Highly

available

Application installed in the cloud - data centers


Access via internet browser
Large-capacity storage and high performance
computing
Add resources on-demand, scalable

CLOUD VENDORS

Microsoft Azure Platform


Windows

Azure Compute and Storage


SQL Azure
Windows Azure AppFabric
https://windows.azure.com/default.aspx

Amazon

Elastic

Compute Cloud
Simple Storage Service
Relational Database Service
Elastic Load Balancing
https://console.aws.amazon.com/ec2/home?region=us-e
ast-1

CLOUD COMPUTING
http://www.windowsazure.com
http://aws.amazon.com/ec2/
http://www.ibm.com/cloud-computing
http://www.google.com/apps/intl/en/business/
Salesforce.com
www.rackspace.com/Cloud

MICROSOFT AZURE PLATFORM

MICROSOFT AZURE PLATFORM


Provides developers with on-demand compute,
storage, networking and content delivery capabilities
to host, scale and manage Web applications on the
Internet through Microsoft data centers
Hosted in Microsoft data centers

North

America, Europe, Asia, available in 40 countries

An operating system for the Web?


Supports .NET, Java, PHP, Ruby
3 Month Free:
http://www.windowsazure.com/en-us/pricing/free-trial/

MICROSOFT AZURE COMPONENTS

WINDOWS AZURE COMPUTE

Windows environment for running applications


Windows

Server 2008R2

Platform as a Service
Web Role

Front

end
Pre-configured IIS
Host applications

Worker Role
No

IIS
Background processing
Windows services
Host WCF or Web Services

WINDOWS AZURE STORAGE

Handles large data


10TB

Highly scalable
Replicated and maintains
multiple copies

Fault

tolerant
Highly available

Secure
Storage Types

Blobs

http://<account>.blob.core.windows.net/<container>/<blobname>
Tables http://<account>.table.core.windows.net
Queues http://<account>.queue.core.windows.net/<QueueName>

FABRIC CONTROLLER
Part of Windows Azure
Applications are designed to run on multiple
VMs
Controls and manages virtual machines

Creates

new instance by allocating resources


Monitors instances
Switches from one instance to another
Hardware failure
Software crashes
No downtime

SQL AZURE

Cloud based database service


Relational

database
Reporting capabilities
Data Sync services

Built on Microsoft SQL Server


Similar to SQL Server 2008

Web

interface to manage the database

Supported T-SQL features


Tables,

views, joins, constraints, indexes, triggers,


DDL, DML queries
Stored procedures, user defined function
Supports SQL server authentication

WINDOWS AZURE APPFABRIC

Provides middleware platform


Caching

Improves performance
Distributed in-memory application cache
Session state management

Access

Control

Identity and access control to applications


Simplifies authentication and authorization

Service

Bus

Secure messaging
Communicate between distributed applications

WEB APP ON THE CLOUD


Three-tier Architecture
(4->3, WebServer/WebClient combined)
Azure three-tier design
PhotoGallery Application
Deployment on Microsoft Azure

THREE-TIER SYSTEM ARCHITECTURE

CLOUD APPLICATION DESIGN

WEB ROLES

Hosts PhotoGallery Cloud Application


Pre-configured

IIS
Use http or https endpoints
Exposed to outside world
Processes http page requests
Can communicate with worker roles

Highly scalable and load balanced automatically


Configure

number of instances and VM size

IMAGES AND DATA STORAGE

Blob Storage
Stores

product images and thumbnails

SQL Azure
Stores

product and customer information


Has URL to product images

SUMMARY

Virtualization
VMs

on Host Hardware
Type 1: native
Type 2: hosted

Cloud Computing
IaaS

PaaS
SaaS

On-demand
Pay

per use

You might also like