0% found this document useful (0 votes)
128 views

Devops Tools Report 2020: by Gitkraken

This document provides a summary of the key findings from a 2020 DevOps tools report by GitKraken. It outlines the most popular tools used by DevOps teams for project planning, code management, testing, deployment, monitoring and other stages of the software development lifecycle. For project planning and issue tracking, the most commonly used tools are Jira, Trello and GitKraken Boards. Jira is highly customizable but complex, while Trello and GitKraken Boards provide lighter-weight Kanban-style project management. The report is based on survey responses from over 2,700 developers and IT professionals.

Uploaded by

Leonardo Mancebo
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
128 views

Devops Tools Report 2020: by Gitkraken

This document provides a summary of the key findings from a 2020 DevOps tools report by GitKraken. It outlines the most popular tools used by DevOps teams for project planning, code management, testing, deployment, monitoring and other stages of the software development lifecycle. For project planning and issue tracking, the most commonly used tools are Jira, Trello and GitKraken Boards. Jira is highly customizable but complex, while Trello and GitKraken Boards provide lighter-weight Kanban-style project management. The report is based on survey responses from over 2,700 developers and IT professionals.

Uploaded by

Leonardo Mancebo
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 40

 

 
DevOps Tools Report 2020 
By GitKraken 
 
 

Table of Contents 
 
Executive Summary 2 

Key Findings 2 
Plan 3 
Project Management & Issue Tracking 3 
Key Findings 3 
T
​ ools 3 
Code 8 
Version Control 8 
Key Findings 8 
Hosting Services 8 
Key Findings 8 
T
​ ools 8 
Git/SCM Clients 12 
Key Findings 12 
Tools 13 
Integrated Development Environments 17 
Key Findings 17 
Tools 17 
Build 21 
Build Tools 21 
Test 22 
Testing 22 
Key Findings 22 
Tools 23 
Release 26 
Configuration Management 26 
Continuous Integration/Delivery (CI/CD) 29 
Key Findings 29 
Tools 29 
Deploy 31 
Deployment 31 
Key Findings 31 
Tools 31 
Operate 32 
Containers 32 
Monitor 34 
Analytics/Monitoring 34 
Communication 37 

Conclusion 39 

1
 

Executive Summary 
While  many  software  methodologies  have  fallen  in  and  out  of  favor  over  the  decades,  it’s 
clear  that  DevOps  is  not  a  trend,  and  it’s  well  on  its  way  to  becoming  the  standard  way  of 
software  development  and  operations.  Today,  enterprise  teams  are  at  various  stages  of 
their  DevOps  transformations,  working  towards  faster,  more  secure  delivery  of  their 
technologies to gain a competitive advantage.  
 
When  developers  work  in  tandem  with  IT  leaders  to  remove  roadblocks  and  create  a 
seamless  software  development  lifecycle,  it  can  have  an  incredible  effect  on  the 
productivity, performance, visibility, collaboration, and innovation of the organization.  
 
That  being  said,  it’s  not  an  easy  or  straightforward  transition  to  DevOps.  It  requires 
significant  changes,  including:  evolving  employee  mindsets,  introducing  the  appropriate 
tools,  and  teaching  new  skills.  No  matter  the  stage  of  your  DevOps  transformation,  your 
focus  should  be  continuous  improvement.  Start  with  foundations,  and  then  identify  your 
unique constraints; once those constraints no longer hold you back, repeat the process.  
 
Not  having  the  right  tools  is  a  fairly  easy  constraint  to  eliminate  and  well-worth  the 
investment.  The  mission  of  this  report  is  to  provide  guidance  and  insights  on  the  best 
DevOps  tools  from  trailblazers  who  have  already  successfully  implemented  them.  We 
asked  our  global  community  of  developers  which  tools  they  rely  on  for  DevOps  success, 
and are proud to present this report, which is based on over 2,700 responses.  

Key Findings 
When  it  comes  to  tools,  useful  and easy-to-use are the main criteria consumers have come 
to  expect,  but  technology  professionals  often  assume,  because  of  their expertise, they can 
make  any  tools  work.  In  reality,  the  opposite  is  true  though:  due  to  the degree of difficulty 
of  building  complex  systems  and  managing  business-critical  infrastructure,  good  tools  are 
even more important. 
 
“The highest-performing engineers are  
1.5 times more likely to have easy-to-use tools.” 
- ​Accelerate: State of DevOps 2019​ ​report by DORA & Google Cloud 
 
Development  teams  that  are  empowered  to  make  their  own  decisions  about  tools 
contribute  to  better software delivery performance. It’s clear that high-performing software 
engineers  and  IT  leaders  choose  useful  and  usable  tools,  which  improve  productivity  and 

2
 

deliver  value  during  the  DevOps  transformation.  They  also  automate  and  integrate  tools 
into  their  toolchains,  freeing  up  time  to  spend  on  new  development,  and  debunking  the 
argument that it’s too time-intensive or expensive to implement. 
 

 
Plan 
Project Management & Issue Tracking 

Key Findings 
Whether  your  teams  use  Scrum,  Kanban  or  a  hybrid  methodology  of  agile  project 
management,  you’ve  likely  been  doing  issue  tracking  for  a  long  time.  Project  management 
and  issue  tracking  are  foundational to the planning process of DevOps. When working on a 
team, these tools can provide valuable transparency, accountability, and planning accuracy.  
 
Integration  and  automation  are  of  growing  importance  in  this  space,  allowing  for  less 
context  switching  and  providing  the  ability  to  perform  and  track  tasks  across  platforms. 
High-performing  technology  teams  often  integrate  tools  like  Slack  and  GitHub  into  their 
issue tracking process. 

Tools 

  ​Jira  ​-  ​Jira  is  an  Atlassian  tool  that  was  originally  designed  as  a  bug  and  issue  tracker. 
Today,  Jira  has  evolved  into  a  powerful  work  management  tool  for  all  kinds  of  use  cases,  from 
requirements and test case management to agile software development.  
 
