210 likes | 365 Views
Cloud Application Architecture. Supervisor: Hadi Salimi h.salimi@Gmail.com Presenter: Abdollah Ebrahimi m.abdollah.ebrahimi@Gmail.com Mazandaran University Of Science & Technology. January, 2011. Outline. Sample Architectures: Amazon and SalesForce. What is software architectre ?.
E N D
Cloud Application Architecture • Supervisor: Hadi Salimi • h.salimi@Gmail.com Presenter: AbdollahEbrahimi • m.abdollah.ebrahimi@Gmail.com • Mazandaran University Of Science & Technology • January, 2011
Outline Sample Architectures: Amazon and SalesForce • What is software architectre? • Characteristics of a cloud service • The problems with traditional applications • What are Cloud Architectures? • Architectural Considerations of Cloud Applications Cloud Application Architecture
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
Characteristics of a cloud service Zero capital expenditure is necessary to get started. • The service is accessible via a web browser or web services API. Cloud Application Architecture
Characteristics of a cloud service(cont.) • You pay only for what you use as you use it. Cloud Application Architecture
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
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
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
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
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
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
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
Architectural Considerations of Cloud Applications • Scale • Start Simple • Split application functions and couple loosely Cloud Application Architecture
Architectural Considerations of Cloud Applications(cont.) • Scale • Network communication • Consider the cluster Cloud Application Architecture
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
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
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
Sample Architecture: Amazon Cloud Application Architecture
Sample Architecture: SalesForece.com Cloud Application Architecture
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-an-application-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_ArchitectureForCloudComputing.pdf,Application Architecture for Cloud Computing. Cloud Application Architecture
Questions? Cloud Application Architecture