Cloud Computing
Download
Report
Transcript Cloud Computing
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