Environment & Release Management

25
Environment & Release Management May 2008

description

 

Transcript of Environment & Release Management

Page 1: Environment & Release Management

Environment & Release Management

May 2008

Page 2: Environment & Release Management

2

Safe Harbor Statement

“Safe harbor” statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements the achievement of which involves risks, uncertainties and assumptions. If any such risks or uncertainties materialize or if any of the assumptions proves incorrect, our results 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 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 the integration of Sendia Corporation’s technology, operations, infrastructure and personnel with ours; unexpected costs or delays incurred in integrating Sendia with salesforce.com, which could adversely affect our operating results and rate of growth; any unknown errors or limitations in the Sendia technology; any third party intellectual property claims arising from the Sendia technology; customer and partner acceptance and deployment of the AppExchange and AppExchange Mobile platforms; interruptions or delays in our service or our Web hosting; our new business model; breach of our security measures; possible fluctuations in our operating results and rate of growth; the emerging market in which we operate; our relatively limited operating history; our ability to hire, retain and motivate our employees and manage our growth; competition; our ability to continue to release and gain customer acceptance of new and improved versions of our CRM service; unanticipated changes in our effective tax rate; fluctuations in the number of shares outstanding; the price of such shares; foreign currency exchange rates and interest 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, including our Form 10-K for the fiscal year ended January 31, 2006. These documents are available on the SEC Filings section of the Investor Information section of our website at www.salesforce.com/investor.

Any unreleased services or features referenced in this or other 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 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, except as required by law.

Page 3: Environment & Release Management

Agenda

Environment and Release Management

Page 4: Environment & Release Management

Refreshable Sandbox Environment:The Technology

Development

Training

Testing

Page 5: Environment & Release Management

Environment Capability Sandbox

Sandbox with Data• Production Copy - Full Configuration and Data can be promoted to Sandbox for testing and/or

training• Support – Sandbox receives the same world-class support as the Production environment.

Salesforce.com is available to address all customer issues associated with Sandbox• Sandbox Refreshment - Sandbox refresh is a batch process, similar to the customer experience

of loading leads, accounts or contacts. The customer will receive an automated email when their refresh request has been processed. Actually processing time will vary depending on the size of the customer’s production environment.

• Separate Hardware - Sandboxes exist on a completely separate set of Web, database, application, API, cache, and search servers in order to minimize any negative impact on the live production instances.

• Restricted End-User Access - To prevent users from inadvertently logging into or receiving email notifications from the sandbox environment, usernames and email addresses on those servers are automatically modified (with the exception of the user who requested the sandbox copy). Administrators can open up access to additional users if desired after the copy is made.

Sandbox Config Only• Config Only – With Summer 07 release, our UE customers are now able to have up to 5

configuration only sandboxes. The config only sandboxes are limited to 500MB storage

Page 6: Environment & Release Management

Single Click Force.com Sandbox

Page 7: Environment & Release Management

Move Your Apps’ Configuration and Code from Sandbox to Production

Multiple Sandbox Environments

Production Deployment

Develop

Test

Train

Version Control

IDE

CVS

Page 8: Environment & Release Management

Refreshable Sandbox Environment:The Process

One-Click Refresh

2. Refresh Sandboxes

3. Parallel Development in Config Only Dev Orgs

4. User Testing in Full UAT Sandbox5. Updated Production

ConfigurationSource Control

CVS

Page 9: Environment & Release Management

Environment Architecture - Example

Production

Production instance supporting all-end users deployed on main instance of salesforce.com

Pro

duc

tion

Salesforce.com Customer Systems

Middle Ware

MDM

3rd Party System

BW

Development

De

velo

pmen

t

Middle Ware

MDM

3rd Party System

BW

Development will be on a Sandbox Config only org. Data will be manually loaded through data loader as needed

QA/UATQA

/UA

T Middle Ware

MDM

3rd Party System

BW

QA/UAT will be on a Sandbox with Data org. Data will automatically be copied from the production org so it will simulate the user experience there

Page 10: Environment & Release Management

Environment Architecture – Example

TrainingTra

inin

g

No Integrations Needed for Training

Training will be on a Sandbox Config only org. Data will be manually loaded through data loader as needed

Foundation

Fou

ndat

ion

Foundation will be on a Sandbox Config only org. Data will be manually loaded through data loader as needed

Middle Ware

MDM

3rd Party System

BW

Page 11: Environment & Release Management

Environment Considerations

Environment Considerations

QA/UAT Environment Considerations• Data – Transactional and Reference data need to be refreshed regularly for test cycles• Users - Will require 1 test login per role to test functionality• Interfaces - Environment will need to interface with legacy environments• Performance Testing - Full data loads and interface testing are required• Middleware integration - Multiple middleware environments to interface with for testing• Bug/fixes - Will need to be promoted from Development to Test

Training Environment Considerations• Training Data - Unique / controlled data set is required • Refresh Strategy - Data will need to be refreshed after every training session• Users - Approximately 30 training logins will be required• Interfaces - Environment will not need to interface with legacy environment• Phased Training - Training will continue after users are live on system

Foundation Environment Considerations• Data – Data will need to be manually loaded as appropriate for unit testing purposes• Interfaces - Environment will need to interface with legacy environments• Configuration Synchronization – changes made to the development environment for Pilot or Fast Track items must

be kept in sync with foundation instance

Development Environment Considerations• Data – Data will need to be manually loaded as appropriate for unit testing purposes• Unit Testing – Environment will need to interface with legacy environment is unit testing must include this

Page 12: Environment & Release Management

Traditional SDLC Process

1 Business Case Suite Completed

2 Project Plan and Roadmap defined

3 Inter-Program coordination points & dependencies identified

4 Business and IT resources, requirements and efforts coordinated

5 Value Case Updated

6 Global x-functional team in place

7 Quantitative & qualitative metrics defined

* Dates to be determined after completion of BRD

FRDSign-Off<xx/xx>

ITAnalysis <xx/xx>

ExecuteCommit<xx/xx>

TARGET In-Production

Date<xx/xx>

ConceptCommit<xx/xx>

Sign-OffUse Case<xx/xx>

FRDComplete<xx/xx>

Bus. Case Suite

Complete<xx/xx>

* Business Acceptance

Test Sign-Off

* UAT & Readiness Review

(Business & IT)

User EnablementEngagement

<xx/xx>

Traditional SDLC process is primarily driven by IT, with input and sign-off from the business

Analyze Design Develop Test Train & Deploy

Sample SDLC

Page 13: Environment & Release Management

Business Responsibilities

Daily Changes

Reports Dashboards List View Management Documentation Management User Administration Solution Management Communication Templates Email Templates

IT Responsibilities

Monthly Changes

Minor Release: Simple configuration changes that do not impact day to day business or require training. As Required (Target Monthly)

Major Release: New Initiatives and other changes that require training or testing. Dates determined by Steering Committee(Target Quarterly)

On-Demand supports existing SDLC processes, but allows for flexibility to deploy more quickly

Page 14: Environment & Release Management

Release Definitions

Release

Type

Activities Examples Level Of Effort

Immediate Release • Small changes that can be implemented in a short time span and

directly in the production environment as needed

• Changes can be configured, tested and deployed with minimal

impact within a single business unit

• DOES NOT HAVE TO GO THROUGH CHANGE CONTROL

PROCESS

• New dashboards and

reports

• Field positioning

• New related lists

• New roles

• Data Loads

• Territory Alignments

LOW

• No additional training

required

• None or minimal impact to

integration

• Potential candidate for

Business Administrators

Minor (Monthly)

Release

• Medium level changes that can be implemented with minor

impact to the production environment

• Changes can be configured, tested and deployed with minor

impact to one business unit

• New Fields

• New page layouts

• New custom Objects

• New org or sub-org in role

or territory hierarchy

MEDIUM

• < 1 day of additional

training required

• < 1 week of configuration

development

• IT involvement

Major Release • Large changes that have major impacts to the business or

environment

• Changes requiring a significant interface update, data migration

and/or integration impact

• Major releases should be tracked by a standard naming

convention for items such as: Role Hierarchy, Profiles, Page

Layouts, Record Types, Sales and Support Processes, sControls

• Items that do not need to follow naming convention: Fields,

Custom Objects, Reports, Dashboards

• New AppExchange app

• Process-impacting

configuration changes

• Data migration impact

• Integration changes

• Impacts to multiple

business units

HIGH

• 1 day of additional training

required

• > 1 week of configuration

development

• > 1 week of integration

development

• IT lead

For consistent implementation and support, investment requests should be categorized as immediate, minor or major based on level of effort

Page 15: Environment & Release Management

Release Definitions

Security Reviews ManyFew

Simple

Difficult

Level of Effort

Source: Faulkner 2006

Immediate Releases

Minor Releases

Major Releases

Implement immediate changes Owned by individual sub-group Minimal impact to the production floor

Minor changes impacting two or more groups Thrice as often as a Major Release Minor impact to training and production

Major impact on production and integration Significant changes such as AppExchange development Ali d with alpha / beta platform releases Impact across than one business unit

Page 16: Environment & Release Management

Release Management Scope

5. Application AdministrationReports DashboardsLetterhead TemplatesEmail TemplatesMail Merge TemplatesDocuments (e.g. images, links)Product Catalog

3. Standard Configuration

i. Data ModelCustom Objects

Properties

Custom Fields Picklist Values Field Dependencies Validation Formulas Audit Trail

Record Type / ProcessesTranslation Workbench

ii. User InterfaceHome Page ComponentsTab Names & LabelPage Layouts

Properties Fields Assignment Related List Assignment Custom Links / SControls Assignment

Custom Applications / Tabs Custom Buttons / LinksCustom Report TypesSearch Layout

4. CustomizationApex TriggersApex Classes / ScriptsApex Classes / Email ServicesS-ControlsVisual Force (Pre Release Only)Code reference to specific record id’s

2. Business Rules Automation

Workflow RulesApproval ProcessesAssignment Rules Validation RulesTerritory RulesCase Escalations Rules

1. Security & VisibilitySecurity Settings (including SSO)Organization Wide DefaultsSharing RulesUser recordsProfile settingsField Level SecurityRole HierarchyTerritory HierarchyFolder PermissionsPublic GroupsQueuesPage Layout to Profile AssignmentMobile Administration

Page 17: Environment & Release Management

Deployment Options - Comparison Tables

Items Pre Production

Data Integration

ApplicationPackage

Meta Data API Calls

Third Party Tools

(Snapshot)

Mercury Script

Manual

Security Settings Organization Wide Defaults Sharing Rules User records Profile settings new only partial Field Level Security Role Hierarchy Territory Hierarchy Folder Permission partial new only Public Groups Queues Page Layout to Profile Assignment Mobile Administration

1. Security & Visibility

= major release / high impact = within release cycle = frequent updates

Post Production

Sandbox Refresh

Page 18: Environment & Release Management

Deployment Options - Comparison Tables

Items Pre Production

Data Integration

ApplicationPackage

Meta Data API Calls

Third Party Tools

(Snapshot)

Mercury Script

Manual

Worflow Rules new only Workflow Alerts new only Workflow Outbound Messages new only Workflow Tasks new only Approval Processes Assignment Rules Validation Rules Territory Rules Case Escalations new only

2. Business Rules Automation

= major release / high impact = within release cycle = frequent updates

Post Production

Sandbox Refresh

Page 19: Environment & Release Management

Deployment Options - Comparison Tables

Items Pre Production

Data Integration

ApplicationPackage

Meta Data API Calls

Third Party Tools

(Snapshot)

Mercury Script

Manual

Custom Object Definitions new only Custom Object Properties Custom Field Definitions new only new only Picklist Values new only new only Field Dependencies w/ edits Validation Formulas Audit Trail w/ edits Record Types Object Processes Translation Workbench new only w/ edits ***

3. Standard Configuration / i. Data Model

= major release / high impact = within release cycle = frequent updates

Post Production

Sandbox Refresh

*** : Frequent updates for picklist values only.

Page 20: Environment & Release Management

Deployment Options - Comparison Tables

Items Pre Production

Data Integration

ApplicationPackage

Meta Data API Calls

Third Party Tools

(Snapshot)

Mercury Script

Manual

Home Page Components new only w/ edits Tab Names & Labels Page Layouts Properties Field Assignments Related List Assignments Custom Links Assignments S-Controls Assignments Custom Applications new only Custom Tabs new only Custom Buttons / Links new only Custom Report Types new only Search Layouts

3. Standard Configuration / ii. User Interface

= major release / high impact = within release cycle = frequent updates

Post Production

Sandbox Refresh

Page 21: Environment & Release Management

Deployment Options - Comparison Tables

Items Pre Production

Data Integration

ApplicationPackage

Meta Data API Calls

Third Party Tools

(Snapshot)

Mercury Script

Manual

