OUTLINE
Virtualization Cloud Computing Microsoft Azure Platform Multi-tier Architecture Deployment – Azure, Amazon EC2, UAkron CS
VMs
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 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 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 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.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?regio
n=us-east-1
CLOUD COMPUTING
http://www.windowsazure.comhttp://aws.amazon.com/ec2/http://www.ibm.com/cloud-computinghttp://www.google.com/apps/intl/en/business/
Salesforce.comwww.rackspace.com/Cloud
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