Why DevOps in Salesforce?

Yoni Barkan
APPIRIO DX
Published in
3 min readAug 10, 2020

This is the first post in a series about bringing DevOps to Salesforce. Written by Roarke Lynch and Yoni Barkan

DevOps is a collection of practices that are widely adopted across all forms of software development. These practices focus on the flow of change (Build, Test, Deploy) from ideation, through development and into production.

These practices have been maturing in the software development ecosystem for more than a decade. However, it’s only now gaining traction with Salesforce. Companies are shifting their mindset from just ‘release management’ to DevOps, enabling faster innovation without sacrificing trust in their applications. For companies that adopt it, DevOps brings a number of other cultural benefits, including increased transparency, better communication, and unified objectives.

In the wider software development community, DevOps is generally characterized by a few common qualities:

  1. Version Control to manage the movement of code — if you don’t have version control, you don’t have a DevOps stack and you don’t have DevOps.
  2. Automation to drive testing, code promotion, and continuous integration / continuous delivery (CICD).
  3. Virtualization and Infrastructure as Code to create reproducible environments.
  4. Most importantly that code is the source of truth.

In the past, Salesforce as a platform had a hard time adopting DevOps because it couldn’t turn orgs into code and then create copies from that code. This meant that code could not be the source of truth.

Salesforce’s investment in the developer experience, Salesforce DX, has opened the platform to some of the most powerful trends in software development today, including overcoming the challenges to adopting DevOps.

  • The introduction of the source format as a successor to the legacy metadata format makes capturing a trackable version history of the configuration of your org much more compatible with version control technologies like Git.
  • The Salesforce DX command-line tool and its ability to help programmatically control and script deployments, testing, and configuration in orgs let users put industry-standard CICD tools like Jenkins, Circle CI, GitLab CI and GitHub Actions at the heart of their automation.
  • New capabilities like org shape, scratch org snapshots, and lightning sandboxes let users create and destroy environments on -the- fly, fostering developer independence, development environment isolation, and other key DevOps principles.
  • And last, but not least, scratch orgs let us fully realize the promise of code as the source of truth where not only the metadata but even the features and editions of our development and testing environments are generated dynamically 100% from source code.

The maturity of the Salesforce DX initiative has reached a tipping point, and the ecosystem is taking notice. There is a clear differentiator for companies that take the initiative to move from legacy release management to adopt the principles of DevOps.

For our part, our Appirio DX tools and methodologies pick up where Salesforce DX leaves off to transform development on the Salesforce platform. It is a set of licensable tools and professional services from Appirio. To learn more, reach out to an Appirio DevOps expert.

--

--