Salesforce DevOps Center – A Beginner’s Guide
This article explains Salesforce DevOps Center and how to install and use it in a Salesforce Org.
Image by Freepik
What is DevOps?
DevOps, short for Development and Operations, is a software development approach that emphasizes collaboration, communication, and integration between software developers and IT operations teams. It aims to streamline the software development lifecycle and improve the overall efficiency and quality of software delivery.
Traditionally, software development and operations were treated as separate entities, with developers focusing on writing code and operations teams responsible for deploying and managing the software in production environments. However, this siloed approach often led to inefficiencies, delays, and communication gaps between the two teams.
DevOps bridges the gap between development and operations by promoting a culture of collaboration, automation, and continuous improvement. It encourages developers and operations teams to work closely together throughout the entire software development process, from planning and coding to testing, deployment, and maintenance.
Key principles and practices of DevOps include:
- Collaboration and communication: DevOps encourages close collaboration and effective communication between developers, operations teams, and other stakeholders. This helps foster a shared understanding of project requirements, goals, and challenges.
- Continuous integration and delivery: DevOps emphasizes the frequent integration of code changes and the automated delivery of software. This enables faster and more reliable releases by reducing manual errors and ensuring that the software is always in a releasable state.
- Infrastructure as code: Infrastructure as code (IaC) is a practice in DevOps where infrastructure resources, such as servers, networks, and configurations, are managed using code and automation tools. This allows for consistent, repeatable, and version-controlled infrastructure deployments.
- Automated testing: DevOps promotes automated testing throughout the development process to identify issues and bugs early on. Automated tests ensure that software changes are thoroughly validated and minimize the risk of introducing regressions.
- Continuous monitoring and feedback: DevOps advocates for continuous monitoring of applications and infrastructure in production environments. Monitoring provides insights into performance, availability, and user behavior, enabling teams to respond quickly to issues and continuously improve their systems.
- Agile methodologies: DevOps aligns with Agile principles, such as iterative development, customer collaboration, and adaptability to changing requirements. The Agile mindset supports flexibility and responsiveness, which are essential in modern software development.
By adopting DevOps practices, organizations can achieve faster development cycles, increased software quality, improved collaboration between teams, and more reliable and stable software deployments. The ultimate goal of DevOps is to enable businesses to deliver value to their customers more efficiently and effectively.
What is Salesforce DevOps?
Salesforce DevOps is not much different from the actual DevOps framework. The DevOps for Salesforce reimagines the way your business manages Salesforce processes such as building new features, customizing Orgs and deploying changes, then pushing these changes along a release pipeline for integration and testing before pushing them to Production Org.
It provides an improved experience around change and release management and brings the benefits of DevOps best practices to your development team.
With DevOps, you can integrate with version controls, automate workflows and release with confidence using CI tools and Metadata API.
Salesforce recently announced the release of DevOps center to help teams release their solutions faster. The DevOps center can be used to collaboratively build, test and deploy the custom solutions across Salesforce Orgs.
Life Before DevOps Center
Before the availability of Salesforce DevOps, the developers used Change sets to deploy changes between lower environments and production Org.
Change sets are the classic way to move changes between environments(Orgs) declaratively. Change sets are relatively simple to use, but have their own Challenges.
- They have to be manually created.
- They can be time consuming as the changes need to be added manually.
- Deployment errors are also common and time consuming to fix.
- Change set replication process is an Async process and it is dependent on backend instance/server load.
- You can’t deploy all the components via Change sets such as Sales processes or standard picklist values.
- Consider your release pipeline is Dev > Staging > Prod. The Change sets should be separately in each environment.
But change sets can be useful if the changes between components being deployed are very small. These can be used for smaller Orgs where there are no frequent changes.
Also, some of the popular Salesforce Deployment tools are listed below:
- ANT Migration tool
- Copado
- Gearset
- Force.com IDE
How to Install and Use Salesforce DevOps Center
Key Considerations
- You can’t install a DevOps center in a Sandbox environment.
- User permissions needed: “Download AppExchange Packages”
- Admin/user needs DevOps Center Manager permission set
Steps to Install Salesforce DevOps Center
DevOps center is a managed package which can be enabled and installed in a Professional(API access needed), Enterprise, or unlimited Edition Salesforce Orgs. Additionally, it can be also installed in a Developer Edition, Playground and Scratch Orgs.
You can follow below steps to install DevOps center in Salesforce Orgs.
- Goto Setup and search for DevOps Center in the Quick Find box.
- Select DevOps Center.
- Enable DevOps Center and accept the license agreement.
- Click Install package button, present on the same page.
- On the Installation page, Select ‘Install for Admins Only’ and click ‘Install’.
- Approve the Third party access to login.salesforce.com and test.salesforce.com
- You will receive a confirmation email once the installation is done.
Once the confirmation email is received, check for the DevOps center package under Installed packages page in the setup menu.
How to Use DevOps Center
After the installation, Your users can use DevOps Center in Salesforce Org once the right permissions are assigned.
- In order to enable the team members to use DevOps Center, create a connected App and assign the required permission set as specified here in the article.
- The connected App provides access to DevOps Center from the App launcher.
Now You can click on App Launcher and search for the DevOps Center app.
- Once the connected App is created, you can add your team members as users in DevOps center Org. This step is required only if your team members are not active users in Salesforce DevOps Center Org.
- Once the team members are added as users in the Org, make sure to assign the DevOps Center permission sets to the users based on their roles.
- Make sure to add the DevOps Center Manager and DevOps Center Release Manager permission sets to users only who configure projects, build pipelines and promote the changes.
- The final step is to configure your Salesforce Org session settings. From Setup, Go to session settings. Deselect ‘Lock sessions to the IP address from which they originated’. This is to ensure and avoid errors when attempting to commit and promote changes in the pipeline.
You’re all set and good to go now! Happy Learning and Development using Salesforce DevOps.
Key Benefits of Salesforce DevOps Center
- Faster and more reliable deployments.
- The frequency of errors are quite less when compared to deployments using change sets.
- Increased safety and security due to monitoring and backup.
- Prior to DevOps Center, the only comparable, comprehensive tools available were those developed by Salesforce partners and are made available with some cost through App exchange packages. But now, DevOps is generally available which is a internal Salesforce tool for free of cost.l
Sharing some of the resources for quick reference to use and gain more insights about Salesforce DevOps Center:
Written By…
Siddartha Duggisetty is a 2x Salesforce Certified Technology Enthusiast with rich knowledge and experience in Sales Cloud, Salesforce Administration and troubleshooting Salesforce technical issues.
Disclaimer: The views and opinions expressed in this article are solely those of the author and do not reflect the views of DineshYadav.com. DineshYadav.com does not endorse any of the third party organizations or applications mentioned in the article, including their legality, integrity, quality, accuracy or any applicable intellectual property rights.