Jira provides planning and roadmap tools so teams can manage stakeholders, budgets, and feature 
requirements. Jira integrates with a variety of CI/CD tools to facilitate transparency throughout 
the software development life cycle. When it’s time to deploy, live production code status 
information is surfaced in a Jira issue. Integrated feature flagging tools allow teams to roll out new 
features gradually and safely.  
 
This is a popular DevOps planning tool because it includes: release and sprint planning, CI/CD 
integrations, issue management, project backlogs, feature flagging, Jira Service Desk integration, 
and other developer tool integrations.  
 

3
 

Jira is highly configurable, which can be great for project managers with complex requirements, 
but not as user-friendly for software developers. The ​GitKraken Git GUI​ ​integrates with J​ira 
Cloud and Jira Server issues so developers can quickly view, filter, create, edit and comment on 
Jira issues directly from their coding environment, or even create branches tied to issues. This 
creates a seamless DevOps workflow allowing developers to update project managers on the 
progress of issues they’re working on without having to switch tools and slow down their 
productivity. 
 
 

 
 
 

Trello  ​-  Trello  is  a  project  management  tool  that  organizes  projects  into 
Kanban-style  boards.  In  2017,  Trello  was  acquired  by  Atlassian  and  has  since  gained 
traction  amongst  software  development  teams  as  a  lightweight  alternative  to  Jira.  If  your 
organization  isn’t  already  reliant  on  Jira,  you  might  consider  Trello.  It’s  easier  to  configure 
and  manage,  and  often-times  developers  prefer  to  interface  with  it  over  Jira,  which  can 
become quite complex and sometimes unwieldy due to all the customization capabilities. 
 
Trello  offers  web-based  and  mobile  versions.  Your boards tell you what's being worked on, 
by  who,  and  where  it  is  in  a  process.  Boards  are  filled  with  cards,  which  are  tasks  for  you 
and  your team. Your team can comment and collaborate on cards, and each individual card 
can have photos, attachments, due dates, and more. 

4
 

 
To  get  more  out  of  Trello,  you  can  integrate  with  other  development  tools  like  Slack  and 
GitHub, through Power-Ups. 
 

 
  

GitKraken  Boards  ​-  ​GitKraken  Boards  is  an  Axosoft  product  in  the  GitKraken 
suite  of tools. If you’re not familiar, it’s ​similar to Trello, but more developer-centric​. This task and 
issue  tracking  system  allows  development  teams  to  visualize  tasks  in  a  Kanban  board,  calendar, 
timeline, or dashboard. 

GitKraken Boards integrates directly with GitHub in order to reduce context switching as your 
development team completes tasks and makes progress towards milestones. GitKraken Boards 
performs two-way sync with GitHub Issues and Milestones in real-time, so developers and 
managers have visibility into current project progress at all times.  

High-performing developers rely on automating their workflows to increase productivity. It’s easy 
to set up card automation for ​GitKraken Boards using GitHub Actions​ ​or built-in​ ​column 
automation​ to eliminate r​epetitive processes such as​ moving cards through workflow columns, 
updating labels, assigning users, adding relative due dates, etc. 

5
 

Additionally, linking cards to pull requests provides further automation. ​When a pull request 
status is updated in GitHub, the card on your board will automatically advance to another column 
based on your chosen mapping.  

GitKraken Boards is fully integrated with the GitKraken Git GUI​, so developers can view, edit, 
and create new issues—or create branches tied to issues—directly from their coding environment, 
and see them immediately reflected in GitKraken Boards.   
 
And for the 60% of software teams worldwide using Slack as a main method of communication, the 
Slack integration for GitKraken Boards​ gives your team the ability to preview cards, create new 
cards from Slack messages, update card assignees, labels, and columns all without leaving Slack. 
Plus, Slack notifications can be set up to alert team members when someone @mentions them in 
GitKraken Boards.   

These automation features and integrations are very much in line with a DevOps strategy that 
enables less context switching and increased efficiency. 

 
 

6
 

GitKraken  Timelines  -  ​GitKraken  Timelines  is  an  Axosoft  product  in  the 
GitKraken  suite  of  tools.  It’s  designed  to  help  teams  plan  and  communicate  project  goals  and 
milestones  in  a  timeline  view.  For  high-level  planning,  this  is  a  great  tool  to  quickly  convey 
upcoming  deadlines  or  to  review progress. Each milestone can have an image or gif and associated 
sub-items.  
 
It’s easy to overlay multiple timelines to compare deadlines across projects or teams. As projects 
evolve, use the auto-shift date feature to adjust one deadline and all other deadlines will be 
automatically adjusted accordingly. Timelines can be private, collaborative or public. And they’re 
easily shareable via links, embedding or in presentation mode.  
 
Developers can link milestones from GitKraken Timelines to individual task cards on ​GitKraken 
Boards​, or a pull request from the ​GitKraken Git GUI​. GitKraken Timelines can be accessed 
directly from the GitKraken Git GUI or in a browser.  
 
As you set out on your DevOps transformation, consider creating timelines to clearly 
communicate the major milestones, what tasks need to be completed for each, and what the 
associated deadlines are. This planning tool will keep everyone moving toward the same goals. 
 

 
 
 

7
 

 
Code 
Version Control 

Key Findings 
Version control is a method of tracking and managing changes to code; allowing developers 
to  see  the  complete  revision  history  of  a  project  and  revert back to a former version or file 
if  needed.  Teams  worldwide  are  moving  away  from  centralized  version  control  systems 
(VCS),  like  Subversion,  and  instead,  migrating  to  Git.  Because  Git  is  a  free,  distributed  VCS 
that  utilizes  branching  and  merging,  over  ​90%  of  developers  now  use  Git  for  version 
control, according to Stack Overflow’s Developer Survey.  

Hosting Services 

Key Findings 
In  order  to  collaborate  on  projects  using  Git,  you’ll  need  a  hosting  service  for  your 
repositories;  alternatively,  some  enterprises  choose  to  host  them  on  internal  servers  to 
better  suit  their  security  or  deployment requirements. When making the decision on which 
hosting  service  to  use,  your  organization  will  want  to  consider  price,  storage  capacity, 
integrations  with  your  current  tools,  etc.  It’s  also  not  uncommon  for  enterprise  teams  to 
host their repos on multiple services.   

