Introduction

We’ll be looking at the core technology categories and specific technologies that help you realize your DevOps objectives.

About DevOps and Tools

Things to remember about DevOps and its corresponding tools:

  • The goal is continuous improvement
  • You can’t buy DevOps
  • Tool adoption happens in stages

DevOps Technology Categories

Planning

Why Does Planning Matter for DevOps?

  • Shared purpose
  • Transparency
  • Empowerment

Examples of Planning Tools:

GitLab

GitLab is a web-based DevOps lifecycle tool. It provides a Git-repository manager, which provides a wiki, issue tracking, and CI/CD pipeline features, using an open-source license developed by GitLab Inc.

GitLab has some tools for actually planning things out and being able to look at the scope of the work.

Tasktop

Tasktop allows all of these tools to be added to the entire range of Agile and application lifecycle management (ALM), PPM, and ITSM tools supported by Tasktop, enabling unprecedented visibility across the entire lifecycle.

CollabNet’s VersionOne

VersionOne supports Scrum, Kanban, XP, SAFe, and hybrid development methodologies and makes it easier to plan, track, and report across all teams, programs, software portfolios, and the enterprise.

Pivotal Tracker

The Agile project-management tool of choice for developers around the world for real-time collaboration around a shared, prioritized backlog.

Trello

Trello is a web-based Kanban-style list-making application that’s a subsidiary of Atlassian.

It’s used by many teams as they plan out individual sprints of work.

Azure Boards

Track your software projects and plan better with Agile tools, including scrum boards, Kanban boards, and dashboards for any Agile methodology.

And, again, these are ways to visualize work, share plans, track progress, and make sure you’re moving toward the goal.

Issue Tracking

Why Does it Matter for DevOps?

  • Customer responsiveness
  • Limited knowledge waste
  • Feedback loop

Examples of Issue-Tracking Tools:

Atlassian’s Jira

Jira is a proprietary issue-tracking product developed by Atlassian that allows bug tracking and Agile project management.

JetBrains’ YouTrack

YouTrack is a proprietary, commercial browser-based bug tracker, issue-tracking system, and project-management software developed by JetBrains. It focuses on query-based issue searching — with autocompleting, manipulating issues in batches, customizing the set of issue attributes, and creating custom workflows.

Zendesk

Zendesk makes it simple to track every customer issue from all of your channels. Many companies, including Uber and Airbnb, use Zendesk Support as their issue-tracking software.

Source Control

Why Does it Matter for DevOps?

  • Asset control
  • Limit transportation waste
  • Empower teams

Examples of SCM Tools:

Git

Gitis a distributed version-control system for tracking changes in source code during software development. It’s designed for coordinating work among programmers, but it can be used to track changes in any set of files. Its goals include speed, data integrity, and support for distributed, nonlinear workflows.

GitHub

GitHub offers the distributed-version control and source code–management functionality of Git, plus its own features.

GitLab

Version control in GitLab helps your development team share, collaborate, and maximize their productivity with world-class source-code management.

Bitbucket

Bitbucket is a web-based version control-repository hosting service owned by Atlassian for source code and development projects that use either Mercurial or Git revision-control systems.

Subversion

Apache Subversion is a software-versioning and revision-control system distributed as open source under the Apache License. Software developers use Subversion to maintain current and historical versions of files, such as source code, web pages, and documentation.

Build Tools

Why Do They Matter for DevOps?

  • Consistent packaging
  • Automates an error-prone activity
  • Yields early quality signals

Examples of Build Tools:

Maven/Gradle

Maven is a build-automation tool used primarily for Java projects. Maven can also be used to build and manage projects written in C#, Ruby, Scala, and other languages.

Gradle is an open-source build-automation system that builds upon the concepts of Apache Ant and Apache Maven and introduces a Groovy-based domain-specific language instead of the XML form used by Apache Maven for declaring the project configuration.

MSBuild

Microsoft Build Engine, better known as MSBuild, is a free and open-source build tool set for managed code as well as native C++ code and was part of .NET Framework. Visual Studio depends on MSBuild (but not vice versa).

Rake

Rake is a software task-management and build-automation tool. It allows the user to specify tasks and describe dependencies. You can also do this for group tasks in a namespace.

JFrog Artifactory

JFrog Artifactory is a tool designed to store the binary output of the build process for use in distribution and deployment. Artifactory provides support for a number of package formats, such as Maven, Debian, npm, Helm, Ruby, Python, and Docker.

JFrog offers high availability, replication, disaster recovery, scalability, and works with many on-prem and cloud-storage offerings.

Sonatype Nexus

Sonatype Nexus is a repository manager. It allows you to proxy, collect, and manage your dependencies so you’re not constantly juggling a collection of JARs. It makes it easy to distribute your software.

Internally, you configure your build to publish artifacts to Nexus, and they then become available to other developers.

NuGet

NuGet is the package manager for .NET. The NuGet client tools provide the ability to produce and consume packages.

The NuGet Gallery is the central package repository used by all package authors and consumers.

Testing Tools

Why Do They Matter for DevOps?

  • Puts focus on built-in quality
  • Creates confidence in deployed artifacts

Examples of Testing Tools:

JUnit

JUnit is a unit-testing framework for the Java programming language. JUnit has been important in the development of test-driven development and is one of a family of unit-testing frameworks, collectively known as xUnit, that originated with SUnit.

xUnit.net

xUnit.net is an open-source unit-testing tool for the .NET Framework written by the original author of NUnit.

Selenium

Selenium is a portable framework for testing web applications. Selenium provides a playback tool for authoring functional tests without the need to learn a test-scripting language.

#tools #devops #docker #git #jira

The DevOps Toolchain
6.20 GEEK