Architecting in the Cloud: Choosing the Right Technologies for your Solution


Published on

Presentation from Dreamforce9 - November 2009

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Demo URL:
  • Log into the DeVry sandbox.
  • Architecting in the Cloud: Choosing the Right Technologies for your Solution

    1. 1. Architecting in the Cloud: Choosing theRight Technologies for your Solution Jeff Douglas - Appirio Richard Cummings - IdeaArc
    2. 2. Safe Harbor Statement“Safe harbor” statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements including but not limited to statements concerning the potential market for our existing service offeringsand future offerings. All of our forward looking statements involve risks, uncertainties and assumptions. If any such risks oruncertainties materialize or if any of the assumptions proves incorrect, our results could differ materially from the resultsexpressed or implied by the forward-looking statements we make.The risks and uncertainties referred to above include - but are not limited to - risks associated with possible fluctuations inour operating results and cash flows, rate of growth and anticipated revenue run rate, errors, interruptions or delays in ourservice or our Web hosting, our new business model, our history of operating losses, the possibility that we will not remainprofitable, breach of our security measures, the emerging market in which we operate, our relatively limited operatinghistory, our ability to hire, retain and motivate our employees and manage our growth, competition, our ability to continue torelease and gain customer acceptance of new and improved versions of our service, customer and partner acceptance ofthe AppExchange, successful customer deployment and utilization of our services, unanticipated changes in our effectivetax rate, fluctuations in the number of shares outstanding, the price of such shares, foreign currency exchange rates andinterest rates.Further information on these and other factors that could affect our financial results is included in the reports on Forms 10-K, 10-Q and 8-K and in other filings we make with the Securities and Exchange Commission from time to time. Thesedocuments are available on the SEC Filings section of the Investor Information section of our website, inc. assumes no obligation and does not intend to update these forward-looking statements, except as required by law.
    3. 3. Appirio Cloud Solutions: Products & Services for Acceleration of Cloud Adoption 2500+ Enterprises… …have turned to Appirio… build solutions on cloud platforms• 150+ services customers • 300%+ revenue growth in past year • Strategic partner of• 2500 product customers • Funded by Sequoia, GGV and Google “The speed and agility has really helped us automate more and processes within our enterprise” - NavinGaneshan, Network Solutions
    4. 4. Informa plc Case Study  InformaOverview  Worked on this Project while an Informa Employee  Taylor & Francis Inspection Copy Application Overview  Sites Pilot  Toolkit for Google App Engine Java Thanks to our friends at Informa for letting us use this case study3
    5. 5. Sites Why Informa chose Sites:  Data Model  Integration  Authentication  Centralized Administration  Validation Rules4
    6. 6. Taylor & Francis Site5
    7. 7. DeVry University Case Study  DeVry University Overview  Application Overview – Orchestrate long-running transactions that initiate and complete on the platform – Pushing the platform to its limits – Running into Governor issues – Understand transactions and @future methods  Fire an event from outside of Salesforce (aka “heartbeat”)6
    8. 8. Apex Transactions  Transaction begins when Apex is invoked  Commits automatically when Apex code successfully finishes running – All state changes, including all subsequent triggers and all declarative processing like validations, workflows, emails, are in this transaction.  Long running Apex can result in HTTP 503 errors.  The empirical rule of thumb: Apex processes should execute under 10 seconds.7
    9. 9. Using Future Methods  Salesforce concept of a "micro-batch" job.  Have their own Governor limits associated with callouts.  When any @future transaction fails, only resort is to save data.  Since @future cannot fire trigger that starts @future, Apex code must stop before current transaction commits.  Recursive @future method calls8
    10. 10. Preventing Recursive Future Method Calls9
    11. 11. “Heartbeat” Pattern10
    12. 12. Sample “Heartbeat” Test Runner11
    13. 13. Sample “Heartbeat” Code12
    14. 14. Questions? http://blog.jeffdouglas.com13