Advanced Application Lifecycle Managment
-
Upload
salesforce-developers -
Category
Documents
-
view
1.271 -
download
2
description
Transcript of Advanced Application Lifecycle Managment
Advanced Application Lifecycle Management
John Vogt, Senior Product Manager, Salesforce.com
Eric Wilcox, Senior Developer/Architect, Financial Force
Tear Down, Rebuild, Reconfigure, Rinse and Repeat: How to Get the Most out
of your Developer Sandboxes
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.
John Vogt
Senior Product Manager
Force.com Sandbox
Let Us Get To Know You
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
Lets Get Started!
• Individual Develop & Unit Test
• Individual QA
• Team QA
• UAT
• Staging
• Scalability Testing
Force.com Development & Customization Tasks
What is the best product for these Use Cases?
Product Type Description Use Cases
Full Full copy of configuration and production data
Storage limitation based on that of production org
29 Day Refresh Interval
Staging,
Scalability Testing,
Training,
UAT
Configuration Only Full copy of configuration only (no data copied)
~ 250,000 Records at 500MB storage limit for data
Daily Refresh Interval
UAT,
Code Integration & QA
Developer Full copy of configuration only (no data copied)
~5,000 Records at 10MB storage limit for data
Daily Refresh Interval
Development & Unit
Testing,
QA
Agile Sandbox Development
• Use Metadata Tools
• Use Source Control
• Create Test Data Sets
The Pillars of Agile Sandbox Success
Why are these Pillars Important?
• Environment set up continuity
• Effective deployment practices
• Environment parity
• More agility
Metadata Tools
Tool Description Use Cases
Force.com Migration
Tool
(Ant Tool)
• Full Metadata API Support
• Repeatable Scripts
• Automation
• Environment Tear Down
• Configuration Deployment
• Execute Unit Tests
API (WSDLs)
Enterprise
Partner
Metadata
• SOAP Access
• Programmatic Interface
• Ant Integration
• Create Test Data
• Configure Application Data
(custom settings, users, etc)
Simple Playbook
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
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
• Create and/or Tear Down Environment
• Load/Deploy Configuration Version
• Load Test Data and Custom Settings
• Run Tests
Repeatable Ant Targets
Create and/or Tear Down
Environment
Teardown – How To Dynamically Clean An Org
Target Org
Ant Retrieve
Clean
Std Obj Layouts
Build Package
Build Destructive Changes
Deploy
Deploy Layouts
1
2
3
4
5
6
• 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
Deploy Configuration Version
• Continuity/Consistency
• Version Control
• Version Build Tools
Load Test Data and Custom
Settings
• Create Test Data Sets
• Use Existing Skills (Apex)
• Create Robust Data
• Continuity/Consistency
• Agility
Run Unit Tests
• Developers Run Relevant Tests
• Regularly Run All Tests
• Review Output/Monitor for Errors
• Continuity/Consistency
• Agility
Quick Review
Notes & Information
Source Control Systems: • CVS, SVN, GIT, VSS
Session 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
Roadmap
Faster Deploys to Production PILOT
Only Run Specified Tests
Must Cover Code Changes
75% Coverage Per Class
Force.com Migration Tool
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
More Metadata Exposed
Approvals
Business Hours
Case Assignment Rules
Case Escalation Rules
Case Team Roles
Contract Line Items
Communities
SPRING ‘13
Entitlement Processes
Lead Assignment Rules
Milestones
Opportunity Teams
Scheduled Apex Jobs
Search Layouts Standard Objects
Sharing Model
John Vogt
Senior Product Manager
Salesforce.com
Eric Wilcox
Financial Force