SlideShare a Scribd company logo
1 of 7
Download to read offline
W hi t e PA P e R




Application Architecture for Cloud Computing
W hi t e PA P e R




                                                                         Application Architecture for Cloud Computing



                              introduction
                              Cloud computing is a relatively new way of referring to the use of shared computing resources,
                              and it is an alternative to having local servers handle applications. Cloud computing groups
                              together large numbers of compute servers and other resources and typically offers their
                              combined capacity on an on-demand, pay-per-cycle basis. The end users of a cloud computing
                              network usually have no idea where the servers are physically located—they just spin up their
                              application and start working.

    CONTRIBUTORS              Cloud computing is fully enabled by virtualization technology (hypervisors) and virtual
                              appliances. A virtual appliance is an application that is bundled with all the components that it
                              needs to run, along with a streamlined operating system. In a cloud computing environment, a
                              virtual appliance can be instantly provisioned and decommissioned as needed, without com-
                              plex configuration of the operating environment.
Jeff Barr, Evangelist
                              This flexibility is the key advantage to cloud computing, and what distinguishes it from other
                              forms of grid or utility computing and software as a service (SaaS). The ability to launch new
                              instances of an application with minimal labor and expense allows application providers to:

                              •   Scale up and down rapidly
Thorsten von Eicken,          •   Recover from a failure
CTO and Founder               •   Bring up development or test instances
                              •   Roll out new versions to the customer base
                              •   Efficiently load test an application

                              Once you’ve decided to offer your application in a cloud computing environment, it is important
                              to avoid the “success disaster”. This is when your application becomes popular overnight, so
Erik Troan, CTO               much so that it crashes under the unanticipated load. In this paper, we’ll discuss how you can
and Founder                   design your application for the cloud from the outset to take maximum advantage of the cloud
                              environment.

                              If you haven’t yet decided to offer your application in the cloud, now is the time. Cloud comput-
                              ing is not yesterday’s fad; it is today’s reality. Your competition is likely already working on their
                              cloud application, allowing them to deploy faster, better and cheaper than you.

                              the economics of the Cloud
                              Before we delve into how to architect an application for a cloud computing environment, we
                              should explain why it is financially advantageous to do so.

                              The first clear advantage of using an existing cloud infrastructure is that you don’t have to
                              make the capital investment yourself. Rather than expending the time and cost to build a data
                              center, you use someone else’s investment and turn what would have been a massive capital
                              outlay into a manageable variable cost.




                        www.rpath.com	     	        														   	    	       																																																																																								2
W hi t e PA P e R




                                                Application Architecture for Cloud Computing



      In the pay-per-cycle model of cloud computing, you can start small and requisition more com-
      puter time as your business grows. This makes starting up inexpensive, and gives you time to
      build your on-demand business before investing in additional capacity. Instead of investing
      ahead of demand, you simply use and pay for exactly what you need when you need it.

      Development time can also be a significant cost in creating an on-demand application environ-
      ment. If you adopt a SaaS model, your entire application must be re-architected to support
      multi-tenancy. With cloud computing, the cost of a machine year in the Amazon EC2 cloud
      (~$880 annually) is much less than the cost of a fully-loaded developer (anywhere from
      $400-$1000 per day). This makes it a lot less expensive to scale up more virtual servers in the
      cloud than it is to spend even one day on development.

      Finally, you can save money by designing your application with a simpler architecture ideal for
      cloud computing, which we’ll spend the rest of this paper discussing. A simpler architecture
      speeds time to market because it is easier to test, and you can eliminate some of the equip-
      ment and processes required to migrate an application from development into production.
      All the activities involved with development, test, QA and production can exist side-by-side in
      separate instances running in the cloud.

      Architectural Considerations
      Designing an application to run as a virtual appliance in a cloud computing environment is very
      different than designing it for an on-premise or SaaS deployment. We discuss the following
      considerations. To be successful in the cloud, your application must be designed to scale eas-
      ily, tolerate failures and include management tools.

      Scale
      Cloud computing offers the potential for nearly unlimited scalability, as long as the application
      is designed to scale from the outset. The best way to ensure this is to follow some basic ap-
      plication design guidelines:

      Start simple: Avoid complex design and performance enhancements or optimizations in favor
      of simplicity. It’s a good idea to start with the simplest application and rely on the scalability
      of the cloud to provide enough servers to ensure good application performance. Once you’ve
      gotten some traction and demand has grown, then you can focus on improving the efficiency
      of your application, which allows you to serve more users with the same number of servers
      or to reduce the number of servers while maintaining performance. Some common design
      techniques to improve performance include caching, server affinity, multi-threading and tight
      sharing of data, but they all make it more difficult to distribute your application across many
      servers. This is the reason you don’t want to introduce them at the outset and only consider
      them when you need to and can ensure that you are not breaking horizontal scalability.

      Split application functions and couple loosely: Use separate systems for different pieces of ap-
      plication functionality and avoid synchronous connections between them. Again, as demand
      grows, you can scale each one independently instead of having to scale the entire application
      when you hit a bottleneck. The separation and reusability of functions inherent in SOA make it
      an ideal architecture for the cloud.



www.rpath.com	   	         														   	    	       																																																																																								3
W hi t e PA P e R




                                                Application Architecture for Cloud Computing



      Network communication: Design the application to use network-based interfaces and not in-
      terprocess communication or file-based communication paradigms. This allows you to effec-
      tively scale in the cloud because each piece of the application can be separated into distinct
      systems.

      Consider the cluster: Rather than scale a single system up to serve all users, consider splitting
      your system into multiple smaller clusters, each serving a fraction of the application load. This
      is often called “sharding” and many web services can be split up along one dimension, often
      users or account. Requests can then be directed to the appropriate cluster based on some
      request attribute or users can be redirected to a specific cluster at login. To deploy a clustered
      system, determine the right collection of servers that yield efficient application performance,
      taking any needed functional redundancy into account; for example, 2 web, 4 application and
      2 database servers. You can then scale the application by replicating the ideal cluster size and
      splitting the system load across the servers in the clusters.

      You’ll soon realize the advantages of cloud computing when it comes to scalability, such as:

      • Inexpensive testing - testing can be done against a test cluster without risking the perfor-
        mance or integrity of the production system. You can also test the upper limits of the ideal
        cluster’s performance by using “robot users” in the cloud to generate load.
      • Reduced risk - bring up a test instance of the cluster to prove a new code base, and roll out a

        new version one cluster at a time. Fall back to an older version if the new version doesn’t work,
        without disrupting current users.
      • Ability to segment the customer base – use clusters to separate customers with varying de-

        mands, such as a large customer who wants a private instance of the application, or one who
        requires extensive customizations.
      • Auto-scaling based on application load – with the ready availability of resources, applications

        can be built to recognize when they are reaching the limits of their current configuration and
        automatically bring up new resources.

      Fail
      Inevitably, an application will fail, no matter what its environment. When you design an on-
      premise or SaaS application, you typically consider several “doomsday” scenarios. The same
      must be true for designing an application that runs in the cloud.

      Build-in resiliency and fault tolerance: To tolerate failure, applications must operate as a part of
      a group, while not being too tightly coupled to their peers. Each piece of the application should
      be able to continue to execute despite the loss of other functions. Asynchronous interfaces are
      an ideal mechanism to help application components tolerate failures or momentary unavail-
      ability of other components.

      Distribute the impact of failure: With a distributed cloud application, a failure in any one ap-
      plication cluster affects only a portion of the application and not the whole application. By
      spreading the load across multiple clusters in the cloud, you can isolate the individual clusters
      against failure in another cluster.


