Any teams out there practicing DevOps?

Do you have designated DevOps teams? Where are you in the process of implementation? What Atlassian and other add-ons and tools do you use? What best practices and advice do you have for others getting started?

3 comments

Hello Danielle. 

I do not mind starting this discussion. However, I am a very young Computer Engineer so take any of this with a grain of salt. As I understand DevOps, it is spending a lot of time, to develop tools to be more comfortable.

Before my current position at Adaptavist I was a DevOps engineer in Spain and before that I was a System Administrator trying to get a very traditional company to get into a CI pipeline. We would use DevOps methodologies to help deploy around 15-30 packages a day within a very complex infrastructure. Our core infrastructure was based upon Stash, Bamboo and Crowd. 

I have switched to a different position within another company as you can see but I still read a lot about DevOps. The following is an opinion that I have based on what I believe would be a good automated infrastructure based on DevOps methodologies. This is by no means anything that I have developed before, but it is a basic idea of what I believe a good DevOps infrastructure could look like.

The main parts of it would be:

-Crowd Server for easy auth that integrates well with other Atlassian software.

-Bitbucket server for storing their source code.

-Bamboo server for the CI pipeline. Some people also use Jenkins, which could be more powerful but it does not integrate as well with the rest of the Atlassian software suite.

-Docker for easy deployment and fault protection (if an app fails, you can spin up a new container automatically and redeploy within that container in a matter of minutes).

-Any DNS that comes with a healthcheck capability and load balancers. There are a few out there but I have never set any of them up, would not feel comfortable recommending. This is needed to check the status of your Docker instances, and if any of them fail, you can scrip the spin up of a new Docker instance.

-Any configuration management tool, if you are a new team, I would recommend Ansible, since it is easier to read that Puppet or Salt. If you have a beefy team I would recommend Salt over Puppet for security purposes. This part of the machinery would automate the setup of the Docker instances as they spin up.

-Python, cannot stress this enough. You can do Bash, Ruby and I have seen people using others, however, in terms of accessibility and readability, Python is as good as it gets. To make an extra note, I would recommend Python 3 over 2.7, but that is just a personal preference.

-Jira to keep track of your issues and your workflows.

The main issue with all of this is that it would take a long time to setup properly, and it will not be an easy road. However the benefits of having something like this would be rewarding to say the least.

I could take this further but without knowing more about what it is exactly that you do I would not feel comfortable recommending anything else. For anyone that reads this, feel free to disagree and comment on it, since this is probably the first time I comment on anything like this and would love to hear some feedback.

Hello Danielle. 

I do not mind starting this discussion. However, I am a very young Computer Engineer so take any of this with a grain of salt. As I understand DevOps, it is spending a lot of time, to develop tools to be more comfortable.

Before my current position at Adaptavist I was a DevOps engineer in Spain and before that I was a System Administrator trying to get a very traditional company to get into a CI pipeline. We would use DevOps methodologies to help deploy around 15-30 packages a day within a very complex infrastructure. Our core infrastructure was based upon Stash, Bamboo and Crowd. 

I have switched to a different position within another company as you can see but I still read a lot about DevOps. The following is an opinion that I have based on what I believe would be a good automated infrastructure based on DevOps methodologies. This is by no means anything that I have developed before, but it is a basic idea of what I believe a good DevOps infrastructure could look like.

The main parts of it would be:

-Crowd Server for easy auth that integrates well with other Atlassian software.

-Bitbucket server for storing their source code.

-Bamboo server for the CI pipeline. Some people also use Jenkins, which could be more powerful but it does not integrate as well with the rest of the Atlassian software suite.

-Docker for easy deployment and fault protection (if an app fails, you can spin up a new container automatically and redeploy within that container in a matter of minutes).

-Any DNS that comes with a healthcheck capability and load balancers. There are a few out there but I have never set any of them up, would not feel comfortable recommending. This is needed to check the status of your Docker instances, and if any of them fail, you can scrip the spin up of a new Docker instance.

-Any configuration management tool, if you are a new team, I would recommend Ansible, since it is easier to read that Puppet or Salt. If you have a beefy team I would recommend Salt over Puppet for security purposes. This part of the machinery would automate the setup of the Docker instances as they spin up.

-Python, cannot stress this enough. You can do Bash, Ruby and I have seen people using others, however, in terms of accessibility and readability, Python is as good as it gets. To make an extra note, I would recommend Python 3 over 2.7, but that is just a personal preference.

-Jira to keep track of your issues and your workflows.

The main issue with all of this is that it would take a long time to setup properly, and it will not be an easy road. However the benefits of having something like this would be rewarding to say the least.

I could take this further but without knowing more about what it is exactly that you do I would not feel comfortable recommending anything else. For anyone that reads this, feel free to disagree and comment on it, since this is probably the first time I comment on anything like this and would love to hear some feedback.

"Do you have designated DevOps teams?" 

I work at a small company with about 5 other developers. We're so small that we don't have a dedicated DevOps team, we just manage it ourselves. This can be a good and a bad thing. It's nice to have the freedom to explore and implement DevOps tools that improve our workflow, but it's bad when maintaining those tools takes too much time away from writing code. 

"Where are you in the process of implementation?"

Typically, a developer just decides to try something out. Ideally, DevOps tools should be easy enough to get started that we don't have to get buy-in from everyone just to do a trial. If one developer can't get a decent sample workflow going within a day or less, we probably won't end up using the tool because it is likely too complex for our team to manage.

What Atlassian and other add-ons and tools do you use?

  • BitBucket
  • Bamboo Server
  • HipChat
  • JIRA
  • GitKraken

What best practices and advice do you have for others getting started?

  1. Start with HipChat (or Slack, etc), and make it fun. Create an atmosphere where developers like to communicate with eachother and don't mind trying out their ideas. 
  2. Make bug-reporters and feature-requesters use JIRA.
  3. Train your team to use Git, enourage them to use branches for bugs/features.
  4. Setup a build server, using either Bamboo or BitBucket Pipelines.
  5. Configure integrations with HipChat so that they aren't too annoying but people get notified if they break the build 

Comment

Log in or Join to comment
Community showcase
Sarah Schuster
Posted Jan 29, 2018 in Jira

What are common themes you've seen across successful & failed Jira Software implementations?

Hey everyone! My name is Sarah Schuster, and I'm a Customer Success Manager in Atlassian specializing in Jira Software Cloud. Over the next few weeks I will be posting discussion topics (8 total) to ...

2,770 views 11 18
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot