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

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root

Avatar

1 badge earned

Collect

Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!

Challenges
Coins

Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.

Recognition
Ribbon

Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!

Leaderboard

Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,552,225
Community Members
 
Community Events
184
Community Groups

Any teams out there practicing DevOps?

Danielle Gessow
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
Apr 13, 2017

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?

4 comments

Daniel Yelamos [Adaptavist]
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
Apr 18, 2017 • edited

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.

Daniel Yelamos [Adaptavist]
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
Apr 18, 2017

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 

hai Danielle, 

we have designated devops team. 

There 7 process for implementation of devops:

  • Processes
  • Communications and collaboration planning
  • Continuous development tools
  • Continuous integration tools
  • Continuous testing tools
  • Continuous deployment tools
  • Continuous operations and CloudOps tools.

Thanks

Richa

Comment

Log in or Sign up to comment