www.rpath.com	   	         														   	    	       																																																																																								4
W hi t e PA P e R




                                               Application Architecture for Cloud Computing



      Get back up quickly: Automate the launching of new application clusters in order to recover
      quickly. Application components must be able to come up in an automated fashion, configure
      themselves and join the application cluster. Cloud computing provides the ideal environment
      for this fast startup and recovery process.

      Data considerations: When an application fails, data persistence and system state cannot be
      taken for granted. To ensure data preservation, put all data on persistent storage and make
      sure it is replicated and distributed. If system state is stored and then used in the recovery
      process, treat it like data so the system can be restarted from the point of failure.

      Test your “doomsday” scenario: Cloud computing makes it easy to bring up an instance of your
      application to test various failure scenarios. Because of the flexible nature of cloud computing,
      it is possible to simulate many different failure scenarios at a very reasonable cost. Single
      instances of a system can be taken off-line to see how the rest of the application will respond.
      Likewise, multiple recovery scenarios can be planned and executed ahead of any real produc-
      tion failure.

      Be aware of the real cost of failure: Of course the ideal situation is avoiding any application
      failure, but what is the cost to provide that assurance? A large internet company once said
      that they could tolerate failure as long as the impact was small enough as to not be notice-
      able to the overall customer base. This assertion came from an analysis of what it would cost
      to ensure seven nines of application uptime versus the impact of a failure on a portion of the
      customer base.

      Manage
      Deploying cloud applications as virtual appliances makes management significantly easier. The
      appliances should bring with them all of the software they need for their entire lifecycle in the
      cloud. More important, they should be built in a systematic way, akin to an assembly line pro-
      duction effort as opposed to a hand crafted approach. The reason for this systematic approach
      is the consistency of creating and re-creating images. We have shown how effectively scaling
      and failure recovery can be handled by rapid provisioning of new systems, but these benefits
      cannot be achieved if the images to be provisioned are not consistent and repeatable.

      When building appliances, it is obvious that they should contain the operating system and any
      middleware components they need. Less obvious are the software packages that allow them
      to automatically configure themselves, monitor and report their state back to a management
      system, and update themselves in an automated fashion. Automating the appliance configura-
      tion and updates means that as the application grows in the cloud, the management overhead
      does not grow in proportion. In this way appliances can live inside the cloud for any length of
      time with minimal management overhead.

      When appliances are instantiated in the cloud, they should also plug into a monitoring and
      management system. This system will allow you to track application instances running in the




www.rpath.com	   	        														   	    	       																																																																																								5
W hi t e PA P e R




                                                Application Architecture for Cloud Computing



      cloud, migrate or shutdown instances as needed, and gather logs and other system informa-
      tion necessary for troubleshooting or auditing. Without a management system to handle the
      virtual appliances, it is likely that the application will slowly sprawl across the cloud, wasting
      resources and money.

      Your management system also plays an important role in the testing and deployment process.
      We’ve already highlighted how the cloud can be used for everything from general testing to
      load testing to testing for specific failure scenarios. Including your testing in your manage-
      ment system allows you to bring up a test cluster, conduct any testing that is required and
      then migrate the tested application into production. The uniform resources that underlie the
      cloud mean that you can achieve a rapid release to production process, allowing you to deliver
      updated features and functions to your customers faster.

      Finally, by automating the creation and management of these appliances, you are tackling
      one of the most difficult and expensive problems in software today: variability. By producing a
      consistent appliance image and managing it effectively, you are removing variability from the
      release management and deployment process. Reducing the variability reduces the chances
      of mistakes – mistakes that can cost you money.

      The advantages of designing your application for management in the cloud include:

      • Reducing the cost and overhead of preparing the application for the cloud
      • Reducing the overhead of bringing up new instances of the application
      • Eliminating application sprawl

      • Reducing the chance for mistakes as the application is scaled out, failed over, upgraded, etc.



      Summary
      Cloud computing represents an exciting opportunity to bring on-demand applications to cus-
      tomers in an environment of reduced risk and enhanced reliability. However, it is important
      to understand that existing applications cannot just be unleashed on the cloud as is. Careful
      attention to design will help ensure a successful deployment.

      In particular, cloud-based applications should be deployed as virtual appliances so they con-
      tain all the components needed to operate, update and manage them. Simple design will aid
      with scalability as demand for the application increases. And, planning for failure will ensure
      that the worst doesn’t happen when the inevitable occurs.

      Don’t be afraid to have your head in the clouds when it comes to application deployment. Your
      customers will reap the benefits, and you’ll gain the competitive advantage of a flexible, scal-
      able application solution.




