1、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
2、 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,Hyp
3、ervisors,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
4、for Mac, VirtualBox. Slow, three-layers of OS: host OS, hypervisor, guest OS.,Virtualization: Type 2 Hypervisor,Host OS,Hardware,VM,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 VM
5、ware ESX Citrixs Xen,Virtualization,Hypervisor,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
6、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,
7、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) Amazons Elastic Compute Cloud, Microsoft Azure VM role instance http:/en.wikipedia.org/wiki/File:Cloud_computing.svg,Why Cloud
8、 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 perfo
9、rmance computing Add resources on-demand, scalable,Cloud Vendors,Microsoft Azure Platform Windows Azure Compute and Storage SQL Azure Windows Azure AppFabric https:/ Amazon Elastic Compute Cloud Simple Storage Service Relational Database Service Elastic Load Balancing https:/ Computing,http:/ http:/
10、 http:/ http:/ 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,
11、Asia, available in 40 countries An operating system for the Web? Supports .NET, Java, PHP, Ruby 3 Month Free: http:/ 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
12、 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:/ Tables http:/ Queues http:/ Controller,Part of
13、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 d
14、atabase 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
15、 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 Commu
16、nicate 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 Applicati
17、on Pre-configured IIS Use http or https endpoints Exposed to outside world Processes http page requests Can communicate with worker rolesHighly 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,