Description
Gearset DevOps Advocate, Jack McCurdy, talks through what DevOps is and why it matters.
Topics discussed:
- What is Salesforce DevOps?
- Why is DevOps for Salesforce unique?
- How to get certified
Learn more:
- Gearset Summit events
- Get certified in DevOps
- What is Salesforce DevOps?
- Top 10 business benefits of DevOps
Related videos:
Transcript
With that, I'm very happy to introduce Jack McCurdy, who is a DevOps advocate from GearSat to get things kicked off with the summit keynote, dev DevOps one zero one. Over to you, Jack.
Thanks, Charlotte. Howdy, folks. Thank you all for taking the time out of your day to join us, for this edition of Dearsys DevOps Summit, in coordination with DevOps Launchpad. I am going to do the ever familiar dance of sharing my screen here in just a second.
And, hopefully, y'all will be able to see me in in just a wee second here, and we will get started.
Charlotte, can I rely on a thumbs up from you or a quick shout just to know that I could you can all see me?
We can hear see and hear you. Great.
See you here. Awesome. Cool. Alright. So thank you once again everybody for for joining us.
I am gonna be taking you through Salesforce DevOps one zero one. So the objective of this session before we hop into another fantastic talk, from Michael after myself and ahead of taking on those certification tracks with the team later. We're gonna give you a little bit of an overview of what DevOps is and why it actually matters and what brings us all here today. So Charlotte's, introduced me here.
My name is Jack McCurdy. I am one of the DevOps advocates here at Gearset, and I've spent the last four years at Gearset working with Salesforce teams of all shapes and sizes to help them understand where they are at with their Salesforce delivery model and help them implement best practices as it pertains to DevOps in their Salesforce delivery cycles and really helps them level up and transform their cultures that they are building within those teams so that they can really serve their end users and serve their instances in the best way possible. So I spent the last four years doing that, and over the last year or so, spent a lot of time speaking about it, at various community conferences.
And, I also host a podcast called DevOps Diaries if you wanna check that out, a little bit later for more dev additional DevOps learning, from industry experts. You can also find some more information there.
So if we get into it, what is Salesforce DevOps? Now over the past five years, the Salesforce ecosystem has really shifted towards a new future.
It has become more important than ever for the developer and the configurator experience to improve, which makes it easier for us to customize Salesforce and build better features for our users.
Now building up Salesforce has come a long, long way from the original platform.
So it was already pretty painful to try and deploy code and config using either the AMP migration tools back in the day or change sets.
And now with even more complex code or even to say the advances in declarative configuration, more advanced flows, and things like that, the more diverse set of roles and the people involved in the development of Salesforce configuration and features, there's really been a need and a shift for a better way to release those features and get those features out to our end users.
So if we take it back just to basics, DevOps is a set of practices and principles that combines best practices from software development, that's the dev part, and IT operations, that's the ops part, to allow teams to build, to test, and release their software faster and more reliably. That is to say their features, applications are built within Salesforce out to production.
Now DevOps is, DevOps platforms, DevOps tooling has been available for some years, and it has become the norm, for release management on the platform. Salesforce itself has responded first with the DX developer tooling. And then more recently, you may well be familiar with Salesforce's DevOps center.
But there's a couple of things that make Salesforce DevOps a little bit more unique, compared to DevOps on other platforms.
So when we consider Salesforce DevOps, we have to remember that Salesforce is a unique platform, and as a result, Salesforce DevOps looks a little bit different. Salesforce itself removes a lot of the traditional complexity that you will find in DevOps on other platforms, which is fantastic. And it's those complexities that typically tend to be the scary bit. The things that those less familiar or admins or configurators and people from those backgrounds, are put off by when they hear the term DevOps.
So the management of infrastructure, scalability, hosting, and even some of the testing aspects of DevOps, which has traditionally been the responsibility of IT operations teams, and their chosen systems and tools. That is all handled by Salesforce themselves, which is awesome for us. So what that actually means as a result, DevOps on the Salesforce platform is focused on the key aim of DevOps itself. And that is to break down the silos of teams so that everyone that's involved in building on Salesforce, building new features, maintaining the platform are empowered to do so and help release those features.
So whilst lots of people can be put off by the term DevOps and many will assume that it's too complex for their team size or stage, that is absolutely not true and something that you're gonna be learning a little bit more about later today throughout the certification tracks.
And regardless of your team size, there's plenty from the world of DevOps that can benefit you, something that we'll also grow to learn.
So let's talk a little bit about what the key principles of DevOps are and some of the key aspects of DevOps to help you understand what you'll be learning a little bit more about Lyric today and how they might slot and fit into your organization.
The number one, one of the key foundational pillars of DevOps is version control.
Now version control allows you to track every change that you make to the Salesforce platform.
It makes it easy for you to review all of your contributions, and it will also enable parallel development for multiple contributors to work on the same parts of your Salesforce instance at the same time, and do so safely.
And you do so by committing work to various branches within a burst control system.
And those branches are later merged together, to combine and become the latest stable version of the code that you will then find in production. So all metadata lives as code, somewhere, and that will is reflected in version control. And now there's plenty of benefits to using version control systems. So by allowing those parallel development streams, we reduce risk and avoid overwriting each other's work, one of the biggest pains that a lot of Salesforce professionals find when they are developing on the platform.
And we can use our version control and our Git repository as a source of truth rather than your production org. So this means that our features and functionality stay protected outside of production itself with a complete history of every change that's ever been made, which will aid collaboration with your team members as well.
And, ultimately, what VergControl aims to do is allow you to deploy reliably and safely from a single source of truth. So if we take a real life example, if we think about us as an admin working on the account object and another admin or another colleague also working on the account object, by working with Verage Control, what we can do is we can add our new fields or new parts of the account object we want.
Our colleague can add their parts that pertain to another ticket, for example, and they can we can do that isolated with version control.
And when comes the time, we will then combine our work from those isolated work streams together, to then be deployed or pushed out into other environments. Version control allows for that, and each one of those changes will be tracked, by each of us.
And this is where we will then start to think about automation.
So automation is one of those other key pillars of DevOps, and there is many ways that automation can come into a best practice DevOps workflow.
So when we think about automation and what a lot of people think about in this facet is continuous integration and continuous delivery. So CI, continuous integration, builds on that git based workflow and is about bringing together different work streams. It's the practice of merging work together early and often with automation checking that different work items can be combined successfully and deployed. Taking my account object example, a continuous integration process will make sure that my changes as admin one can be combined with the changes of admin two on my account object, together in another org. So, that is what the CI part of CI and CD looks to solve.
The CD part, continuous delivery, is about releasing frequent small changes to users via an automated process and thus reducing the risks that are associated with doing large releases.
So if we take together continuous integration and continuous delivery, this will take the pain out of repeatedly deploying those big changes manually to multiple environments and promotes a real user driven approach to development where you can aim to contribute small but frequent changes and then get immediate feedback from your team and your end users.
Now the third part of that release process in itself is gonna be testing.
So testing is an integral part of your development and your releases, and DevOps includes building tests and test automation into your process as well. So that comes in different shapes and forms. So you have your unit testing.
You have your, you have your user interface testing. You have your static code analysis that will take a look at your code quality as well as any other user acceptance testing, that you might do too. So all of those types of testing can and should eventually be built into a high performing DevOps process.
But testing early and then testing throughout your process is gonna be key. And the further left you can shift your tests, the better. So if we're talking about shifting as far left as possible, we put the onus on the developer or the configurator to test the new code and the feature functions correctly in their development org or their scratch org. And then through the next deployment to the next environment, we want to test that your feature combines well with others, the integrations, the new features aren't breaking anything that exists already in your org.
And then finally, before that production stage, we wanna check that the users are happy with that feature or that application in a user acceptance environment. So a UAT environment is highly common too.
Now that might sound like a lot of tests to step up, and implementing test automation is the best way to reduce manual effort without compromising release quality, which is gonna save you a lot of time later on. And the more time and more effort that you put into testing up front, that is gonna save you countless hours in bug fixes or doing costly rollbacks and redeploying and redeveloping features later. So a lack of testing can really make things go south really quickly.
Take a look at the fourth pillar. So we're gonna talk about backup. So your Salesforce data and your metadata can be lost or it can be corrupted at any time due to things like human error or malicious attacks or integration bugs. Even the highest performing DevOps teams can fall victim to these things.
So it's less a question of if it's gonna happen, but when it might happen to you. So it's really important that you have a robust backup and restore strategy that is ready to go should you need it. So integrating a backup solution into your DevOps workflow is gonna be one of the best and most effective ways to secure your orgs. So that automation in your DevOps process can include and should include monitoring for data or metadata loss, and there's lots of platforms that will allow you to do that. But the best platforms are gonna be the ones that allow you to do those things all under onboard under one roof. So when you need to recover from any instant, you can follow your best practices, and you can handle the restore using the tooling that is familiar to your team as part of your usual release process rather than risk further damage to production by using a tool that you might only use once every six months or once a year or once every three years when, a disaster strikes.
And finally, I'm gonna talk about culture, and this will segue quite nicely into the rest of the session today. So DevOps is a way of working that should absolutely be accessible to the whole team. And the teams that see the most success during adoption or refining of their own devil's processes are those teams where every member is brought in and involved.
Collaboration, clarity, and understanding are the keywords that we hear again and again and again from the most successful teams in the ecosystem.
So great tools, and there are great tools out there. Great tools aren't enough for DevOps success. You need to have a clear strategy and should have a clear strategy for implementation and ongoing tweaking of your process. DevOps is about continual improvement, and you should have that with your strategy too. And this will build a culture of empowerment with defined roles and responsibilities, providing that you continually invest in your team's development too. So that brings me on to a nice segue where we're gonna talk about training being a key part of your strategy and why we want to get DevOps certified.
So regular training is a key part of investing in that culture and investing in your people.
If you've been in the Salesforce ecosystem for a while or even if you are new to it, you will surely understand the value of Salesforce specific qualifications.
There's probably plenty of you sitting in this room with multiple Salesforce certifications already. But in this changing landscape, it's more important than ever to make sure that your skills are up to date and that you're well equipped to tackle every challenge that comes your way. And Salesforce DevOps is no exception to that. Training in this area is now easier to access than ever with certification available in the range of areas.
And we're gonna cover a few reasons now, why that should be a no brainer for your team. And you've already taken the first step on that journey if you are, sitting in here and listening to me today already.
So DevOps is not key to Salesforce. I mentioned DevOps center earlier, and that is firmly established that this way of working is going to be the de facto approach to Salesforce development going forward. So whatever way you look at it, DevOps is here to stay. And by taking a DevOps specific certification, you'll learn how DevOps uniquely applies to the Salesforce platform, and you'll future proof your knowledge and lay strong foundations for your future.
As DevOps becomes more integral to the Salesforce ecosystem and is going to become a prerequisite, of any role and any environment that you might find yourself working in.
Like any certification, it'll also build your confidence. So you might have an idea of what you should be doing with your Salesforce delivery environment and your DevOps implementation, but a certification will solidify that knowledge and give you a useful resource to refer back to whenever you need it.
So by completing a certification, you're gonna be ensuring that you're following up to date best practices and in turn enabling you to reap the benefits of DevOps for your team regardless of its size or the industry or the specific job role that you are currently undertaking.
If you also encourage your team to complete the same certifications, that will foster and encourage a culture, of excellence and DevOps maturity to set your team up to succeed right from the start ensuring that everybody understands the fundamentals and the benefits of a great DevOps implementation for your instance. And that'll mean you're all on the same page and are likely to see the best results.
Speaking of results, the best training and staying up to date is going to improve your team's importance, improve your team's performance. So the latest data Salesforce DevOps survey found that with regular training, teams make fewer mistakes. They're also more likely to have their instances backed up and protected from metadata or data disaster, and they're more likely to say that how they undertake their work and their DevOps aligns with their company cultures.
And there's clear correlation between regular training, effective effective collaboration, and cultural acceptance of DevOps.
So regular training helps create the essential traits of DevOps culture. Those teams work in environment that promotes continuous improvement and personal development, and then they outperform all others across all the DevOps metrics.
Effective collaborators run more frequent releases and see far fewer data and metadata loss instances.
And the reverse is also true. If you have a cultural resistance to DevOps that will hinder your progress, And this is likely a reflection of wider company culture that might operate in silos with a lack of information and lack of trust moving between different teams and different departments. But that can be mitigated by ensuring everybody across the org chart understands the overarching objectives of your business and how their roles and responsibilities contribute to it and is given the knowledge and tools they need to get there too.
DevOps culture always puts the emphasis on collaboration, and it's that mindset that produces the real results. And individuals receiving regular training are eighty percent more likely to rate their team's collaboration as good or excellent, and those teams perform much better than those who rate their collaboration as poor. Teams that do relate their collaboration as very poor also say that DevOps doesn't align well with their wider company culture. So we know how important DevOps is to success, and it's clear that taking the investment in training is a big step in the right direction.
And finally, four, DevOps skills are now more in demand than ever. We're seeing adverts for Salesforce rules type specifying DevOps and DevOps tools experience across the whole ecosystem for a lot of applicants, everybody from admins to dedicated release managers, developers, architects, you name it. You will see a job role that specifies DevOps experience as a must. So with the Salesforce DevOps certification, you can ensure that your resume accurately reflects your skill set as well as demonstrate that you have an aptitude for continued learning. So you never know the doors of the doors that will open because of a wide range of skill sets and certifications might, might be transformative even within your current organization. That's worth that's worth saying too. So it's worth taking the time to think about your longer term goals and how you can carve out your desired path with specific qualifications.
So what are we here to do? There's no better there's no better time to get certified, and that's ultimately why you're all here. So that's hopefully giving you a little bit of food for thought about why you're here today and the benefits of staying on, for the rest of the amazing sessions and the breakout rooms that we are going to have. As would use this as an opportunity if you haven't already, ahead of the sessions to sign up for your DevOps Launchpad account, DevOps Launchpad dot com, so you can really make the most of the rest of your time, across the sessions that we have for you. So thank you very much. I hope you find that useful. And, Charlotte, I will get back to you to carry us on for the rest of the afternoon.