www.rpath.com	   	         														   	    	       																																																																																								6
W hi t e PA P e R




                                                                                                                                              Application Architecture for Cloud Computing



                                                                                                            1.206.266.1100
                                                                                                            aws.amazon.com

                                                                         Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable com-
                                                                         pute capacity in the cloud. It is designed to make web-scale computing easier for developers.
                                                                         Just as Amazon Simple Storage Service (Amazon S3) enables storage in the cloud, Amazon
                                                                         EC2 enables “compute” in the cloud. Amazon EC2’s simple web service interface allows you to
                                                                         obtain and configure capacity with minimal friction. It reduces the time required to obtain and
                                                                         boot new server instances to minutes, allowing you to quickly scale capacity as your comput-
                                                                         ing requirements change. Amazon EC2 changes the economics of computing by allowing you
                                                                         to pay only for capacity that you actually use.

                                                                                                            1.866.720.0208
                                                                                                            info@rightscale.com

                                                                         RightScale’s software as a service platform and expertise enable companies to create scalable
                                                                         web solutions on cloud computing services that are reliable, easy to manage, and cost less.
                                                                         RightScale provides a software platform on top of Amazon Web Services that lets software
                                                                         businesses harness the power of the on-demand, pay-as-you-go storage and computing ser-
                                                                         vices through automated management tools and packaged application solutions.

                                                                                                            1.866.508.6200
                                                                                                            info@rpath.com

                                                                         rBuilder® and the rPath® Lifecycle Management Platform™ automate the creation, configuration,
                                                                         management and maintenance of application images for virtualized and cloud computing
                                                                         environments. By producing application images that are optimized for any hypervisor,
                                                                         rPath frees the application from the underlying hardware, and enables a more efficient,
                                                                         lower cost model for development, deployment and support. rPath’s end-to-end technology
                                                                         simplifies the entire range of lifecycle management activities for application images, while
                                                                         promoting scalability in response to dynamic demand. rPath is headquartered in Raleigh, NC.




Corporate Headquarters:                                            +1 919.851.3984 Main                       info@rpath.com
701 Corporate Center Drive, Suite 450                              +1 866.508.6200 Sales                      www.rpath.com
Raleigh, NC 27607                                                  +1 919.851.3985 Fax


Copyright © 2008 rPath, Inc. All rights reserved. rPath, rBuilder, rPath Lifecycle Management Platform and the rPath logo are registered trademarks or trademarks of rPath, Inc. All other brands and product names are trademarks or registered trademarks of
their respective owners. Information supplied by rPath is believed to be accurate and reliable. rPath assumes no responsibility for any errors in this document. rPath reserves the right, without notice, to makes changes in product design or specifications.

More Related Content

What's hot

Cloud computing – An Overview
Cloud computing – An OverviewCloud computing – An Overview
Cloud computing – An OverviewKannan Subbiah
 
Cloud computing - dien toan dam may
Cloud computing - dien toan dam mayCloud computing - dien toan dam may
Cloud computing - dien toan dam mayNguyen Duong
 
Greg Dixon - 2011 ScanSource POS & Barcoding Partner Conference
Greg Dixon - 2011 ScanSource POS & Barcoding Partner ConferenceGreg Dixon - 2011 ScanSource POS & Barcoding Partner Conference
Greg Dixon - 2011 ScanSource POS & Barcoding Partner ConferenceScanSource, Inc.
 
Cloud 9: Nine Reasons to Take the Cloud Seriously_White Paper
Cloud 9: Nine Reasons to Take the Cloud Seriously_White PaperCloud 9: Nine Reasons to Take the Cloud Seriously_White Paper
Cloud 9: Nine Reasons to Take the Cloud Seriously_White PaperNewton Day Uploads
 
Cloud Computing: On the Air or Down to Earth - Beneficios para la Empresa
Cloud Computing: On the Air or Down to Earth - Beneficios para la EmpresaCloud Computing: On the Air or Down to Earth - Beneficios para la Empresa
Cloud Computing: On the Air or Down to Earth - Beneficios para la EmpresaSoftware Guru
 
Back that *aa s up – bridging multiple clouds for bursting and redundancy
Back that *aa s up – bridging multiple clouds for bursting and redundancyBack that *aa s up – bridging multiple clouds for bursting and redundancy
Back that *aa s up – bridging multiple clouds for bursting and redundancyRightScale
 
Pm440 Presentation Black Cloud
Pm440 Presentation Black CloudPm440 Presentation Black Cloud
Pm440 Presentation Black Cloudguesta946d0
 
The Future of Cloud is Hybrid over Distance
The Future of Cloud is Hybrid over DistanceThe Future of Cloud is Hybrid over Distance
The Future of Cloud is Hybrid over DistanceRackspace
 
An introduction to the cloud 11 v1
An introduction to the cloud 11 v1An introduction to the cloud 11 v1
An introduction to the cloud 11 v1charan7575
 
What is cloud computing
What is cloud computingWhat is cloud computing
What is cloud computingDan Morrill
 
AdvantageNFP CHASE 2013 Does Every Cloud Have a Silver Lining Presentation
AdvantageNFP CHASE 2013 Does Every Cloud Have a Silver Lining PresentationAdvantageNFP CHASE 2013 Does Every Cloud Have a Silver Lining Presentation
AdvantageNFP CHASE 2013 Does Every Cloud Have a Silver Lining PresentationRedbourn Business Systems
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud ComputingNAILBITER
 
Microsoft Cloud Computing E-Book
Microsoft Cloud Computing E-BookMicrosoft Cloud Computing E-Book
Microsoft Cloud Computing E-BookZAG Technical Services
 
cloud computing
cloud computingcloud computing
cloud computingKrishna Kumar
 
Workload migration on the cloud
Workload migration on the cloudWorkload migration on the cloud
Workload migration on the cloudAlex Amies
 
Cloud management
Cloud managementCloud management
Cloud managementsurbhi jha
 
SoftwareGuru 2009 - Cloud Computing
SoftwareGuru 2009 - Cloud ComputingSoftwareGuru 2009 - Cloud Computing
SoftwareGuru 2009 - Cloud ComputingJose Tam
 
Migration to Cloud - How difficult is it ? A sample migration scenario
Migration to Cloud - How difficult is it ? A sample migration scenarioMigration to Cloud - How difficult is it ? A sample migration scenario
Migration to Cloud - How difficult is it ? A sample migration scenarioSachin Agarwal
 
Cloud Computing Business Models
Cloud Computing Business ModelsCloud Computing Business Models
Cloud Computing Business ModelsMourad ZEROUKHI
 
HP Cloud Maps Customer Presentation
HP Cloud Maps Customer PresentationHP Cloud Maps Customer Presentation
HP Cloud Maps Customer PresentationRien du Pre
 

What's hot (20)

Cloud computing – An Overview
Cloud computing – An OverviewCloud computing – An Overview
Cloud computing – An Overview
 
Cloud computing - dien toan dam may
Cloud computing - dien toan dam mayCloud computing - dien toan dam may
Cloud computing - dien toan dam may
 
Greg Dixon - 2011 ScanSource POS & Barcoding Partner Conference
Greg Dixon - 2011 ScanSource POS & Barcoding Partner ConferenceGreg Dixon - 2011 ScanSource POS & Barcoding Partner Conference
Greg Dixon - 2011 ScanSource POS & Barcoding Partner Conference
 