Tools 

GitHub  -  At  its  core,  GitHub  is a platform where ​hundreds of millions of private, 


public,  and  open  source  repositories  are  hosted  and  reviewed​.  GitHub  is  also  the  name of 
the  company  that  builds  the  product,  which  was  acquired  by  Microsoft in 2018. Not only is 
GitHub  the  #1  hosting  service  in  our  DevOps  report,  it  came  in  at  #7  in  our  report  of  the 
Top 20 Developer Tools for 2020​. 
 

8
 

 
 
GitHub  is  increasingly  expanding its offerings to align with more and more processes in the 
DevOps  workflow.  To  interface  with  GitHub  repositories,  many  developers  use  the 
GitKraken  Git  GUI,  which  seamlessly  integrates  with  GitHub.com  and  GitHub  Enterprise. 
GitHub  offers  basic  project  management  with  Projects  and  Issues.  Tools  like  GitKraken 
Boards  offer  integrations  that  sync  with  GitHub  to  provide  more  robust  planning  and 
tracking  capabilities.  The  other  core  components  of  GitHub  are  code  review,  secure 
development and, most recently, CI/CD.  
 

Bitbucket  ​-  Bitbucket  is  an  Atlassian  product,  and  is  a  code  management  tool 
first  and  foremost.  To  interface  with  Git  repos  hosted  on  Bitbucket,  the  GitKraken  Git  GUI 
and  several  other  Git  clients  integrate  with  Bitbucket.org  or  Bitbucket  Server  to  provide  a 
streamlined workflow.  
 
Following  the  DevOps  methodology,  Bitbucket  has  extended  its  offerings  to  not  just 
hosting,  but  project  planning,  collaboration,  testing,  and  deployment  services.  As  you’d 
expect,  Bitbucket  offers  tight  integration  with  Jira,  and  Trello  has  a  powerup  to  integrate 
with Bitbucket Cloud. 
 

9
 

 
 

GitLab  ​-  GitLab  is  the  #3  most-used  hosting  service  in  our  DevOps  report  and 
#14  in  the  ​Top  20  Developer  Tools  for  2020​.  It  was one of the first hosting services to fully 
embrace  DevOps  and  has  since  been  on  a  mission  to  create  a  complete DevOps platform. 
GitLab  provides  everything  to  manage,  plan,  create,  verify,  package,  release,  configure, 
monitor,  and  secure  your  applications.  To  streamline  the  development  workflow  one  step 
further,  utilize  the  GitKraken  Git  GUI  to  integrate  with  Git  repos  hosted on GitLab.com and 
GitLab Self-Managed. 

10
 

 
 

Azure  DevOps  -  Azure  DevOps  is  a  Microsoft  product  that  provides  hosting 
for  Git  repositories,  reporting,  requirements  management,  project  management, 
automated  builds,  lab  management,  testing  and  release  management  capabilities.  This 
offering  was  released  in  2018,  replacing  tools  like  Visual  Studio  Team  Services  (VSTS)  and 
combining  many  others  to  cover  the  entire  application  lifecycle  and  enable  DevOps 
capabilities.  To  extend  your  DevOps  toolchain  and  streamline  development  one  step 
further, integrate the GitKraken Git GUI with your Azure DevOps hosted Git repos. 

11
 

Git/SCM Clients 

Key Findings 
Source  control  management  (SCM)  systems  are  tools  for  helping  teams  and  developers 
track  their  project  history.  A  Git  GUI  (graphical  user  interface)  translates  what’s  going  on 
under the hood of Git into an interface that your eyes and brain can easily understand.  
 
GUIs  provide  a  vital  layer  of  visual  clarity,  demystifying the black box experience of the CLI. 
GUIs  also  reduce  the  steep learning curve of Git by replacing the need to memorize a list of 
commands  with  simple drag-and-drop actions. It’s quicker and more efficient to perform all 
of  these  tasks  in  the  GitKraken  Git  GUI  rather  than  the  CLI:  authentication,  cloning  a  repo, 
viewing  your  commit  graph,  viewing  remote URLs, viewing a file diff, pushing changes from 
a  local  repo  to  a  remote,  accessing  file  history  and  blame,  performing  pull  requests  and 
merge resolutions, and performing an interactive rebase. 
 
Without  a  Git  GUI,  enterprises  struggle  to  standardize  and  scale  Git  across  all  their 
development  teams.  The  continued  growth  of  the  GitKraken  Git  GUI  speaks  to  the 
significance  of  why  the  GUI  approach is integral to achieving a successful DevOps workflow 
with Git. 

12
 

Tools 

GitKraken  Git  GUI  -  Voted  ​#1  developer  tool  four  years  in  a  row,  the 
GitKraken  Git  GUI  is  the  flagship  product  in  the  GitKraken  suite  of  tools  built  by Axosoft. It 
allows  developers  to  visualize  the  history  of  their  Git repositories in a colorful graph, and it 
simplifies  complicated  Git  commands  into  drag-and-drop  actions.  With  a  built-in  merge 
conflict  editor,  interactive  rebase  mode,  built-in  code  editor,  integrations,  and  more,  the 
GitKraken  Git  GUI  streamlines  the  Git  workflow  for  experienced  developers  and  reduces 
the steep learning curve for those who are new to Git. 
 
GitKraken stands out from other clients because it’s one of the few GUIs available on Linux​, 
Mac,  and  Windows—unlike  GitHub  Desktop  and  Sourcetree,  which do not support Linux. It 
plays  a  key  role  in  the  DevOps  workflow  by  tightly  connecting  the  various  Code  tools:  Git 
client, hosting service and IDE (it has the Monaco code editor from VS Code built-in). 
 
