Date published • 9th August 2018
Break over, let's get back to it.
This post is a continuation of the second part of my Salesforce and DevOps series. In that post, I wrote a list of the tools that apply to Salesforce in the categories that I view to be the "Dev" part of DevOps processes.
In this one, I'll try my best to do the same, but for the Ops part. Again, as usual, please let me know if there are any other tools or categories you guys think I missed, happy to update.
Before I begin, I have to say that a big part of what software Ops usually does doesn't apply to Salesforce. Being a managed cloud service, we can't really monitor, configure or act at all with regards to their infrastructure, overarching security of the service and their practices (by "they" I mean Salesforce as the provider).
What we can do is control and operate how we run our own implementations on top of Salesforce's core platform. Let's start running through the categories.
Full disclosure: being more on the technical side myself, I'll frame these tools in the view of a regular user, not necessarily an expert in setting them up or maintaining them.
Another note: I'm going to assume that you are familiar with Agile and Waterfall methodologies and their terminology. A post about methodology and best practices for Salesforce delivery might come in the future.
There are several options for project management, but I'll narrow it down to the ones I've used in the following subcategories: backlog / issue tracking / sprint management and project and task planning.
Backlog / Issue Tracking / Sprint management
Project and task planning
On backlog / issue and sprint management. I'd go with Jira, if your budget works. Not much more to say there, hands down winner for me.
On project and task planning. I'm not that familiar with these tools on the level of vendor choosing, but I'll say this:
Monitoring / Analytics / Security
Now, this is one of those tricky ones, when it comes to Salesforce, so I'll try to summarise it in some bullet points, instead of just listing a few tools.
I'm including security in this section, as there's not much more you can do on things like DevSecOps, which would probably take another post entirely, just not related to Salesforce. They handle all the product's security themselves.
This is not to say that there are no security related features in Salesforce (OWD, profiles, permission sets and what not), and you definitely need to build your custom features with security in mind (watch out for XSS, cross domain vulnerabilities, SOQL injection and so on). Obviously!
In short, there are many creative ways to get some level of monitoring out of the Salesforce platform and your codebase, and you can definitely squeeze what's available to make it work for you. There are just not that many rich features available out of the box, though.
Be careful with this, as you'll need to study the actual value of what's available and what you can create against the cost of implementing and maintain it. But that's true for everything, I guess.
Some of you will ask: is that DevOps? I say yes, definitely, almost everything you do in a project is part of DevOps in one way or another!
I'm not going to go into a lot of detail of Skype, Hangouts and the like, as they're useful, but I don't really mean to dig in too much into chat and video conferences, it's more about how you can collaborate with all the tools, both Dev and Ops.
The ones I know and have used are the following:
From what I've used and for flexibility and completeness, I have to give this one to Slack.
OK, there you go, I think I covered most of the tools that you can use for DevOps when it comes to Salesforce, between parts 2a and 2b. Please comment if I missed any or if you have more ideas, I'd love to hear them.
Ivan, Head of Architecture
If you would like to know more about what we do, we’re happy to answer any questions you may have for us.
Share this article: