building multi-tier web applications in virtual environments

Post on 25-Feb-2016

71 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

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

HYPERVISORSHypervisors 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

Host OS

Hardware

Hypervisor Host AppsVM

Guest OS

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 Citrix’s Xen

VIRTUALIZATION

Hypervisor

Hardware

V M1 V M2 … V M 4 0

O S 1 O S 2 … O S 4 0

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 as a Service (SaaS) Web services, Google Apps

Platform as a Service (PaaS) Microsoft Azure, Google App Engine

Infrastructure as a Service (IaaS) Amazon’s Elastic Compute Cloud, Microsoft Azure VM role

instance http://en.wikipedia.org/wiki/File:Cloud_computing.s

vg

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?regio

n=us-east-1

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

Storage (Data)

Fabric Controller

SQL Azure

Windows Azure AppFabric

Windows Azure Marketplace

Compute (Applications)

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

Azure Compute

Web Role Instance

Worker Role Instance

VM Role Instance

Load Balancer

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>

Azure Storage

Blobs

Tables

Queues

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

Presentation/Client Tier

Database

Application/ Business Logic Tier

Traditional three-tier architecture

Presentation/Client Tier

Azure SQL Database

Web Role (At least two instances) / Worker Role

Three-tier architecture (Azure Cloud)

Azure Storage

CLOUD APPLICATION DESIGN

Web Role Instance 2

PhotoGallery Application

Azure Blob Storage for storing images Web Role

Instance 1

Load Balancer

Azure SQL Database for storing customer and product data

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

top related