The  GitKraken  Git  GUI  integrates  with  all  the  top  Git  hosting  services  listed  in  the previous 
section:  GitHub,  GitLab,  Bitbucket,  and  Azure  DevOps,  and  their  self-hosted 
offerings—excluding  TFS—to  do  enable  all  of  the  following  from  inside  GitKraken:  create 
repositories  on  your  hosting  account  including  .gitignore  and  license;  automatically 
generate  an  SSH  key  pair  and  add  it;  fork  repositories;  save  authentication  into  profiles; 
clone  from  your  repo  list;  add  remotes  for  repos;  create  pull  requests  with  added 
assignees, reviewers, and labels; view build statuses of pull requests. 
 
The  GitKraken  Git  GUI  also  supports  a  seamless  DevOps  workflow  by  connecting  the  Plan 
and  Code  steps.  The  GitKraken  Git  GUI  has  planning  tools  like  GitKraken  Boards  and 
GitKraken  Timelines  built-in.  It  integrates  with  Jira  Cloud/Server  and  GitKraken  Boards  so 
you  can  view,  filter,  create,  edit,  and  comment  on  issues,  and  even create branches tied to 
issues. 
 
For  enhanced  task  management,  repositories  in  the  GitKraken  Git  GUI  can  be  associated 
with  cards  on  GitKraken  Boards.  W​hen  creating  a  new  GitHub  pull  request,  simply  link  a 
card; this will automatically update the pull request description in GitHub. 

13
 

 
 

Git  CLI  -  Before  Git  GUIs,  programmers  were  forced  to  use  the  command  line 
interface  (CLI).  The  CLI  continues  to  be  widely  used  because  it’s  free  and  many  people  still 
learn  Git by memorizing commands. Additionally, it offers the added bonus of being able to 
automate  certain  tasks  with  scripts.  Some  developers  also  just  prefer  to  not  rely  on  a  GUI 
application and would rather see the output of the commands they’re typing.  
 

14
 

 
 

GitHub  Desktop  -  As  the  name  suggests,  GitHub  Desktop  is  a  GitHub  tool, 
under  the  Microsoft  umbrella.  This  tool  has  been  widely  adopted because of GitHub.com’s 
extensive  user  base.  It’s  a  free,  easy-to-use  tool  for  GitHub  users,  but  it’s  not  nearly  as 
feature  robust  as  the  GitKraken  Git  GUI  or  Sourcetree.  And  for  those  not  using  GitHub  as 
their  hosting  service—or  using  multiple  services—there  are  no  integrations  for  GitLab, 
Bitbucket or Azure DevOps, which is a pretty significant workflow roadblock. 

15
 

 
GitHub  Desktop is ideal for Windows and Mac developers who already use GitHub.com and 
need  basic  Git  client  functionality,  such  as attributing commits with collaborators; checking 
out  branches  with  pull requests and viewing CI statuses; syntax highlighted diffs; expanded 
image  diff  support.  This  Git  client  is  not  for  Linux  users  or  teams  who  need  a  client  for 
interactive  rebase,  commit  signing,  GitFlow,  submodules,  blame,  opening  multiple  reops, 
auto  stash,  commit  templates,  file/diff  views,  file  editing,  etc.  GitHub  Desktop  also  doesn’t 
feature a commit graph, so the ability to visualize project history is limited.   
 

 
 

Sourcetree  -  Sourcetree  is  an  Atlassian  product,  first  released  to  the  public  in 
2010.  This  Git client is free for Windows and Mac, but does not support Linux. As one of the 
first  Git  GUIs  on  the  market,  Sourcetree  was  able  to  gain  significant  traction  amongst 
developers, especially those already using Atlassian products like Jira and Bitbucket.  
 
Sourcetree  is  much  more  feature-rich  than  GitHub  Desktop,  with  closer  feature  parity  to 
the  GitKraken  Git  GUI.  However,  Sourcetree  is  lacking  a  Fuzzy  Finder,  syntax  highlighting, 
auto stash, file/diff views, file editing and pull request templates. 

16
 

 
When  it  comes  to  DevOps,  Sourcetree  offers  integrations  with  GitHub,  GitLab  and  Azure 
DevOps—with a primary focus on Bitbucket. 
 

 
 

Integrated Development Environments 

Key Findings 
IDEs  have  become  increasingly  popular  with  software  developers  because  of  the 
convenience  they  provide.  An  IDE  is  a  software  suite  that  consolidates  many  of  the  tools 
developers  use  to  write  and  test  software,  into  one  user  interface.  IDEs  provide  the 
advantage  of  less  context  switching,  which  is  why  many  tools  are  moving  in  this 
direction—like  the  GitKraken  Git  GUI  with  its  built-in  code  editor,  merge  conflict  tool  and 
integrated issue tracking. 

Tools 

VS  Code  -  Not  only  is  VS  Code  the  #1  IDE  in  our  DevOps  report,  but it was also 
named  #2  developer  tool  in  the  ​Top  20 Developer Tools for 2020​, 2019 and 2018. VS Code 

17
 

is  a  very  popular  code  editor  for  writing,  building  and  debugging  web  and  cloud 
applications on Windows, Mac and Linux.  
 
As  a  Microsoft  tool,  it  has  the  added  advantage  of  tight  integration  with  Azure,  AWS,  .NET 
and  a  vast  ecosystem  of  extensions  which  allow  you  to  connect,  build  and  debug  many 
tools  and  technologies.  Streamline  your  DevOps  workflow  by  using  VS  Code  with  Azure  to 
easily  deploy  and  host  sites  built  on  React,  Angular,  Vue,  Node,  Python,  etc.  Additionally, 
expedite task and issue tracking with the GitKraken Boards plugin for VS Code. 
 

 
 

IntelliJ  IDEA  -  IntelliJ  IDEA  is  a  Java  IDE  by  Jetbrains,  which  creates  a  whole 
suite  of  developer  tools.  While not as popular as VS Code, IntelliJ is the #2 most-used IDE in 
our  DevOps  report  and  #9  in the ​Top 20 Developer Tools for 2020​. This developer tool has 
continued  to  gain  traction  year over year, climbing the ranks in our Top 20 Developer Tools 
report from #10 in 2019 and #11 in 2018. 
 
