Release Process Overview

13
Release Process Overview Kate Gentry, Director Release Management May 2016 SALESFORCE CONFIDENTIAL

Transcript of Release Process Overview

Release Process OverviewKate Gentry, Director Release ManagementMay 2016

SALESFORCE CONFIDENTIAL

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 any litigation, risks associated with completed and

any 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-K for the most recent fiscal year and in our quarterly report on Form

10-Q for the most recent fiscal quarter. These 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.

Safe Harbor

Enterprise Release Process

1

Multi-Release

Scheduling

Release Manager does

centralized scheduling

2

Pre-Release

Communications

Customer

Communication

Specialist

3

Deployment

Workflow Plan

All team members input

into the plan

4

Release

Deployment

Mostly automated;

Errors/Exceptions

need human intervention

5

Release

Communications

Automated Messages to

customers providing release

status information 6

Post-Release

Monitoring

Automated; Any concerning metrics

are investigated by

Service Owner

More than deploying a software package

Providing “Always-On” Service

Continuous Integration

Developers

Check in

Pa

ck

ag

e

+ t

es

ts

Continuous Integration

Test Environment

Robots

Handle

Testers,

Release Mgrs.

Continuous

Integration

Continuous Delivery

Mo

nit

ori

ng

Mo

nit

ori

ng

Mo

nit

ori

ng

If bad

Ifb

ad

RollbackReject

ProductionAcceptance

TestTestDevelopment

Integrated

Dev. Env.

Build &

Integration

Package &

Repository

Test

Automation

12-month rolling calendar on trust.salesforce.com Link to Trust

Major Release Communication

In addition to Trust…

• Emails to all Customer Administrators one month & one week before each Major Release Stagger

• Alerts sent out to Premier Support Customers several weeks in advance of each Major Release Stagger

• Sandbox Preview Blog available several weeks before the Staggered Release

• Preview of the Release Notes for new Major Release provided 2 weeks before Sandbox stagger

The planned schedule is sent to customers ahead of time via private Customer Chatter Groups

• Patch Release Schedule sent the Friday before the patch week

• Daily Release Schedule sent as soon as the content is confirmed

Patch and Daily Release Communication

Customers can also opt-in to get actual Start and End times for their particular instances

Additionally, for Patch Releases, customers receive “ReadMe” notes• Brief information about certain items in the patch

• Limited to items with defined or perceived customer impact

• Owned by Product Manager of the team submitting the item

Agile Development Process Enables Frequent Major ReleasesEnsures High-Quality Releases

Feature

Freeze

Release

Freeze

Done Done Done Release to Internal

Sandbox &

Production Instances

SB/R0 Release

• 2/3 sandbox instances

• Production instance

where Salesforce has

largest orgs

R1/R2 Release

• 25% of prod instances

• All remaining instances

• Branch locked

• Check-in approval required

• Incomplete features disabled

• Code line open for next

release

Monthly Sprint Reviews Release Sprint Staggered Release

Scrum Teams

and Functional Areas

Sign Off

Scrum Teams

Sign Off

Dec Jan Feb Mar MayApr Jun

• Continuous integration w/ 600k

JUnit and Selenium tests

• Performance testing

• 110M Apex customer tests

• Other production tests

• Final performance testing

Thu

Deploying Major Release with Minimal Disruption

Database Scripts (No Downtime)• Add columns to existing table

• Deploy shared PL/SQL under a user for the next

release

• Create upgrade triggers

• Create new tables and indexes

• Load triggers for new release

• Backfill new columns with default values

• Migrate data upgrade triggers until release is complete

Database Scripts Create New Schema

for Use After ReleaseRelease Weekend

Starting a Few Weeks Prior to the Release Fri Fri/Sat/Sun

Preinstall• Release

preinstalled

on

instances

5 Minute Release

Window• 50% servers

upgraded in

advance but not

connected to DB

• All DB sessions

terminated at start

of 5 minute window

• First group of

servers connects

to DB using new

schema

• Instance is usually

live in 60 seconds

• Second group of

servers upgraded

Weekend After

Coverage• Release Team

monitors service

and customer

cases

• As needed

releases to

address issues

before Monday

Some Lessons Learned

Ensure engineers understand customer experience

Automate the right processes and eliminate the wrong processes

Scale proactively

Embrace change and continuous delivery

Stagger change

Separate code deployment and feature activation

Service monitoring

Integrated tools for managing change

Manage your Agile development on SalesforceCustomers can get this toolset for Free!

Introducing:

Reports & Dashboards

Sprints Teams Bug TrackingRelease

ManagementChatter

MobileUpdate projects

anywhere with

Salesforce1

Social Collaborate on every

sprint, bug, milestone,

and team with Chatter

AnalyticsCustom reporting on

every stage of the

development cycle

Thank you