Cloud 9: Nine Reasons to Take the Cloud Seriously_White Paper
Cloud 9: Nine Reasons to Take the Cloud Seriously_White PaperCloud 9: Nine Reasons to Take the Cloud Seriously_White Paper
Cloud 9: Nine Reasons to Take the Cloud Seriously_White Paper
 
Cloud Computing: On the Air or Down to Earth - Beneficios para la Empresa
Cloud Computing: On the Air or Down to Earth - Beneficios para la EmpresaCloud Computing: On the Air or Down to Earth - Beneficios para la Empresa
Cloud Computing: On the Air or Down to Earth - Beneficios para la Empresa
 
Back that *aa s up – bridging multiple clouds for bursting and redundancy
Back that *aa s up – bridging multiple clouds for bursting and redundancyBack that *aa s up – bridging multiple clouds for bursting and redundancy
Back that *aa s up – bridging multiple clouds for bursting and redundancy
 
Pm440 Presentation Black Cloud
Pm440 Presentation Black CloudPm440 Presentation Black Cloud
Pm440 Presentation Black Cloud
 
The Future of Cloud is Hybrid over Distance
The Future of Cloud is Hybrid over DistanceThe Future of Cloud is Hybrid over Distance
The Future of Cloud is Hybrid over Distance
 
An introduction to the cloud 11 v1
An introduction to the cloud 11 v1An introduction to the cloud 11 v1
An introduction to the cloud 11 v1
 
What is cloud computing
What is cloud computingWhat is cloud computing
What is cloud computing
 
AdvantageNFP CHASE 2013 Does Every Cloud Have a Silver Lining Presentation
AdvantageNFP CHASE 2013 Does Every Cloud Have a Silver Lining PresentationAdvantageNFP CHASE 2013 Does Every Cloud Have a Silver Lining Presentation
AdvantageNFP CHASE 2013 Does Every Cloud Have a Silver Lining Presentation
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Microsoft Cloud Computing E-Book
Microsoft Cloud Computing E-BookMicrosoft Cloud Computing E-Book
Microsoft Cloud Computing E-Book
 
cloud computing
cloud computingcloud computing
cloud computing
 
Workload migration on the cloud
Workload migration on the cloudWorkload migration on the cloud
Workload migration on the cloud
 
Cloud management
Cloud managementCloud management
Cloud management
 
SoftwareGuru 2009 - Cloud Computing
SoftwareGuru 2009 - Cloud ComputingSoftwareGuru 2009 - Cloud Computing
SoftwareGuru 2009 - Cloud Computing
 
Migration to Cloud - How difficult is it ? A sample migration scenario
Migration to Cloud - How difficult is it ? A sample migration scenarioMigration to Cloud - How difficult is it ? A sample migration scenario
Migration to Cloud - How difficult is it ? A sample migration scenario
 
Cloud Computing Business Models
Cloud Computing Business ModelsCloud Computing Business Models
Cloud Computing Business Models
 
HP Cloud Maps Customer Presentation
HP Cloud Maps Customer PresentationHP Cloud Maps Customer Presentation
HP Cloud Maps Customer Presentation
 

Similar to Application Architecture for Cloud Computing

Introduction to cloud computing
Introduction to cloud computingIntroduction to cloud computing
Introduction to cloud computingsuraj bhandari
 
Cloud1
Cloud1Cloud1
Cloud1manager
 
Welcome to the Cloud!
Welcome to the Cloud!Welcome to the Cloud!
Welcome to the Cloud!imogokate
 
Clloud computing provisioing and benifits altanai bisht 2nd year , part ii
Clloud computing provisioing and benifits   altanai bisht 2nd year , part iiClloud computing provisioing and benifits   altanai bisht 2nd year , part ii
Clloud computing provisioing and benifits altanai bisht 2nd year , part iiALTANAI BISHT
 
Cloud computing
Cloud computingCloud computing
Cloud computingSunil Kumar
 
Cloud computing
Cloud computingCloud computing
Cloud computingKarthik Kumar
 
Cloud Computing for SMBs
Cloud Computing for SMBsCloud Computing for SMBs
Cloud Computing for SMBswhite paper
 
50 C o m m u n i C At i o n S o f t h E A C m A P.docx
50    C o m m u n i C At i o n S  o f  t h E  A C m       A P.docx50    C o m m u n i C At i o n S  o f  t h E  A C m       A P.docx
50 C o m m u n i C At i o n S o f t h E A C m A P.docxalinainglis
 
A Practical Guide to Cloud Migration
A Practical Guide to Cloud MigrationA Practical Guide to Cloud Migration
A Practical Guide to Cloud MigrationAlaina Carter
 
Cloud Native development.pptx
Cloud Native development.pptxCloud Native development.pptx
Cloud Native development.pptxSiddhantBhatnagar6
 
A Short Appraisal on Cloud Computing
A Short Appraisal on Cloud ComputingA Short Appraisal on Cloud Computing
A Short Appraisal on Cloud ComputingScientific Review SR
 
Cloud computing
Cloud computingCloud computing
Cloud computingAnkur Mishra
 
All About Cloud Computing by Callender Creates
All About Cloud Computing by Callender CreatesAll About Cloud Computing by Callender Creates
All About Cloud Computing by Callender CreatesNews UK
 
cloud computing by satwik
cloud computing by satwikcloud computing by satwik
cloud computing by satwiksatwik gangavarapu
 
Cloud computing CXO's guide
Cloud computing CXO's guideCloud computing CXO's guide
Cloud computing CXO's guideAspire Systems
 
Aws cloud best_practices
Aws cloud best_practicesAws cloud best_practices
Aws cloud best_practicesSuruli Kannan
 

Similar to Application Architecture for Cloud Computing (20)

Introduction to cloud computing
Introduction to cloud computingIntroduction to cloud computing
Introduction to cloud computing
 
Cloud1
Cloud1Cloud1
Cloud1
 
call for papers, research paper publishing, where to publish research paper, ...
call for papers, research paper publishing, where to publish research paper, ...call for papers, research paper publishing, where to publish research paper, ...
call for papers, research paper publishing, where to publish research paper, ...
 
Welcome to the Cloud!
Welcome to the Cloud!Welcome to the Cloud!
Welcome to the Cloud!
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Clloud computing provisioing and benifits altanai bisht 2nd year , part ii
Clloud computing provisioing and benifits   altanai bisht 2nd year , part iiClloud computing provisioing and benifits   altanai bisht 2nd year , part ii
Clloud computing provisioing and benifits altanai bisht 2nd year , part ii
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud Computing for SMBs
Cloud Computing for SMBsCloud Computing for SMBs
Cloud Computing for SMBs
 