IntelliJ  IDEA  offers  a fast and intuitive experience for coding software. While IntelliJ is an IDE 
for  Java,  it  also  understands  and  provides intelligent coding assistance for a large variety of 
other languages such as SQL, JPQL, HTML, JavaScript, etc. 
 

18
 

To  enhance  your  DevOps  workflow,  IntelliJ  IDEA  supports  build  tools  like  Maven,  Gradle, 
Ant,  Gant,  etc.  to  help  automate  compilation,  packaging,  running  tests,  deployment  and 
other  activities.  To  easily  perform  unit  testing  with  ease,  IntelliJ  includes  test  runners  and 
coverage  tools  for  major  test  frameworks,  including  JUnit,  TestNG,  Spock,  etc.  Additionally, 
with  a  separate  plugin,  IntelliJ  IDEA  provides  a  dedicated tool window that lets you connect 
to  locally  running  Docker  machines  to  manage  images,  containers  and  Docker  Compose 
services. 
 

 
 

Visual  Studio  -  Visual  Studio,  not  to  be  confused  with  Visual  Studio  Code  (VS 
Code),  is  another  IDE  built  by  Microsoft.  It  too  is  quite  popular,  coming  in  at  #3  on  our 
DevOps  report  and  #4  on  our  ​Top  20  Developer  Tools  for  2020​.  This  integrated 
development environment includes tools and services for all platforms and languages. 
 
Visual  Studio  offers  features  to  help  with  various  parts  of  the  DevOps  workflow:  develop, 
analyze,  debug,  test,  collaborate  and  deploy.  Also,  as  a  Microsoft  tool,  Visual Studio makes 
Azure  development  easier  with  project  templates  for  Azure  and  direct  deployment  to 

19
 

Azure.  Plus,  Visual  Studio  has  a  marketplace  of  extensions  and  integrations  with  other 
popular development tools. 
 

 
 

Sublime  Text  ​-  Sublime  Text  is  a  cross-platform  text  editor  for code, markup, 
and  prose.  This  mature  IDE  is  stable  and  fast.  It  comes  with  autocompletion,  syntax 
highlighting,  and  code  folding.  Sublime  Text  is  the  #4  most-used  IDE  in  our DevOps report 
and #8 in the T ​ op 20 Developer Tools for 2020​. 

20
 

 
 
 
 

 
Build 
Build Tools 

Jenkins  ​-  Jenkins  is  an  open  source  automation  server,  allowing  organizations 
to  accelerate  their  software  development  through  automation.  Jenkins  manages  and 
controls  software  delivery  processes  throughout  the  DevOps  lifecycle,  including build, test, 
operate  and  deploy.  Set  up  Jenkins  to  watch  for  any  code  changes on GitHub, Bitbucket or 
GitLab,  and  automatically  do  a  build  with  tools  like  Maven  and  Gradle.  Utilize  container 
technologies  such  as  Docker  and  Kubernetes,  initiate  tests,  and  then  take  actions  like 
rolling back or rolling forward in production.  
 

21
 

Maven  -  Maven  is  a  build  automation  tool  used  primarily  for  Java  projects  but 
can  also  be  used  to  build  and  manage  projects  written  in  C#,  Ruby,  Scala,  and  other 
languages. The Maven project is hosted by the Apache Software Foundation.  
 
Teams  can  use  Maven's  project  object  model  (POM)  and  set  of  plugins  to  build  projects 
with  a  unified  build  system.  Once  your  team is familiar with how one Maven project builds, 
you’ll  know  how  all  Maven  projects  build,  saving  time  when  trying  to  navigate  numerous 
projects. 

Visual  Studio  ​-  Visual Studio for Windows and Mac has built-in compiler tools 


for  all  .NET  languages.  Use it to create builds immediately and test them in a debugger; run 
multi-processor  builds  for  C++  and  C#  projects;  customize  different  aspects  of  the  build 
system.  You  can  use  its  MSBuild  command  line  tool  to  automate  builds  in  your  CI/CD 
pipeline, or use the CMake tool to run C++ builds for Windows and Linux. 
 

Gradle  -  Gradle  is  an  open  source  build  automation  system  that  helps  teams 
build,  automate  and  deliver  better  software  faster.  Developers  can  use  Gradle  to  write  in 
Java,  C++, Python, etc., and package for deployment on any platform. Gradle's ecosystem of 
plugins  and  integrations  help  teams  scale  automation.  Model,  integrate  and  systematize 
the  delivery  of  your  software  from  end  to  end, and scale-out development with fast builds. 
Gradle  offers  many  features  from  compiling  avoidance  to  advanced  caching,  to  enabling 
continuous delivery. 
 
 

 
Test 
Testing 

Key Findings 
Testing  frameworks  are  integral  to  a  successful  DevOps  strategy  as  they  help  provide 
high-level  guidelines  for  creating  and  designing  test  cases.  Testing  frameworks  provide  a 

22
 

combination  of  practices  and  tools  designed  to help development and QA teams test more 


effectively.  
 
Testing  tools  help  enterprise  teams  improve  test  speed,  increase  accuracy,  reduce 
maintenance  costs,  and  lower  risk  of  error.  With  an  efficient DevOps workflow, developers 
can use these tools during continuous delivery to reduce oversight by QA. 

Tools 

JUnit  ​-  JUnit  is  an  open  source  unit  testing framework for Java. JUnit is useful for 


developers  who  work  in  test-driven  environments  because  it  helps  find  bugs  early  in  the 
code,  which  makes  code  more  reliable.  Unit  testing  also  forces  developers  to  spend  more 
time  reading  code  than  writing.  This  results  in  more  readable,  reliable  and  bug-free  code, 
which builds confidence during development.  
 

 
 

Selenium  -  Selenium  is  a  suite  of  tools  for  automating  web  browsers.  It 
provides  a  playback  tool  for  authoring  functional  tests  without  the  need  to  learn  a  test 
scripting language.  
 
