Innovate Faster with Salesforce Environments and Salesforce DX
After completing this unit, you’ll be able to:
- Understand the value of testing before deploying to production with good ALM practices.
- Get familiar with source-driven development and the new tools provided with Salesforce DX.
- Learn about the two types of testing environments offered: sandboxes and scratch orgs.
Move Fast, Without Breaking Things
By now you know that building on the Salesforce platform gives IT teams superpowers to deliver innovation to customers and employees alike. But the challenge for IT teams remains: How can you deliver innovation fast—without breaking existing processes, policies, and products? The solution is robust application lifecycle management (ALM) practices that unlock innovation in safe environments for testing and development.
The key to a good governance structure is to ensure that the processes adhere to your team’s best practices and are oriented toward bringing teams together to achieve goals that are aligned to overall business objectives. You’ll also have more satisfied customers because they’re able to see and try out new features before they’re deployed and see a regular release of business requirements. Deployments usually mean better application quality, fewer disruptions, and a path for user training. Ultimately, good ALM leads to happier developers and happier users.
Test First, Release Second
Every development team wants to build new things quickly, but making changes in production leads only to headaches. By iteratively developing in a test environment, developers can work more quickly without the restraints or worries of impacting your production environment. Seamlessly hand off tests and trials of new apps, new release features, and configuration changes to QA. And when your changes pass QA, you can release to production with just a few clicks.
Modern Software Development with Salesforce DX
Salesforce DX brings modern software delivery and development practices to the Salesforce platform. With a focus on source-driven development, Salesforce DX makes it easier for developers to build together and deliver continuously using the tools that make them most productive. The core principles of Salesforce DX are:
- Everything is driven from source code.
- Environments are easily created and disposable.
- Development is organized around team collaboration.
- Metadata and code are modular.
- Development is based on open standards and extensibility.
- Processes and tools facilitate continuous delivery.
- Flexible packaging supports agile distribution model.
Salesforce DX is a movement to bring modern development practices to everyone building on the platform. The included tools are designed to improve the ALM process at every stage.
Whether you’re an individual developer or working as part of a large team, Salesforce DX provides you with a suite of integrated, end-to-end lifecycle experiences designed for high-performance agile development. And best of all, Salesforce DX is built to be open and flexible so you can build faster with tools and practices you know and love.
A New Way to Build on the Salesforce Platform: Source-Driven Development
At the heart of these new tools is a change in methodology: source-driven development. By using source code, teams shift the source of truth from the Salesforce org to a version control system (VCS), enabling use of modern collaboration technologies such as Git and third-party test-and-build automation tools.
Developers—and admins—can now choose how they want to build on the Salesforce platform. From low-code declarative tools to modern software processes, the choice is yours.
Two Types of Environments: Sandboxes and Scratch Orgs
With the goal of giving developers—and citizen developers—the freedom to build and test new applications and org customizations in safe, isolated, development environments, Salesforce offers two types of test environments: sandboxes and scratch orgs.
Sandboxes are true mirrors of production. Your metadata and customer data is securely available without any additional setup or management. Scratch orgs are source-driven, CLI-accessible, fully configurable, and disposable environments that can be used for development and automated testing. With sandboxes and scratch orgs, IT teams have the agility they require to respond to business requests and deliver innovation to the business faster.
When it comes to making changes or building apps, builders can choose the best process for their needs and ALM process. Two common paths are identified below. The first is ideal for declarative developers who are used to promoting code through changes, ant migration, and the metadata API. The second path is ideal for developers using the CLI and modern software development practices. In this process, changes are tracked in a VCS and use the CLI for programmatic source pull, push, and testing.