Atlassian seems to have adopted DevOps across their whole ecosystem. Addteq agrees with how Atlassian has implemented DevOps across their company and we try to follow as many of those tips as we can. We found that by following these important tips, adopting DevOps across an entire company, is much easier and more streamlined. As found in this e-book, by implementing all of Atlassian's tools, creating visibility across all teams, plus a mix of other tools and platforms like Puppet, Docker and AWS, teams work faster, more efficiently and more streamlined. Adopting DevOps in this way really allows all of the teams involved in a release, to collaborate and work more closely together. 

The key behind fully adopting DevOps is not the tools your teams decide to use, but how closely your teams collaborate together through each stage of production and release.


Atlassian's DevOps Experience

In this e-book, Atlassian shows how they fully adopted DevOps by explaining each of the team's responsibilities. By using the toolset they have created and by following the image above, Atlassian has found the best way to have their entire team run on DevOps. Find out more about how Atlassian does DevOps internally by downloading the e-book. 

Download the E-Book


Addteq's DevOps Experience

Addteq loves Git + Bitbucket + Bamboo! Similar to Atlassian, Addteq uses these  tools to improve our continuous integration and deployment processes. We follow feature driven development, when there is a new feature request or a change request to a feature, we simply create new branches. If that feature is passed and approved, we then merge that to the integration branch. Since our integration branch is always approved and is the only one that gets pushed to production, it makes for a faster and more efficient deployment. 

In this Sonarqube blog, learn about how we use automated code analysis to assist code reviews and automate detection of potential bugs and code smells. 

Addteq believes in "infrastructure as code" and uses Ansible and Puppet for continuous delivery of infrastructure. We create a Git branch for configuration changes and use pull requests for peer review similar to how the development teams work. 

Similar to Atlassian, we have also built a custom integration with our monitoring system using Nagios, JIRA and Hipchat. Alerts from Nagios are visible in a team chat room in HipChat for shared visibility. Critical alerts from Nagios create JIRA issues automatically and they are updated via comments and resolved automatically if the underlying problem is fixed.

We learn about system outages and other potential performance glitches in two ways:
• Our users raise incidents using JIRA Service Desk
• Our monitoring systems (like Cacti, DataDog, Zabbix, and Nagios) send us a notifications

At Addteq, customers can access the JIRA Service Desk Customer portal to get support. We utilize features inside JIRA Service Desk to enable agents to escalate support support requests as issues in the development project if required. We use Confluence for user guides, documentation and it even powers our blog!
Once we’ve deployed a new feature into production, it’s time to run and operate it. At Atlassian, our developers are fully responsible for the features they build, so using JIRA Service Desk helps them track and resolve incidents faster. We use Confluence to manage run books, knowledge base articles, and related documentation at every step.

Overall Keys to Success When Adopting DevOps

  1. DevOps is not a single person job, it is everone's job. Collaborative teamwork allows for a better and more effective environment.
  2. Plan your work in sprints. 
  3. Release features or products in smaller parts and more often. 
  4. Team accountability and visibility is a huge factor in adopting DevOps. 
  5. Gathering feedback helps everyone work more efficiently. 
  6. Swarming allows for an open and visible process. 
  7. Stay focused on continuous delivery and automation. More automation means more effective continuous delivery, which means less overhead. 
  8. Keep all the teams involved throughout a process, extremely close and open for effective collaboration and feedback. 
  9. Embrace the idea of infrastructure as code. 

Interested in Adopting DevOps?