Selenium  WebDriver is a collection of language-specific bindings to drive a browser. It helps 
QA  teams  create  robust,  browser-based  regression  automation  suites  and  tests,  and 
scale/distribute scripts across many environments.  
 

23
 

Selenium  IDE  is  a  Chrome  and  Firefox  add-on  that  will  do  simple  record-and-playback  of 
interactions  with  a  browser.  It  helps  QA  teams  create  quick  bug  reproduction  scripts  and 
scripts for automation-aided exploratory testing. 
 
Selenium  Grid  is  ideal  for  QA  teams  who  want to scale by distributing and running tests on 
several  machines  while  managing  multiple  environments  from  a  central  point.  This  makes 
it easy to run tests against a variety of browsers and operating systems. 
 

 
 
 

24
 

Jest  ​-  Jest  is  a  JavaScript  testing  framework  that  works  with  Babel,  TypeScript, 
Node,  React,  Angular  and  Vue.  Jest  is  fast and requires little configuration. It uses snapshot 
testing  to  keep  track  of  large  objects;  snapshots  live  either  alongside  your  tests  or 
embedded inline. 
 

 
 
 

PHPUnit  -  PHPUnit  is  a  programmer-oriented  testing  framework  for  PHP.  It  is 
an  instance  of  the  xUnit  architecture  for  unit  testing  frameworks.  Many  modern  PHP 
frameworks  come  with  PHPUnit  integration,  including  Laravel,  Symfony  and  CakePHP. 
CMS’s including Wordpress and Drupal also use it for testing. 

25
 

 
 
 

 
Release 
Configuration Management 

Ansible  -  Ansible  provides  simple  solutions  for  automating  a variety of systems 


from  infrastructure,  applications,  networks,  containers,  security,  and  more.  Ansible 
configurations  are  straight-forward  data  descriptions  of  your  infrastructure  that  make  it 
easy  for  everyone  to  understand.  Managing  systems  requires  nothing  more  than  a 
password  or  SSH  key—no  install  agent  software  required—avoiding  the  common 

26
 

automation  system  problem  of  "managing  the  management.”  Ansible  relies  on  OpenSSH, 
which is the most secure remote configuration management system. 
 
Not  only  does  Ansible  rank  as  the  #1  configuration  management  tool  on  this  DevOps 
report,  in  Stack  Overflow’s  2019  Developer  Survey,  ​62%  of  developers  who  use  Ansible 
love it​.  
 

 
 

Azure  DevOps  -  Azure  DevOps  is  a  set  of  DevOps  solutions  created  by 
Microsoft.  Simplify  configuration  management  in  the  cloud  with  Azure  Automation. 
Manage  resource configuration across your entire system to enforce desired states, roll out 
configuration updates, and automate resolution of unexpected changes and issues.  
 
Author  and  manage  PowerShell  configurations,  import  configuration  scripts,  and  generate 
node  configurations—all  in  the  cloud.  Use  Azure  configuration  management  to  monitor 
and automatically update machine configuration across physical and virtual machines. 

27
 

 
 

Chef  -  Chef  is  a  configuration  management  tool  for  dealing  with  machine  setup 
on  physical  servers,  virtual  machines  and  in  the  cloud.  It  enables  continuous  automation 
across  IT  processes,  helping  enterprise  teams  work  more  efficiently.  Chef  Automate 
leverages  Chef,  Habitat,  and  InSpec  to  create  a  pipeline  that  can  cross  both  internal  and 
external  boundaries,  standardizing  environments  and  processes  locally  within  the  data 
center and up in the cloud. 
 
DevOps  teams  that  turn  configuration  into  code  are  able  to  leverage  the  same  tools  and 
processes for their applications to efficiently prepare environments to run applications. 

28
 

 
 

Continuous Integration/Delivery (CI/CD) 

Key Findings 
Continuous  integration  (CI)  is  a  DevOps practice that involves merging code several times a 
day  in  a  shared  repository,  and  then  from  that  repository,  or  production  environment, 
building  and  automated  testing  are  carried  out.  CI  helps  enterprise  development  teams 
detect errors quickly, reduce integration problems, and avoid compounding problems. 
 
Continuous  delivery  (CD)  adds  another  layer  onto  CI,  enabling  software  to  be  released  to 
production  at  any  time,  typically  by  automatically  pushing  changes  to  a  staging  system. 
Enterprise  development  teams  have  found  that  the  DevOps  practice  of  CD  helps  ensure 
every  change  is  releasable  and  lowers  the  risk  of  each  release.  This  allows  enterprises  to 
gain  a  competitive  edge  by  delivering  value  more  frequently  and creating tighter customer 
feedback loops. 

Tools 

Jenkins  ​-  Jenkins  is  the  #1  CI/CD  tool  according  to  our  DevOps  report;  it  allows 
organizations  to  accelerate  their  software  development  through  automation.  Jenkins 
manages  and  controls  software  delivery  processes  throughout  the  DevOps  lifecycle, 
including  build,  test,  operate  and  deploy.  Set  up  Jenkins  to  watch  for  any  code changes on 

29
 

GitHub,  Bitbucket  or  GitLab  and  automatically  do  a  build  with tools like Maven and Gradle. 


Utilize  container  technologies  such  as  Docker  and  Kubernetes,  initiate  tests  and  then  take 
actions like rolling back or rolling forward in production.  
 

GitLab  -  GitLab  prides  itself  on  being  one  application  for  the  entire  DevOps 
lifecycle.  Therefore,  GitLab  CI/CD  is  part  of  the  single  GitLab  application,  providing  a 
seamless  user  experience  from  planning  to  deployment.  With  GitLab  CI/CD  you  can 
execute  builds  on  Unix,  Windows,  macOS, and any other platform that supports Go. Plus, it 
splits  builds  over  multiple  machines  for  fast  execution.  GitLab  CI/CD  also  offers  real-time 
logging,  flexible  pipelines,  versioned  pipelines,  autoscaling,  build  artifacts,  Docker  support, 
container registry, and more. 
 

