Cloud Computing

advertisement
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 OS
VM
Hypervisor
Host Apps
Host OS
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
 Citrix’s Xen

VIRTUALIZATION
OS 1
OS 2
…
OS 4 0
VM 1
VM 2
…
VM 4 0
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 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)


Platform as a Service (PaaS)


Microsoft Azure, Google App Engine
Infrastructure as a Service (IaaS)


Web services, Google Apps
Amazon’s 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=useast-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
Compute
(Applications)
Storage (Data)
SQL Azure
Windows Azure AppFabric
Fabric Controller
Windows Azure Marketplace
Windows Azure
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
Web Role Instance
Load
Balancer
Worker Role
Instance
VM Role Instance
Azure Compute
WINDOWS AZURE STORAGE

Handles large data



10TB
Highly scalable
Replicated and maintains
multiple copies
Fault tolerant
 Highly available



Blobs
Tables
Queues
Azure Storage
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
Presentation/Client Tier
Application/ Business Logic Tier
Database
Traditional three-tier architecture
Presentation/Client Tier
Web Role
(At least two instances)
/ Worker Role
Azure SQL Database
Three-tier architecture
(Azure Cloud)
Azure
Storage
CLOUD APPLICATION DESIGN
Web Role
Instance 1
Load
Balancer
Web Role
Instance 2
Azure Blob Storage
for storing images
Azure SQL Database for storing
customer and product data
PhotoGallery Application
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
Download