Вы находитесь на странице: 1из 30
BUILDING MULTI-TIER WEB APPLICATIONS IN VIRTUAL ENVIRONMENTS

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

OUTLINE  Virtualization  Cloud Computing  Microsoft Azure Platform  Multi-tier Architecture  Deployment –

VIRTUALIZATION

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

VIRTUALIZATION  Multiple virtual servers run on a host hardware (a server, a server farm or

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

HYPERVISORS Hypervisors are virtual machine managers (VMM), they are the OS of the OS. Two types

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.

TYPE 2 HYPERVISORS  Host OS based: a VM runs as an application on the host

VIRTUALIZATION: TYPE 2 HYPERVISOR

Guest Guest OS OS

VM VM

Hypervisor Hypervisor

Host Host OS OS

Hardware Hardware

Host Host

Apps Apps

VIRTUALIZATION: TYPE 2 HYPERVISOR Guest Guest OS OS VM VM Hypervisor Hypervisor Host Host OS 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: TYPE 1  Directly runs on the host hardware (bare metal).  Faster, removed one

VIRTUALIZATION

OS1 OS1

OS2 OS2

… …

OS40 OS40

VM1 VM1

VM2 VM2

… …

VM40 VM40

Hypervisor Hypervisor

Hardware Hardware

VIRTUALIZATION OS1 OS1 OS2 OS2 … … OS40 OS40 VM1 VM1 VM2 VM2 … … VM40

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.

VIRTUALIZATION ADVANTAGES  Cost-effective  Less hardware and require less space.  Reduce power consumption. 

CLOUD COMPUTING

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  Computing technology and infrastructure offered by vendors on demand .  Based on

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

CLOUD COMPUTING  Services offered as  Software as a Service ( SaaS )  Webhttp://en.wikipedia.org/wiki/File:Cloud_computing.svg " id="pdf-obj-12-34" src="pdf-obj-12-34.jpg">

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

WHY CLOUD COMPUTING?  Virtualization benefits  Cost-effective, reliable, flexible and portable  No hardware requirements

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

CLOUD VENDORS  Microsoft Azure Platform  Windows Azure Compute and Storage  SQL Azure 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 " id="pdf-obj-14-32" src="pdf-obj-14-32.jpg">

MICROSOFT AZURE PLATFORM

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 PLATFORM  Provides developers with on-demand compute, storage, networking and content delivery capabilities to

MICROSOFT AZURE COMPONENTS

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 COMPUTE  Windows environment for running applications  Windows Server 2008R2  Platform as

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>

WINDOWS AZURE STORAGE  Handles large data  10TB  Highly scalable  Replicated and maintains

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

FABRIC CONTROLLER  Part of Windows Azure  Applications are designed to run on multiple VMs

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

SQL AZURE  Cloud based database service  Relational database  Reporting capabilities  Data Sync

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

WINDOWS AZURE APPFABRIC  Provides middleware platform  Caching  Improves performance  Distributed in-memory application

WEB APP ON THE CLOUD

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

WEB APP ON THE CLOUD  Three-tier Architecture (4->3, WebServer/WebClient combined)  Azure three-tier design 

THREE-TIER SYSTEM ARCHITECTURE

THREE-TIER SYSTEM ARCHITECTURE

CLOUD APPLICATION DESIGN

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

WEB ROLES  Hosts PhotoGallery Cloud Application  Pre-configured IIS  Use http or https endpoints

IMAGES AND DATA STORAGE

Blob Storage

Stores product images and thumbnails

SQL Azure

Stores product and customer information Has URL to product images

IMAGES AND DATA STORAGE  Blob Storage  Stores product images and thumbnails  SQL Azure

SUMMARY

Virtualization

VMs on Host Hardware Type 1: native Type 2: hosted

Cloud Computing

IaaS PaaS SaaS On-demand Pay per use

SUMMARY  Virtualization  VMs on Host Hardware  Type 1: native  Type 2: hosted