1) DevOps aims to automate and integrate processes between software development and IT teams to increase efficiency. It emphasizes cross-team communication and technology automation.
2) When adopting Salesforce DevOps, organizations face challenges around lack of best practices, admin-friendliness of tools, complexity of Salesforce environments, and finding expertise.
3) There are two main approaches to Salesforce DevOps - building out a solution using Salesforce tools like DX and scripting, or buying an ISV solution. Building provides more flexibility while buying provides pre-built features and support.
2. Me
● 8 years of Salesforce industry experience as
platform owner, developer, architect, and consultant.
● Worked on implementations of all sizes (small to
enterprise)
● Experience as Customer, SI, and ISV
● 8x Salesforce Certified
○ including…Development Lifecycle and Deployment Architect Chandler Anderson
Technical Architect
3. Disclaimers!
I work for an ISV partner named Odaseva.
I do not represent them here. These opinions are my own!
I won’t be talking about Odaseva solutions in relation to DevOps.
That said, if you have data management needs, let me know after :)
4. Agenda
● Intro to DevOps
● Key Value-Adds of DevOps
● Salesforce DevOps Challenges
● The DevOps Stack
● Build or Buy?
● Where to Start
● Resources
5. Intro to DevOps
According to Atlassian…
“DevOps is a set of practices, tools, and a cultural
philosophy that automate and integrate the
processes between software development and IT
teams. It emphasizes team empowerment,
cross-team communication and collaboration,
and technology automation.”
Important to note…it is not just the tools that you pick.
It’s the commitment to the principles that create the
efficiencies.
6. Key Value-Adds of DevOps
● Increased visibility of features and bug fixes
● Faster velocity and release frequency
● Automation of testing and deployment
● Reduced environment management overhead
● Fewer bugs with earlier detection and faster fixes
● Peace of mind :)
7. Salesforce DevOps Challenges
● Best Practices - Salesforce is relatively new to the DevOps game. Proven patterns are
sparse. A lot is left for customers to solve.
● Admin-Friendliness - No Salesforce out-of-box solution that accommodates
clicks-not-code (Change Sets…aren’t it). DevOps Center is still not live.
● Infrastructure - Salesforce environments are less portable than other cloud
environments. Sandboxes are hard to keep organized. Scratch orgs are close.
● Finding Expertise - Proven Salesforce DevOps expertise is hard to find. Have to bridge
knowledge gaps between traditional DevOps experts and Salesforce teams.
8. The DevOps Stack
DevOps Tooling Salesforce
Local Machine
Integrated PMT
CI/CD Pipelines
Git-based VCS
Production
Full/Partial Sandboxes
Developer Sandboxes
Scratch Orgs
IDE w/ Salesforce
Extensions
Salesforce CLI
Git
DevOps Strategy
Browser
10. Build: DX + Scripting
● Using Salesforce’s latest and greatest
● Flexible for different stacks
● Tools are well documented…
BUT…
● …actual best practices are less clear
● High learning curve
● You’ll might reinvent the wheel
Best when…
● You have lots of programmatic development
● Needs lots of flexibility
● Owner is technically-inclined
Less ideal when…
● You are low on time to learn
● Most team can’t won’t use an IDE
● Salesforce CLI
● Metadata API
● Command Line
● Git
● Scripting (sh/yaml)
CumulusCI
11. Buy: ISV Solution
● Pre-solves common problems
● Advanced DevOps features built-in
● Vendor support & professional services
BUT…
● Expensive (because…enterprise SaaS)
● Learnings become solution-specific
● …still requires understanding DevOps
Best when…
● Team is large with diverse skill-set
● Don’t mind predefined workflows
● Owner is product-inclined
Less ideal when…
● You have a small budget
● Need control over DevOps strategy
● The ISV solution itself
● Licenses
● Metadata API
(...and many more)
13. Ask yourself some questions…
● What are we willing to support?
○ Who is going to own this? Are they technically inclined?
○ Or would they rather learn a product?
● What tools do we already use?
○ Do they use IDEs already? If they use multiple, do you standardize to one?
○ Does IT already have software that supports DevOps?
● Do we have the resources to pull this off?
○ Build or Buy, both are costly in their own way (time and money, respectively)
○ You still need to invest in DevOps strategy regardless.
14. Take steps to implement…
Build:
1. Choose a new project to experiment with
2. Set aside time to learn tools
3. Read docs & learn from sample projects
4. Document processes and share with team
5. Maintain and keep up with latest
Salesforce and stack releases
Buy:
1. Qualify vendors with questions on specific
organizational requirements
2. Read docs & play with sandbox if avail.
3. Work closely with vendor to implement
4. Educate team on tool’s best practices
5. Stay aware of new releases and features
from vendor
6. Keep enhancing with team feedback!
15. Sample DevOps
Process
Many steps in the process align with
the DevOps Tooling stack shown
earlier…
● Integrated PMT = Jira
● Git-based VCS = Bitbucket
● CI/CD Pipelines = Bitbucket
An ISV solution would replace one or
several of the steps in this process
(likely the Develop and Validate ones).
The tools don’t matter as much having
the processes adopted and
maintained!
16. Keep in mind…
It’s OK to Crawl, Walk, Run!
● Crawl - Start with a smaller team or
project. Learn basics of each stack tool
● Walk - Implement more advanced tools
and features, with more teams
● Run - Scale to entire organization,
implement automated testing, ect.
Keep the process in mind in addition to the
tooling! Flow, Feedback, Experimentation
Consider getting certified!
● Salesforce Certified Development
Lifecycle and Deployment Architect
● Vendor certifications
18. Grow your DevOps expertise
Books:
The Phoenix Project by Gene Kim
Mastering Salesforce DevOps by Andrew Davis
Web Resources:
https://salesforcedevops.net/ by Vernon Keenan
The Three Principles Underpinning DevOps
The sites of the many vendors out there…
Trailhead:
Salesforce DevOps with Copado
Build Applications with CumulusCI
Quick Start: Salesforce DX
Simplify Your Development Process with
Continuous Integration