Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

DevOps and Data Center - DevOps on the ground.

Performing DevOps and Release Management outside of the Cloud.

As more and more organization and application providers develop richer features for DevOps in the Cloud, performing advanced DevOps activities on self hosted systems seems to be getting left behind. 
And actually doing it right on self hosted systems is becoming more and more a lost art. 
But don't worry, DevOps and Agile is a journey, (and not all shops work the same).
If you try to keep working towards the below key factors, you'll find success.

Converge your toolsets. 

Integration is a key factor to success.
Any tool involved in your delivery pipeline should be integrated.  Integration will provide the needed data for the feedback loop
The issue tracker Jira DC
The version control system BitBucket DC, GitHub Enterprise Server self-hosted
The build system Bamboo, Jenkins
The repository management system Nexus, Artifactory
The publication system Confluence DC
The service management system JSM, SNOW

Apply Governance and Standards

You have to be able to rely on what is going into the feedback loop is a key factor to success.
Any tool involved in your delivery pipeline should be evaluated for standards required to complete your feedback loop.  Once identified apply the governance in that tool where it is applicable. 
Jira -> issue types, custom fields, field validators, workflow conditions, automations
The version control system pre-receive hooks ensuring that a Jira ID is in the commit, branch protection rules, merge policies
The build system Jira Steps pushing that details back, artifact versioning, tagging
The deployment system permissions, inputs, triggers
The repository management system permissions, metadata 

Get your upfront right

You can't manage what you don't measure knowing what to measure is a key factor to success
Work with the teams that are using Jira to perform software development to understand how they work and where you need to implement data inputs, if those inputs need to be required, if conditions need to be applied to workflow transitions, where and when automations can be leveraged... or always applied. 
It's all about the data that will drive the feedback loop. 
Always remember that the feedback loop is a loop -> meaning it is also a feed forward loop.

Script everything

Scripts are repeatable, and trigger without coffee... automation is a key factor to success
How script work is done has as many flavors as there are software shops.  Your biggest friend at this junction is probably a plugin scripting tool that allows usage of an api and rest calls into the other tools in your delivery pipeline toolset leveraging the necessary integrations of those tools.  Remember the above about getting your upfront right, these are your inputs and potentially your outputs as well as further trigger mechanisms.
Scripting under the hood within Jira can provide an organization with things like self-service deployments, DORA (DevOps Reporting and Analytics), Release Planning, Capacity Management, Value Streams, and a host of others.  These scripts can go further and provide report publication to Confluence as either live reports that refresh on page load or as historical reports allow for trend analysis.  We'll talk about the key factor to success with reports in another article soon.

In conclusion, DevOps in a non cloud environment is a journey of continuous improvement and it is usually built not bought.

I have to mention I'm looking forward to hearing about your DevOps journey outside the Cloud.

1 comment

Comment

Log in or Sign up to comment
Aron Gombas _Midori_
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
July 10, 2023

@Craig Nodwell Thanks for the article!

Our team develops two apps for the Data Center deployments that match your thoughts very well.

git-console-in-action.gif

Better Commit Policy matches the "Apply Governance and Standards" section. It helps to enforce rules on commits, branches and tags to have a crystal-clear code and repository history. For example, you can require your users mention a valid Jira issue key in the commit message or follow a strict branch naming convention.

jira-automation-rule-configuration.png

Better DevOps Automation matches "Script everything". It helps to execute Groovy scripts when e.g. commits are pushed to the Git, Bitbucket, GitHub, GitLab and even Subversion repositories. The scripts can send emails, Slack, Zoom notifications, trigger Bamboo, Jenkins builds, run Groovy, Python or shellscript code. It even has a Genius Commits feature that is a better implementation of what is known as Smart Commits.

TAGS
AUG Leaders

Atlassian Community Events