50 C o m m u n i C At i o n S o f t h E A C m A P.docx
50    C o m m u n i C At i o n S  o f  t h E  A C m       A P.docx50    C o m m u n i C At i o n S  o f  t h E  A C m       A P.docx
50 C o m m u n i C At i o n S o f t h E A C m A P.docx
 
A Practical Guide to Cloud Migration
A Practical Guide to Cloud MigrationA Practical Guide to Cloud Migration
A Practical Guide to Cloud Migration
 
Venkatesh
VenkateshVenkatesh
Venkatesh
 
Cloud Native development.pptx
Cloud Native development.pptxCloud Native development.pptx
Cloud Native development.pptx
 
Cloud Adoption and Risk Report 2019
Cloud Adoption and Risk Report 2019Cloud Adoption and Risk Report 2019
Cloud Adoption and Risk Report 2019
 
A Short Appraisal on Cloud Computing
A Short Appraisal on Cloud ComputingA Short Appraisal on Cloud Computing
A Short Appraisal on Cloud Computing
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
All About Cloud Computing by Callender Creates
All About Cloud Computing by Callender CreatesAll About Cloud Computing by Callender Creates
All About Cloud Computing by Callender Creates
 
cloud computing by satwik
cloud computing by satwikcloud computing by satwik
cloud computing by satwik
 
Cloud computing CXO's guide
Cloud computing CXO's guideCloud computing CXO's guide
Cloud computing CXO's guide
 
Aws cloud best_practices
Aws cloud best_practicesAws cloud best_practices
Aws cloud best_practices
 

More from white paper

Secure Computing With Java
Secure Computing With JavaSecure Computing With Java
Secure Computing With Javawhite paper
 
Java Security Overview
Java Security OverviewJava Security Overview
Java Security Overviewwhite paper
 
Platform Migration Guide
Platform Migration GuidePlatform Migration Guide
Platform Migration Guidewhite paper
 
Java Standard Edition 5 Performance
Java Standard Edition 5 PerformanceJava Standard Edition 5 Performance
Java Standard Edition 5 Performancewhite paper
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performancewhite paper
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performancewhite paper
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performancewhite paper
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performancewhite paper
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performancewhite paper
 
Memory Management in the Java HotSpot Virtual Machine
Memory Management in the Java HotSpot Virtual MachineMemory Management in the Java HotSpot Virtual Machine
Memory Management in the Java HotSpot Virtual Machinewhite paper
 
J2 Se 5.0 Name And Version Change
J2 Se 5.0 Name And Version ChangeJ2 Se 5.0 Name And Version Change
J2 Se 5.0 Name And Version Changewhite paper
 
Java Web Start
Java Web StartJava Web Start
Java Web Startwhite paper
 
Java Tuning White Paper
Java Tuning White PaperJava Tuning White Paper
Java Tuning White Paperwhite paper
 
Java Apis For Imaging Enterprise-Scale, Distributed 2d Applications
Java Apis For Imaging Enterprise-Scale, Distributed 2d ApplicationsJava Apis For Imaging Enterprise-Scale, Distributed 2d Applications
Java Apis For Imaging Enterprise-Scale, Distributed 2d Applicationswhite paper
 
Introduction to the Java(TM) Advanced Imaging API
Introduction to the Java(TM) Advanced Imaging APIIntroduction to the Java(TM) Advanced Imaging API
Introduction to the Java(TM) Advanced Imaging APIwhite paper
 
* Evaluation of Java Advanced Imaging (1.0.2) as a Basis for Image Proce...
     * Evaluation of Java Advanced Imaging (1.0.2) as a Basis for Image Proce...     * Evaluation of Java Advanced Imaging (1.0.2) as a Basis for Image Proce...
* Evaluation of Java Advanced Imaging (1.0.2) as a Basis for Image Proce...white paper
 
Java 2D API: Enhanced Graphics and Imaging for the Java Platform
Java 2D API: Enhanced Graphics and Imaging for the Java PlatformJava 2D API: Enhanced Graphics and Imaging for the Java Platform
Java 2D API: Enhanced Graphics and Imaging for the Java Platformwhite paper
 
Concurrency Utilities Overview
Concurrency Utilities OverviewConcurrency Utilities Overview
Concurrency Utilities Overviewwhite paper
 
Defining a Summative Usability Test for Voting Systems
Defining a Summative Usability Test for Voting SystemsDefining a Summative Usability Test for Voting Systems
Defining a Summative Usability Test for Voting Systemswhite paper
 
Usability Performance Benchmarks
Usability Performance BenchmarksUsability Performance Benchmarks
Usability Performance Benchmarkswhite paper
 

More from white paper (20)

Secure Computing With Java
Secure Computing With JavaSecure Computing With Java
Secure Computing With Java
 
Java Security Overview
Java Security OverviewJava Security Overview
Java Security Overview
 
Platform Migration Guide
Platform Migration GuidePlatform Migration Guide
Platform Migration Guide
 
Java Standard Edition 5 Performance
Java Standard Edition 5 PerformanceJava Standard Edition 5 Performance
Java Standard Edition 5 Performance
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performance
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performance
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performance
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performance
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performance
 
Memory Management in the Java HotSpot Virtual Machine
Memory Management in the Java HotSpot Virtual MachineMemory Management in the Java HotSpot Virtual Machine
Memory Management in the Java HotSpot Virtual Machine
 
J2 Se 5.0 Name And Version Change
J2 Se 5.0 Name And Version ChangeJ2 Se 5.0 Name And Version Change
J2 Se 5.0 Name And Version Change
 
Java Web Start
Java Web StartJava Web Start
Java Web Start
 
Java Tuning White Paper
Java Tuning White PaperJava Tuning White Paper
Java Tuning White Paper
 
Java Apis For Imaging Enterprise-Scale, Distributed 2d Applications
Java Apis For Imaging Enterprise-Scale, Distributed 2d ApplicationsJava Apis For Imaging Enterprise-Scale, Distributed 2d Applications
Java Apis For Imaging Enterprise-Scale, Distributed 2d Applications
 
Introduction to the Java(TM) Advanced Imaging API
Introduction to the Java(TM) Advanced Imaging APIIntroduction to the Java(TM) Advanced Imaging API
Introduction to the Java(TM) Advanced Imaging API
 