Apex Triggers new only Apex Classes / Scripts new only S-Controls new only Code Ref to Record Id’s Email Services Visual Force (pre-release only) new only

4. Customization

= major release / high impact = within release cycle = frequent updates

Post Production

Sandbox Refresh

Page 22: Environment & Release Management

Deployment Options - Comparison Tables

Items Pre Production

Data Integration

ApplicationPackage

Meta Data API Calls

Third Party Tools

(Snapshot)

Mercury Script

Manual

Reports Dashboards Letterhead Templates Email Templates Mail Merge Templates w/ edits Documents (e.g. images, links) w/ edits Product Catalog

5. Application Administration

= major release / high impact = within release cycle = frequent updates

Post Production

Sandbox Refresh

***

***

*** : Only for Sandbox Full Copy.

Page 23: Environment & Release Management

Estimated Level of Effort – Comparison Table

Deployment Options

Dev QA/UAT Prod Training Activities

Data Integration

Data Load + 0-8hrs

Automated Automated Data Load + 0-8hrs

After initial setup: Users, Roles, Territories and Public Groups will be uploaded automatically via Role Mgmt Integration.

Application Package

1-5 minutes per item

1-5 minutes per item

1-5 minutes per item

1-5 minutes per item

Create Package by selecting each item Upload Package, Validate Log, Run Snapshot Diff

Meta Data API Calls

n/a 1-5 minutes per item

1-5 minutes per item

1-5 minutes per item

Using tools such as Eclipse, drag and drop objects and fields definition from one environment to another.

Third Party Tools /Snapshot

n/a Automated + 0-8hrs

Automated + 0-8hrs

Automated + 0-8hrs

Click of a button transfer of Configuration Validate Log, Run Snapshot Diff

Mercury Script n/a Automated + 0-8hrs

Automated + 0-8hrs

Automated + 0-8hrs

Recording in Dev, transfer to QA/UAT, Prod Certain items need Mercury script manual edits.

Manual Entry 5-20 minutes per item

5-20 minutes per item

5-20 minutes per item

5-20 minutes per item

Manual Entry from one environment to another

*** Estimated level of effort calculated using an average time of configuration by item in minutes. This estimate is only for a comparison basis and subject to change.

Sandbox Refresh (Post Production Only)

15min to 12hrs***

15min to 12hrs***

15min to 12hrs***

15min to 12hrs***

Enter Sandbox Refresh Request

***Depending on number of records and sandbox refresh requests received by SFDC at that time (e.g. TL CRM average time is 30 minutes).

Page 24: Environment & Release Management

Key Activities:- Project Team create prototype in cm, sfa or tlcrm sandbox.

- Project Team run Snapshot Diff to export implementation items.

- Project Team add design items to PM Org and generate initial design document.

- Project Team complete design document and submit for approval.

- Once approved, Release Manager upload implementation items per PM Org.

- Release Manager determine deployment strategy.

Key Activities: - Release manager applies package or run script to Prod.

- Release manager coordinates data migration and integration items.

- Release manager completes manual tasks.

- Release manager run Snapshot Diff to ensure that all configuration are included.

- Additional validation via Mercury Testing Tool can be added.

Key Activities:- Release manager prepares one or many packages or Mercury scripts from Dev and apply them in QA/UAT.

- Release manager coordinates data migration and integration items.

- Release manager completes manual tasks.

- Release manager run Snapshot Diff to ensure that all configuration are included.

- Additional validation via Mercury Testing Tool can be added.

Release Management Roadmap - Example

Step 1 Step 2 Step 3

Development Cycle Quality Assurance Cycle Deployment Cycle

Page 25: Environment & Release Management

What’s available in the Metadata API?

Spring ’08 (152) Planned for Summer ’08 (154) Custom fields Custom objects Apex classes Apex triggers Apex components Visualforce pages S-controls RecordTypes Profiles Field level security

Custom applications (tabsets)

Custom tabs Documents Folders Package Weblink Email template Letterhead Picklist / RecordType

map

Custom buttons

Static resources

Custom links

Workflows

Page layouts

Page layout

assignments

Home page

components

Home page layouts

Validation rules

Approval processes

Custom report types

Tab and field renaming

Button overrides

Field dependencies

Picklists

Dashboards

Reports

List views

Queues

Public groups

Email attachments

Translation

Other Enhancements to our MetaData API are planned for the future as well