resource - IUST Personal Webpages

Download Report

Transcript resource - IUST Personal Webpages

Supervisor:
Hadi Salimi
[email protected]
Presenter:
Abdollah Ebrahimi
[email protected]
Mazandaran University Of Science & Technology
January, 2011
Outline
•What is software architectre?
•Characteristics of a cloud service
•The problems with traditional applications
•What are Cloud Architectures?
•Architectural Considerations of Cloud Applications
•Sample Architectures: Amazon and SalesForce
Cloud Application Architecture
2/20
What is software architectre?
A system architecture
defines the basic "structure"
of the system
High-level modules comprising the
major functions of the system.
Management and distribution of
data.
The kind and style of system user
interface.
what platform(s) will the system run
on.
Cloud Application Architecture
3/20
Characteristics of a cloud service
The service is accessible via a web browser or web services API.
Zero capital expenditure is necessary to get started.
Cloud Application Architecture
4/20
Characteristics of a cloud service(cont.)
You pay only for what you use as you use it.
Cloud Application Architecture
5/20
The problems with traditional
applications
Difficult to get as many machines as an application needs.
Difficult to distribute and coordinate a large-scale job on
different machines.
Cloud Application Architecture
6/20
The problems with traditional
applications(cont.)
Difficult to provision another machine to recover if one machine fails.
Difficult to autoscale up and down based on
dynamic workloads.
Difficult to get rid of all those machines
when the job is done.
Cloud Application Architecture
7/20
What are Cloud Architectures?
Designs of software applications that
Use Internet-accessible on-demand services.
The underlying computing infrastructure is used only when it is needed
Draw the necessary resources on-demand (like compute servers or storage)
Relinquish the unneeded resources and often dispose themselves after the
job is done.
Scales up or down elastically based on resource needs.
Cloud Application Architecture
8/20
Examples of cloud Applications
Processing Pipelines
Document processing pipelines
Image processing pipelines
Video transcoding pipelines
Indexing
Data mining
Batch Processing Systems
Back-office applications (in financial, insurance or retail sectors)
Automated Unit Testing and Deployment Testing.
Nightly builds
Log analysis
Cloud Application Architecture
9/20
Examples of cloud Applications(cont.)
Websites
Websites that “sleep” at night and auto-scale during the day
“Seasonal Websites” - websites that only run
during the tax season or the holiday season(Christmas)
Instant Websites – websites for conferences or events (Super Bowl, sports
tournaments)
Cloud Application Architecture
10/20
Cloud environments differ
Design your application appropriately for the particular
environment
 Amazon?
Microsoft Azure?
 Google APP?
 SalesForce?
Different mechanisms to implement applications
(EC2), for instance, delivers empty virtual machines(VMs)
Google and Microsoft provide programming
frameworks that transparently scale
Cloud Application Architecture
11/24
Types of cloud applications
Traditional apps in the cloud
These applications follow an enterprise architecture model and are
designed to meet roughly stable demand.
Synchronous cloud applications
Large numbers of users may hit the system in a short duration
Provide enough Web servers to handle total traffic.
provide enough middleware to manage demand.
Provide a data tier that scales.
Asynchronous cloud applications
these applications do not support end-user interaction
but rather work on a set of data and experience transitory loads
(such as once-a-month reporting or a onetime processing request).
Cloud Application Architecture
12/20
Architectural Considerations of Cloud
Applications
Scale
Start Simple
Split application functions and couple loosely
Cloud Application Architecture
13/20
Architectural Considerations of Cloud
Applications(cont.)
Scale
Network communication
Consider the cluster
Cloud Application Architecture
14/20
Architectural Considerations of Cloud
Applications(Cont.)
Fail
Build-in resiliency and fault tolerance
Distribute the impact of failure
Get back up quickly
Data considerations
Test your “doomsday” scenario
Be aware of the real cost of failure
Cloud Application Architecture
15/20
Considerations to provide a data
tier that easily scales
plan your data approach to minimize trips to the database and
prevent subsequent calls to the database.
set up a caching mechanism between the database itself and
the middle tier.
 consider more sophisticated database uses. You can use
replication technology to run multiple copies of a database and
keep databases consistent.
minimize use of relational database technology and create a
file-based data storage mechanism.
Cloud Application Architecture
16/20
Managing resources in cloud
Framework cloud systems (e.g., Microsoft Azure and
Google Apps) take care of these tasks for you. They feature
a monitoring mechanism that views system load and
spawns new instances as required.
 An infrastructure-based system like Amazon provides
Web service calls that can be used to start or stop
individual instances.
Cloud Application Architecture
17/20
Sample Architecture: Amazon
Cloud Application Architecture
18/20
Sample Architecture: SalesForece.com
Cloud Application Architecture
19/20
References
Reese, G. (2009). Cloud application architectures: building applications and
infrastructure in the cloud, O'Reilly Media, Inc.
http://searchcloudcomputing.techtarget.com/news/1355051/Choosing-anapplication-architecture-for-the-cloud, Bernard Golden,Choosing an
application architecture for the cloud, 2009.
Varia, J. (2008). "Cloud architectures." White Paper of Amazon, jineshvaria.
s3. amazonaws. com/public/cloudarchitectures-varia. pdf.
http://www.rpath.com/corp/images/stories/white_papers/WP_ArchitectureF
orCloudComputing.pdf,Application Architecture for Cloud Computing.
Cloud Application Architecture
20/20
Questions?
Cloud Application Architecture
21/20