Azure  DevOps  -  Azure  DevOps  is  a  set  of  DevOps  solutions  created  by 
Microsoft  which  allow  developers  to  go  from  code  to  cloud by automating each part of the 
DevOps process with continuous integration and continuous delivery. 
 
With  end-to-end  solutions  on  Azure,  teams  can implement ​DevOps practices in each of the 
application  lifecycle  phases:  plan,  develop,  deliver,  and  operate.  Being  tightly  integrated 
with  both  Visual  Studio and VS Code makes Azure DevOps easier for developers to work on 
their CI/CD pipelines. 
 

Travis  CI  ​- Travis CI is a hosted continuous integration service used to build and 


test  software  projects  hosted  on  GitHub.  One  of  the key advantages of using Travis CI over 
Jenkins  is  that  it’s  faster  to  set  up:  simply  login  with  GitHub,  test  a  project  and  push  to 
GitHub.  If  your  organization  is using GitHub to work on open source projects, this is a great 
option.  Travis  CI  also  integrates  with  popular  communication  tools  like  Slack  to  keep  your 
development teams up-to-date on build statuses.  

30
 

 
Deploy 
Deployment 

Key Findings 
Continuous  Deployment  is  an  advanced  DevOps  practice  for  enterprises  with  a  mature 
DevOps  process.  It  goes  one  step  further  than  Continuous  Delivery,  by  pushing  code 
changes  to  production  automatically,  rather  than  just  a  staging  system.  Whether  your 
developmeant  teams  are  at  this  stage  or  not,  you’ll  need  a  tool  to  help  with  your 
deployment strategy. 

Tools 

Jenkins  -  Jenkins  is  not  only  a  build  tool,  but  it’s  also  one  of  the  most  widely 
adopted  solutions  for  continuous  delivery.  There  are  tons  of  plugins that enable Jenkins to 
integrate  with  virtually  any  tool,  including  all of the best-in-class solutions used throughout 
the  continuous  delivery  process.  Jenkins  plugins  allow  developers  to  deploy  Docker 
images,  deploy  to  Kubernetes  clusters, or across the network. And using its Pipeline plugin, 
developers  can  set  up  pipelines  as  code  and  deploy  to  any  service  like AWS or Azure using 
their APIs. 
 

Azure  DevOps  -  Azure  DevOps  is  a  set  of  DevOps  solutions  created  by 
Microsoft.  Azure  Pipelines  is  one  of  the  services,  and  it’s  used  to  automate  builds  and 
deployment to many cloud providers, especially Azure. 
 
If  your  enterprise  is  developing  a  .NET,  Java,  Node,  PHP,  or  a  Python  app,  Azure  Pipelines 
can  help  you  set  up  a  highly  customizable  continuous  integration  (CI)  and  continuous 
delivery (CD) pipeline. 
 

AWS  -  AWS  CodeBuild  is  a  fully  managed  continuous  integration  service  that 
compiles  source  code,  runs  tests,  and  produces  software  packages  that  are  ready  to 

31
 

deploy.  There  are  no  servers  to  provision  and  scale,  or  software  to  install,  configure,  and 
operate.  
 
AWS  CodeBuild  belongs  to  a  family  of  AWS  Code  Services,  which  you  can  use  to  create 
complete,  automated  software  release  workflows  for  continuous  integration  and  delivery 
(CI/CD).  You  can  also  integrate  CodeBuild  into  your  existing  CI/CD  workflow.  For  example, 
you  can  use  CodeBuild  as  a  worker  node  for  your  existing  Jenkins  server  setup  for 
distributed builds. 
 

GitLab  -  GitLab  CI/CD  not  only  tests  and  builds  projects,  it  can  also  be  used  to 
deploy  them  in  your  infrastructure.  GitLab  provides  a  full  history  of  your  deployments  for 
each  environment.  It  also  keeps  track  of  your  deployments,  so  you  always  know  what  is 
currently  being  deployed  on  your  servers.  If  you  have  a  deployment  service  such  as 
Kubernetes associated with your project, you can use it to assist with your deployments. 
 
GitLab  helps  automate  the  release  and  delivery  of  applications,  shortening  the  delivery 
lifecycle,  streamlining  manual  processes,  and  accelerating  team  velocity.  With  zero-touch 
continuous  delivery  (CD)  built  right  into  the  pipeline,  deployments  can  be  automated  to 
multiple  environments  like  staging  and  production,  and  the  system  automatically  knows 
what  to  do  without  being  told  -  even  for more advanced patterns like canary deployments. 
With  feature  flags,  built-in  auditing/traceability,  on-demand  environments,  and  GitLab 
pages  for  static  content  delivery,  you'll  be  able  to  deliver  faster  and  with  more  confidence 
than ever before. 
 

 
Operate 
Containers

Docker  -  Docker  is  a  tool  designed  to  make  it  easier  to  create,  deploy,  and  run 
applications  by  using  containers.  Docker  containers  combine  software  and  its 
dependencies into a standardized unit for software development that includes everything it 
needs  to  run:  code,  runtime,  system  tools  and  libraries.  Enterprise  teams  use  Docker 

32
 

containers  to  ensure  applications  always  run  the  same,  and  to  make  collaboration  as 
simple as sharing a container image. 
 
Not  only  does  Docker  rank  as  the  #1  container  tool  on  this  DevOps  report,  in  Stack 
Overflow’s  2019  Developer  Survey,  Docker  came  in  as  thes  #3  “​most  common  platform​,” 
with  35%  of  professional  developers  reporting  they’ve  developed  on  the  Docker  platform. 
Docker also ranks as the #2 “​most loved platform​” in the same report. 
 

Kubernetes  -  Kubernetes  is  an  open  source  container-orchestration  system 


for  automating  application  deployment,  scaling,  and  management.  Originally  a  Google 
product, Kubernetes is now maintained by the Cloud Native Computing Foundation.  
 