* Evaluation of Java Advanced Imaging (1.0.2) as a Basis for Image Proce...
     * Evaluation of Java Advanced Imaging (1.0.2) as a Basis for Image Proce...     * Evaluation of Java Advanced Imaging (1.0.2) as a Basis for Image Proce...
* Evaluation of Java Advanced Imaging (1.0.2) as a Basis for Image Proce...
 
Java 2D API: Enhanced Graphics and Imaging for the Java Platform
Java 2D API: Enhanced Graphics and Imaging for the Java PlatformJava 2D API: Enhanced Graphics and Imaging for the Java Platform
Java 2D API: Enhanced Graphics and Imaging for the Java Platform
 
Concurrency Utilities Overview
Concurrency Utilities OverviewConcurrency Utilities Overview
Concurrency Utilities Overview
 
Defining a Summative Usability Test for Voting Systems
Defining a Summative Usability Test for Voting SystemsDefining a Summative Usability Test for Voting Systems
Defining a Summative Usability Test for Voting Systems
 
Usability Performance Benchmarks
Usability Performance BenchmarksUsability Performance Benchmarks
Usability Performance Benchmarks
 

Recently uploaded

Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...Roland Driesen
 
Call Girls Jp Nagar Just Call đź‘— 7737669865 đź‘— Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call đź‘— 7737669865 đź‘— Top Class Call Girl Service Bang...Call Girls Jp Nagar Just Call đź‘— 7737669865 đź‘— Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call đź‘— 7737669865 đź‘— Top Class Call Girl Service Bang...amitlee9823
 
Forklift Operations: Safety through Cartoons
Forklift Operations: Safety through CartoonsForklift Operations: Safety through Cartoons
Forklift Operations: Safety through CartoonsForklift Trucks in Minnesota
 
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptxB.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptxpriyanshujha201
 
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableDipal Arora
 
M.C Lodges -- Guest House in Jhang.
M.C Lodges --  Guest House in Jhang.M.C Lodges --  Guest House in Jhang.
M.C Lodges -- Guest House in Jhang.Aaiza Hassan
 
RSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors DataRSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors DataExhibitors Data
 
KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...
KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...
KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...Any kyc Account
 
Best Basmati Rice Manufacturers in India
Best Basmati Rice Manufacturers in IndiaBest Basmati Rice Manufacturers in India
Best Basmati Rice Manufacturers in IndiaShree Krishna Exports
 
Cracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxCracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxWorkforce Group
 
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...Dave Litwiller
 
Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Neil Kimberley
 
Pharma Works Profile of Karan Communications
Pharma Works Profile of Karan CommunicationsPharma Works Profile of Karan Communications
Pharma Works Profile of Karan Communicationskarancommunications
 
VIP Call Girls Gandi Maisamma ( Hyderabad ) Phone 8250192130 | â‚ą5k To 25k Wit...
VIP Call Girls Gandi Maisamma ( Hyderabad ) Phone 8250192130 | â‚ą5k To 25k Wit...VIP Call Girls Gandi Maisamma ( Hyderabad ) Phone 8250192130 | â‚ą5k To 25k Wit...
VIP Call Girls Gandi Maisamma ( Hyderabad ) Phone 8250192130 | â‚ą5k To 25k Wit...Suhani Kapoor
 
HONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael HawkinsHONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael HawkinsMichael W. Hawkins
 
A DAY IN THE LIFE OF A SALESMAN / WOMAN
A DAY IN THE LIFE OF A  SALESMAN / WOMANA DAY IN THE LIFE OF A  SALESMAN / WOMAN
A DAY IN THE LIFE OF A SALESMAN / WOMANIlamathiKannappan
 
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best ServicesMysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best ServicesDipal Arora
 
Grateful 7 speech thanking everyone that has helped.pdf
Grateful 7 speech thanking everyone that has helped.pdfGrateful 7 speech thanking everyone that has helped.pdf
Grateful 7 speech thanking everyone that has helped.pdfPaul Menig
 
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 DelhiCall Girls in Delhi
 
Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...Roland Driesen
 

Recently uploaded (20)

Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...
 
Call Girls Jp Nagar Just Call đź‘— 7737669865 đź‘— Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call đź‘— 7737669865 đź‘— Top Class Call Girl Service Bang...Call Girls Jp Nagar Just Call đź‘— 7737669865 đź‘— Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call đź‘— 7737669865 đź‘— Top Class Call Girl Service Bang...
 
Forklift Operations: Safety through Cartoons
Forklift Operations: Safety through CartoonsForklift Operations: Safety through Cartoons
Forklift Operations: Safety through Cartoons
 
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptxB.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
 
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
 
M.C Lodges -- Guest House in Jhang.
M.C Lodges --  Guest House in Jhang.M.C Lodges --  Guest House in Jhang.
M.C Lodges -- Guest House in Jhang.
 
RSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors DataRSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors Data
 
KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...
KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...
KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...
 
Best Basmati Rice Manufacturers in India
Best Basmati Rice Manufacturers in IndiaBest Basmati Rice Manufacturers in India
Best Basmati Rice Manufacturers in India
 
Cracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxCracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptx
 
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
 
Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023
 
Pharma Works Profile of Karan Communications
Pharma Works Profile of Karan CommunicationsPharma Works Profile of Karan Communications
Pharma Works Profile of Karan Communications
 
VIP Call Girls Gandi Maisamma ( Hyderabad ) Phone 8250192130 | â‚ą5k To 25k Wit...
VIP Call Girls Gandi Maisamma ( Hyderabad ) Phone 8250192130 | â‚ą5k To 25k Wit...VIP Call Girls Gandi Maisamma ( Hyderabad ) Phone 8250192130 | â‚ą5k To 25k Wit...
VIP Call Girls Gandi Maisamma ( Hyderabad ) Phone 8250192130 | â‚ą5k To 25k Wit...
 
HONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael HawkinsHONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael Hawkins
 
A DAY IN THE LIFE OF A SALESMAN / WOMAN
A DAY IN THE LIFE OF A  SALESMAN / WOMANA DAY IN THE LIFE OF A  SALESMAN / WOMAN
A DAY IN THE LIFE OF A SALESMAN / WOMAN
 
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best ServicesMysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
 
Grateful 7 speech thanking everyone that has helped.pdf
Grateful 7 speech thanking everyone that has helped.pdfGrateful 7 speech thanking everyone that has helped.pdf
Grateful 7 speech thanking everyone that has helped.pdf
 
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi
 
Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...
 

Application Architecture for Cloud Computing

  • 1. W hi t e PA P e R Application Architecture for Cloud Computing
  • 2. W hi t e PA P e R Application Architecture for Cloud Computing introduction Cloud computing is a relatively new way of referring to the use of shared computing resources, and it is an alternative to having local servers handle applications. Cloud computing groups together large numbers of compute servers and other resources and typically offers their combined capacity on an on-demand, pay-per-cycle basis. The end users of a cloud computing network usually have no idea where the servers are physically located—they just spin up their application and start working. CONTRIBUTORS Cloud computing is fully enabled by virtualization technology (hypervisors) and virtual appliances. A virtual appliance is an application that is bundled with all the components that it needs to run, along with a streamlined operating system. In a cloud computing environment, a virtual appliance can be instantly provisioned and decommissioned as needed, without com- plex configuration of the operating environment. Jeff Barr, Evangelist This flexibility is the key advantage to cloud computing, and what distinguishes it from other forms of grid or utility computing and software as a service (SaaS). The ability to launch new instances of an application with minimal labor and expense allows application providers to: • Scale up and down rapidly Thorsten von Eicken, • Recover from a failure CTO and Founder • Bring up development or test instances • Roll out new versions to the customer base • Efficiently load test an application Once you’ve decided to offer your application in a cloud computing environment, it is important to avoid the “success disaster”. This is when your application becomes popular overnight, so Erik Troan, CTO much so that it crashes under the unanticipated load. In this paper, we’ll discuss how you can and Founder design your application for the cloud from the outset to take maximum advantage of the cloud environment. If you haven’t yet decided to offer your application in the cloud, now is the time. Cloud comput- ing is not yesterday’s fad; it is today’s reality. Your competition is likely already working on their cloud application, allowing them to deploy faster, better and cheaper than you. the economics of the Cloud Before we delve into how to architect an application for a cloud computing environment, we should explain why it is financially advantageous to do so. The first clear advantage of using an existing cloud infrastructure is that you don’t have to make the capital investment yourself. Rather than expending the time and cost to build a data center, you use someone else’s investment and turn what would have been a massive capital outlay into a manageable variable cost. www.rpath.com 2
  • 3. W hi t e PA P e R Application Architecture for Cloud Computing In the pay-per-cycle model of cloud computing, you can start small and requisition more com- puter time as your business grows. This makes starting up inexpensive, and gives you time to build your on-demand business before investing in additional capacity. Instead of investing ahead of demand, you simply use and pay for exactly what you need when you need it. Development time can also be a significant cost in creating an on-demand application environ- ment. If you adopt a SaaS model, your entire application must be re-architected to support multi-tenancy. With cloud computing, the cost of a machine year in the Amazon EC2 cloud (~$880 annually) is much less than the cost of a fully-loaded developer (anywhere from $400-$1000 per day). This makes it a lot less expensive to scale up more virtual servers in the cloud than it is to spend even one day on development. Finally, you can save money by designing your application with a simpler architecture ideal for cloud computing, which we’ll spend the rest of this paper discussing. A simpler architecture speeds time to market because it is easier to test, and you can eliminate some of the equip- ment and processes required to migrate an application from development into production. All the activities involved with development, test, QA and production can exist side-by-side in separate instances running in the cloud. Architectural Considerations Designing an application to run as a virtual appliance in a cloud computing environment is very different than designing it for an on-premise or SaaS deployment. We discuss the following considerations. To be successful in the cloud, your application must be designed to scale eas- ily, tolerate failures and include management tools. Scale Cloud computing offers the potential for nearly unlimited scalability, as long as the application is designed to scale from the outset. The best way to ensure this is to follow some basic ap- plication design guidelines: Start simple: Avoid complex design and performance enhancements or optimizations in favor of simplicity. It’s a good idea to start with the simplest application and rely on the scalability of the cloud to provide enough servers to ensure good application performance. Once you’ve gotten some traction and demand has grown, then you can focus on improving the efficiency of your application, which allows you to serve more users with the same number of servers or to reduce the number of servers while maintaining performance. Some common design techniques to improve performance include caching, server affinity, multi-threading and tight sharing of data, but they all make it more difficult to distribute your application across many servers. This is the reason you don’t want to introduce them at the outset and only consider them when you need to and can ensure that you are not breaking horizontal scalability. Split application functions and couple loosely: Use separate systems for different pieces of ap- plication functionality and avoid synchronous connections between them. Again, as demand grows, you can scale each one independently instead of having to scale the entire application when you hit a bottleneck. The separation and reusability of functions inherent in SOA make it an ideal architecture for the cloud. www.rpath.com 3
  • 4. W hi t e PA P e R Application Architecture for Cloud Computing Network communication: Design the application to use network-based interfaces and not in- terprocess communication or file-based communication paradigms. This allows you to effec- tively scale in the cloud because each piece of the application can be separated into distinct systems. Consider the cluster: Rather than scale a single system up to serve all users, consider splitting your system into multiple smaller clusters, each serving a fraction of the application load. This is often called “sharding” and many web services can be split up along one dimension, often users or account. Requests can then be directed to the appropriate cluster based on some request attribute or users can be redirected to a specific cluster at login. To deploy a clustered system, determine the right collection of servers that yield efficient application performance, taking any needed functional redundancy into account; for example, 2 web, 4 application and 2 database servers. You can then scale the application by replicating the ideal cluster size and splitting the system load across the servers in the clusters. You’ll soon realize the advantages of cloud computing when it comes to scalability, such as: • Inexpensive testing - testing can be done against a test cluster without risking the perfor- mance or integrity of the production system. You can also test the upper limits of the ideal cluster’s performance by using “robot users” in the cloud to generate load. • Reduced risk - bring up a test instance of the cluster to prove a new code base, and roll out a new version one cluster at a time. Fall back to an older version if the new version doesn’t work, without disrupting current users. • Ability to segment the customer base – use clusters to separate customers with varying de- mands, such as a large customer who wants a private instance of the application, or one who requires extensive customizations. • Auto-scaling based on application load – with the ready availability of resources, applications can be built to recognize when they are reaching the limits of their current configuration and automatically bring up new resources. Fail Inevitably, an application will fail, no matter what its environment. When you design an on- premise or SaaS application, you typically consider several “doomsday” scenarios. The same must be true for designing an application that runs in the cloud. Build-in resiliency and fault tolerance: To tolerate failure, applications must operate as a part of a group, while not being too tightly coupled to their peers. Each piece of the application should be able to continue to execute despite the loss of other functions. Asynchronous interfaces are an ideal mechanism to help application components tolerate failures or momentary unavail- ability of other components. Distribute the impact of failure: With a distributed cloud application, a failure in any one ap- plication cluster affects only a portion of the application and not the whole application. By spreading the load across multiple clusters in the cloud, you can isolate the individual clusters against failure in another cluster. www.rpath.com 4
  • 5. W hi t e PA P e R Application Architecture for Cloud Computing Get back up quickly: Automate the launching of new application clusters in order to recover quickly. Application components must be able to come up in an automated fashion, configure themselves and join the application cluster. Cloud computing provides the ideal environment for this fast startup and recovery process. Data considerations: When an application fails, data persistence and system state cannot be taken for granted. To ensure data preservation, put all data on persistent storage and make sure it is replicated and distributed. If system state is stored and then used in the recovery process, treat it like data so the system can be restarted from the point of failure. Test your “doomsday” scenario: Cloud computing makes it easy to bring up an instance of your application to test various failure scenarios. Because of the flexible nature of cloud computing, it is possible to simulate many different failure scenarios at a very reasonable cost. Single instances of a system can be taken off-line to see how the rest of the application will respond. Likewise, multiple recovery scenarios can be planned and executed ahead of any real produc- tion failure. Be aware of the real cost of failure: Of course the ideal situation is avoiding any application failure, but what is the cost to provide that assurance? A large internet company once said that they could tolerate failure as long as the impact was small enough as to not be notice- able to the overall customer base. This assertion came from an analysis of what it would cost to ensure seven nines of application uptime versus the impact of a failure on a portion of the customer base. Manage Deploying cloud applications as virtual appliances makes management significantly easier. The appliances should bring with them all of the software they need for their entire lifecycle in the cloud. More important, they should be built in a systematic way, akin to an assembly line pro- duction effort as opposed to a hand crafted approach. The reason for this systematic approach is the consistency of creating and re-creating images. We have shown how effectively scaling and failure recovery can be handled by rapid provisioning of new systems, but these benefits cannot be achieved if the images to be provisioned are not consistent and repeatable. When building appliances, it is obvious that they should contain the operating system and any middleware components they need. Less obvious are the software packages that allow them to automatically configure themselves, monitor and report their state back to a management system, and update themselves in an automated fashion. Automating the appliance configura- tion and updates means that as the application grows in the cloud, the management overhead does not grow in proportion. In this way appliances can live inside the cloud for any length of time with minimal management overhead. When appliances are instantiated in the cloud, they should also plug into a monitoring and management system. This system will allow you to track application instances running in the www.rpath.com 5
  • 6. W hi t e PA P e R Application Architecture for Cloud Computing cloud, migrate or shutdown instances as needed, and gather logs and other system informa- tion necessary for troubleshooting or auditing. Without a management system to handle the virtual appliances, it is likely that the application will slowly sprawl across the cloud, wasting resources and money. Your management system also plays an important role in the testing and deployment process. We’ve already highlighted how the cloud can be used for everything from general testing to load testing to testing for specific failure scenarios. Including your testing in your manage- ment system allows you to bring up a test cluster, conduct any testing that is required and then migrate the tested application into production. The uniform resources that underlie the cloud mean that you can achieve a rapid release to production process, allowing you to deliver updated features and functions to your customers faster. Finally, by automating the creation and management of these appliances, you are tackling one of the most difficult and expensive problems in software today: variability. By producing a consistent appliance image and managing it effectively, you are removing variability from the release management and deployment process. Reducing the variability reduces the chances of mistakes – mistakes that can cost you money. The advantages of designing your application for management in the cloud include: • Reducing the cost and overhead of preparing the application for the cloud • Reducing the overhead of bringing up new instances of the application • Eliminating application sprawl • Reducing the chance for mistakes as the application is scaled out, failed over, upgraded, etc. Summary Cloud computing represents an exciting opportunity to bring on-demand applications to cus- tomers in an environment of reduced risk and enhanced reliability. However, it is important to understand that existing applications cannot just be unleashed on the cloud as is. Careful attention to design will help ensure a successful deployment. In particular, cloud-based applications should be deployed as virtual appliances so they con- tain all the components needed to operate, update and manage them. Simple design will aid with scalability as demand for the application increases. And, planning for failure will ensure that the worst doesn’t happen when the inevitable occurs. Don’t be afraid to have your head in the clouds when it comes to application deployment. Your customers will reap the benefits, and you’ll gain the competitive advantage of a flexible, scal- able application solution. www.rpath.com 6
  • 7. W hi t e PA P e R Application Architecture for Cloud Computing 1.206.266.1100 aws.amazon.com Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable com- pute capacity in the cloud. It is designed to make web-scale computing easier for developers. Just as Amazon Simple Storage Service (Amazon S3) enables storage in the cloud, Amazon EC2 enables “compute” in the cloud. Amazon EC2’s simple web service interface allows you to obtain and configure capacity with minimal friction. It reduces the time required to obtain and boot new server instances to minutes, allowing you to quickly scale capacity as your comput- ing requirements change. Amazon EC2 changes the economics of computing by allowing you to pay only for capacity that you actually use. 1.866.720.0208 info@rightscale.com RightScale’s software as a service platform and expertise enable companies to create scalable web solutions on cloud computing services that are reliable, easy to manage, and cost less. RightScale provides a software platform on top of Amazon Web Services that lets software businesses harness the power of the on-demand, pay-as-you-go storage and computing ser- vices through automated management tools and packaged application solutions. 1.866.508.6200 info@rpath.com rBuilder® and the rPath® Lifecycle Management Platform™ automate the creation, configuration, management and maintenance of application images for virtualized and cloud computing environments. By producing application images that are optimized for any hypervisor, rPath frees the application from the underlying hardware, and enables a more efficient, lower cost model for development, deployment and support. rPath’s end-to-end technology simplifies the entire range of lifecycle management activities for application images, while promoting scalability in response to dynamic demand. rPath is headquartered in Raleigh, NC. Corporate Headquarters: +1 919.851.3984 Main info@rpath.com 701 Corporate Center Drive, Suite 450 +1 866.508.6200 Sales www.rpath.com Raleigh, NC 27607 +1 919.851.3985 Fax Copyright © 2008 rPath, Inc. All rights reserved. rPath, rBuilder, rPath Lifecycle Management Platform and the rPath logo are registered trademarks or trademarks of rPath, Inc. All other brands and product names are trademarks or registered trademarks of their respective owners. Information supplied by rPath is believed to be accurate and reliable. rPath assumes no responsibility for any errors in this document. rPath reserves the right, without notice, to makes changes in product design or specifications.