Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Advanced Application Lifecycle Managment

1,371 views

Published on

  • Be the first to comment

Advanced Application Lifecycle Managment

  1. 1. Advanced Application Lifecycle ManagementTear Down, Rebuild, Reconfigure, Rinse and Repeat: How to Get the Most outof your Developer SandboxesJohn Vogt, Senior Product Manager, Salesforce.comEric Wilcox, Senior Developer/Architect, Financial Force
  2. 2. Safe Harbor Safe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services. The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of intellectual property and other litigation, risks associated with possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-Q for the most recent fiscal quarter ended July 31, 2012. This documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward- looking statements.
  3. 3. Eric WilcoxSenior Developer/Architectroc.wilcox@gmail.com
  4. 4. John VogtSenior Product ManagerForce.com Sandbox
  5. 5. Let Us Get To Know You
  6. 6. Goals for This Session• Techniques for Automating the Setup of your Sandbox• Value your Developer Sandboxes• Value repeatable Metadata API Tasks• Value Test Data Sets
  7. 7. Lets Get Started!
  8. 8. Force.com Development & Customization Tasks • Individual Develop & Unit Test • Individual QA • Team QA • UAT • Staging • Scalability Testing
  9. 9. What is the best product for these Use Cases?Product Type Description Use CasesFull Full copy of configuration and production data Staging, Storage limitation based on that of production org Scalability Testing, 29 Day Refresh Interval Training, UATConfiguration Only Full copy of configuration only (no data copied) UAT, ~ 250,000 Records at 500MB storage limit for data Code Integration & QA Daily Refresh IntervalDeveloper Full copy of configuration only (no data copied) Development & Unit Testing, ~5,000 Records at 10MB storage limit for data QA Daily Refresh Interval
  10. 10. Agile Sandbox Development
  11. 11. The Pillars of Agile Sandbox Success• Use Metadata Tools• Use Source Control• Create Test Data Sets
  12. 12. Why are these Pillars Important?• Environment set up continuity• Effective deployment practices• Environment parity• More agility
  13. 13. Metadata ToolsTool Description Use CasesForce.com Migration • Full Metadata API Support • Environment Tear DownTool • Repeatable Scripts • Configuration Deployment(Ant Tool) • Automation • Execute Unit TestsAPI (WSDLs) • SOAP Access • Create Test DataEnterprise • Programmatic Interface • Configure Application DataPartner (custom settings, users, etc)Metadata • Ant Integration
  14. 14. Simple Playbook
  15. 15. So, I need to develop and unit test – what do I need?• Isolated workspace for a developer• The ability to load a specific version of configuration• Access and ability to load test data sets• The ability to make and save my configuration changes
  16. 16. What is needed in each QA environment?• Isolated workspace for a for the QE• The ability to load a specific version of configuration• Access and ability to load test data sets• Ability to test, tear down, and test again
  17. 17. Repeatable Ant Targets• Create and/or Tear Down Environment• Load/Deploy Configuration Version• Load Test Data and Custom Settings• Run Tests
  18. 18. Create and/or Tear Down Environment
  19. 19. Teardown – How To Dynamically Clean An Org 1 Ant Retrieve Clean 2 Std Obj Layouts Target Org 3 Build Package 4 Deploy Layouts 5 Build Destructive Changes 6 Deploy
  20. 20. • Remove Extraneous Items • Renamed by Developers • Triggers/Validation rules added to for testing• Downgrade to Earlier Version • Urgent Bug Fixes • Rollback a code change• Continuity/Consistency
  21. 21. Deploy Configuration Version
  22. 22. • Continuity/Consistency• Version Control• Version Build Tools
  23. 23. Load Test Data and Custom Settings
  24. 24. • Create Test Data Sets • Use Existing Skills (Apex) • Create Robust Data• Continuity/Consistency• Agility
  25. 25. Run Unit Tests
  26. 26. • Developers Run Relevant Tests• Regularly Run All Tests• Review Output/Monitor for Errors• Continuity/Consistency• Agility
  27. 27. Quick Review
  28. 28. Notes & Information
  29. 29. Source Control Systems:• CVS, SVN, GIT, VSSSession Content• URL: • https://github.com/financialforcedev/df12-deployment-tools• Includes:• readme for integration tips and info• Ant “build.xml” with demo’d targets• Sample Salesforce App w/ dummy classes, trigger, etc• Java Samples for Anonymous Execution and Purge on Delete
  30. 30. Roadmap
  31. 31. Faster Deploys to Production PILOTOnly Run Specified TestsMust Cover Code Changes75% Coverage Per ClassForce.com Migration Tool
  32. 32. Reduced Sandbox Set Up Time PILOT Copy the Objects You Need Omit the Objects You Don’t Obfuscate Sensitive Data Subset of Records Shorter Time To Use
  33. 33. More Metadata Exposed SPRING ‘13 Approvals Entitlement Processes Business Hours Lead Assignment Rules Case Assignment Rules Milestones Case Escalation Rules Opportunity Teams Case Team Roles Scheduled Apex Jobs Contract Line Items Search Layouts Standard Objects Communities Sharing Model
  34. 34. John Vogt Eric WilcoxSenior Product Manager Financial Force Salesforce.com

×