Docker  and  Kubernetes  aren’t  direct  competitors.  Kubernetes  is  a  container  orchestrator 
for  container  platforms  like  Docker.  All  the  major  cloud  providers  support  it,  so  if  your 
enterprise  is  moving  applications  to  the  cloud,  Kubernetes  is  a  solid  choice.  It  provides  a 
common  framework  to  run  distributed  systems  so  development  teams  have  consistent 
infrastructure  from  development  to  production  for  every  project.  Kubernetes  can  manage 
scaling requirements, availability, failover, deployment patterns, and more. 
 
While  Kubernetes  is  a  robust  tool,  it  is  also  notoriously complex and may add unnecessary 
or  unwanted  overhead  to  your  DevOps  toolchain.  Many  public cloud services like AWS and 
Azure provide some orchestration capabilities that may serve your enterprise’s needs. 
 

AWS  -  Amazon  Web  Services  (AWS),  as  the  name  implies,  is  an  Amazon  service 
that  provides  on-demand  cloud  computing  platforms  and  APIs.  If  you’re  using  other  AWS 
developer  tools  to  host  code,  build,  test,  and  deploy  your  applications  to  AWS,  then 
consider extending your DevOps toolchain to run containers on AWS. 
 
If  your  enterprise  chooses  AWS,  you’ll  set  up  one  of  two  container  orchestrators:  Amazon 
Elastic  Container  Service  (ECS)  or Amazon Elastic Kubernetes Service (EKS). If you’re familiar 
with  AWS  constructs  and  APIs,  ECS  is  a  great  place  to  run  your  containers.  ECS  is  deeply 
integrated  with  AWS  services  such  as  Identity  and  Access  Management  (IAM),  Amazon 
Virtual  Private  Cloud  (VPC),  and  Amazon  Route  53.  If  you  use  Kubernetes,  EKS  is  a  secure, 
reliable, and scalable way to run Kubernetes. 

33
 

 
Monitor 
Analytics/Monitoring 

Google  Analytics  -  Google  Analytics  is  a  powerful  analytics  and  monitoring 


tool  that  enables  enterprise  teams  to  collect,  configure  and  analyze  crucial  data.  This  tool 
provides  insights  into  user  interactions  with  websites,  web  applications,  Android  and  iOS 
apps.  Developers  can  utilize  Google  Analytics’  robust  APIs  to  build  comprehensive  reports 
and custom configurations.  
 

 
 

Grafana  -  Grafana  is  an  open-source  analytics  and  monitoring  solution  that 
supports  dozens  of  databases  natively,  to  pull  in  data  from  all  your  sources.  It’s  extremely 

34
 

visual,  from  heatmaps  to  histograms,  graphs  to  geomaps,  and  all  kinds  of  dashboards. 
Grafana also allows teams to set up alerts and notifications via Slack, etc. 
 

 
 

Azure  -  Azure  Monitor  is  a  Microsoft  tool  that  provides  full  observability  into 
your  applications,  infrastructure,  and  networks.  Implement  full-stack  monitoring,  get 
actionable alerts, and gain insights from logs and telemetry with Azure Monitor. 

35
 

 
 

AWS - Amazon CloudWatch is a monitoring and analytics service built for DevOps 
engineers,  developers,  site  reliability  engineers  (SREs),  and  IT  managers.  CloudWatch 
provides  the  data  enterprise  teams  need  to  take  action.  Use  this  tool  to  monitor 
applications,  respond  to  performance  changes,  optimize  resources, and get an overview of 
operational health.  
 
CloudWatch  collects  monitoring  and  operational  data  in  the  form  of  logs,  metrics,  and 
events,  providing  insights  into  AWS  resources,  applications,  and  services  that  run  on  AWS 
and on-premises servers. 

36
 

 
 

Communication 

Slack  -  Slack is a cloud-based instant messaging platform, with video calling, that 
logs  the  history  of  conversations  and  organizes  them  into  channels  based  on topics. It has 
taken  over  as  a  real-time  alternative  to  email  within  enterprises.  Development  teams  use 
Slack  to  get  access  to  key  information  and  experts  company-wide;  review  and  collaborate 
on  projects;  track  real-time  performance  data  from  multiple  systems  to  resolve  issues 
faster; streamline and automate workflows by connecting to other services and platforms. 
 
Slack  integrates  with  popular  project  management  and  issue  tracking  tools  like  Jira, 
GitKraken  Boards  and  Trello  to  monitor  new  bugs  and  tasks  as  they  come  in,  and  to 
respond  without  context  switching.  Slack  also  integrates  directly  with  GitHub,  GitLab  and 
Bitbucket.  

37
 

 
 

Microsoft  Teams  -  Microsoft  Teams  is  a  communication  platform  that 


combines  chat,  video  meetings,  file  storage,  and  application  integration.  If  your  enterprise 
is  reliant  on  the  Microsoft  suite of tools, this is an ideal hub for team collaboration in Office 
365.  In  Teams  you  can  access,  share,  and  edit  Word,  PowerPoint,  and  Excel  files  in  real 
time. 

38
 

 
 

Conclusion 
Leading  enterprises  are  undergoing  DevOps  transformations  to  gain  a  competitive 
advantage  by  delivering  their  technologies  faster  and  more  securely.  A  DevOps  transition 
involves  many  facets,  including  evolving  employee  mindsets,  teaching  new  skills,  and 
introducing  the  appropriate  tools.  This  report  focused  summarizing  the  best  DevOps tools 
from 2,700 trailblazers who have already successfully implemented them.  
 
Share  this  report  with  other  stakeholders  to  showcase  the  importance  tools  play  in  a 
DevOps  transformation.  From  our  report  findings,  it’s  clear  that  high-performing  software 
engineers  and  IT  leaders  choose  useful  and  usable  tools  to  improve  productivity  and 
deliver  value  during  the  DevOps  transformation.  They  also  automate  and  integrate  tools 
into  their  toolchains,  freeing  up  time  to  spend  on  new  development,  and  debunking  the 
argument that it’s too time-intensive or expensive to implement tools. 
 
Contact S ​ [email protected]​ to get started with GitKraken DevOps tools​. 
 

39

You might also like