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