The Atlassian Community can help you and your team get more value out of Atlassian products and practices.
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?
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?
What best practices and advice do you have for others getting started?
we have designated devops team.
There 7 process for implementation of devops: