B M- W

vanillaoliveInternet και Εφαρμογές Web

3 Νοε 2013 (πριν από 4 χρόνια και 1 μήνα)

76 εμφανίσεις

B
UILDING

M
ULTI
-
TIER

W
EB

A
PPLICATIONS

IN

V
IRTUAL

E
NVIRONMENTS

O
UTLINE


Virtualization


Cloud Computing


Microsoft Azure Platform


Multi
-
tier Architecture


Deployment


Azure, Amazon EC2,
UAkron

CS VMs


V
IRTUALIZATION


V
IRTUALIZATION


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


H
YPERVISORS

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



T
YPE

2 H
YPERVISORS


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.

V
IRTUALIZATION
:
T
YPE

2 H
YPERVISOR

H
ost OS

Hardware

Hypervisor

Host Apps

VM

Guest OS

V
IRTUALIZATION
:
T
YPE

1



D
irectly 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

V
IRTUALIZATION

Hypervisor

Hardware


V
M
1


V
M
2




V
M
4
0


O
S
1


O
S
2




O
S
4
0

V
IRTUALIZATION

A
DVANTAGES


Cost
-
effective


Less hardware and require less space.


R
educe power consumption.


Reduced server maintenance.


Maximum resource utilization


Flexibility


VMs are independent of each
other.


Reconfigured, removed and restored easily.


Highly available.


C
LOUD

C
OMPUTING


C
LOUD

C
OMPUTING


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


N
o up
-
front cost


No commitment

C
LOUD

C
OMPUTING


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


W
HY

C
LOUD

C
OMPUTING
?


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

C
LOUD

V
ENDORS


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
-
east
-
1

C
LOUD

C
OMPUTING


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

M
ICROSOFT

A
ZURE

P
LATFORM

M
ICROSOFT

A
ZURE

P
LATFORM


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/

M
ICROSOFT

A
ZURE

C
OMPONENTS









Windows Azure



Storage (Data)



Fabric Controller

SQL Azure


Windows Azure AppFabric


Windows Azure Marketplace

Compute
(Applications)

W
INDOWS

A
ZURE

C
OMPUTE


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

Bala
ncer

W
INDOWS

A
ZURE

S
TORAGE


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

F
ABRIC

C
ONTROLLER


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


S
QL

A
ZURE


Cloud based database service


R
elational 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

W
INDOWS

A
ZURE

A
PP
F
ABRIC


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




W
EB

A
PP

ON

THE

CLOUD


Three
-
tier Architecture


(4
-
>3,
WebServer
/
WebClient

combined)


Azure three
-
tier design


PhotoGallery

Application


Deployment on Microsoft Azure



T
HREE
-
T
IER

S
YSTEM

A
RCHITECTURE




















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

C
LOUD

A
PPLICATION

D
ESIGN





















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

W
EB

R
OLES


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


I
MAGES

AND

D
ATA

S
TORAGE


Blob Storage


Stores product images and thumbnails


SQL Azure


Stores product and customer information


Has URL to product images


S
UMMARY


Virtualization


VMs on Host Hardware


Type 1: native


Type 2: hosted


Cloud Computing


IaaS


PaaS


SaaS


On
-
demand


Pay per use