Skip to main content

Overview of DevOps Tools


Table of contents

  1. Tool mapping
  2. Source code management
  3. CI/CD
  4. Containerization and orchestration
  5. Infrastructure as Code
  6. Monitoring and observability
  7. Collaboration and communication


1 - Tool mapping

Overview of the ecosystem

Classification by cycle phase

PhasePopular tools
PlanJira, Azure Boards, Trello
CodeGit, VS Code, IntelliJ
BuildMaven, Gradle, npm
TestJUnit, Selenium, Jest
ReleaseJenkins, GitLab CI, Argo CD
DeployKubernetes, Terraform, Ansible
OperateKubernetes, Consul, Vault
MonitorPrometheus, Grafana, ELK

🔝 Back to table of contents



2 - Source code management

Git: the standard

Git platforms

PlatformTypeStrengths
GitHubSaaS/EnterpriseCommunity, Actions, Copilot
GitLabSaaS/Self-hostedBuilt-in CI/CD, DevSecOps
BitbucketSaaS/DCAtlassian integration
Azure ReposSaaSAzure DevOps integration

Feature comparison

FeatureGitHubGitLabBitbucket
Built-in CI/CDActionsCI/CDPipelines
Container RegistryPackagesRegistryN/A
Issue TrackingIssuesIssuesJira
WikiWikiWikiConfluence
Code ReviewPRMRPR
tip

The choice of platform often depends on the existing ecosystem. GitLab offers an all-in-one solution, while GitHub excels in the open source community.

🔝 Back to table of contents



3 - CI/CD

Jenkins

The veteran, endlessly extensible.

Advantages:

  • Very flexible and extensible
  • Huge plugin ecosystem
  • Self-hosted

Disadvantages:

  • Requires maintenance
  • Complex configuration
  • Aging interface

GitLab CI/CD

Native CI/CD in GitLab.

stages:
- build
- test
- deploy

build:
stage: build
script:
- npm ci
- npm run build

test:
stage: test
script:
- npm test

deploy:
stage: deploy
script:
- ./deploy.sh
only:
- main

GitHub Actions

CI/CD integrated into GitHub.

name: CI
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- run: npm ci
- run: npm test

CI/CD comparison

CriterionJenkinsGitLab CIGitHub Actions
HostingSelf-hostedBothSaaS
ConfigurationGroovy/GUIYAMLYAML
RunnersAgentsRunnersRunners
Learning curveHighMediumLow
CostFreeFreemiumFreemium

🔝 Back to table of contents



4 - Containerization and orchestration

Docker

The de facto standard for containers.

Key concepts:

  • Image: immutable template
  • Container: instance of an image
  • Registry: image storage
  • Dockerfile: recipe for the image

Kubernetes

Container orchestration at scale.

Key concepts:

  • Pod: smallest deployable unit
  • Deployment: replica management
  • Service: network exposure
  • Ingress: HTTP routing

Alternatives to Kubernetes

ToolUsageComplexity
Docker ComposeLocal developmentLow
Docker SwarmSmall clustersMedium
KubernetesLarge-scale productionHigh
NomadLightweight alternativeMedium
warning

Kubernetes is powerful but complex. Assess whether your use case justifies it before adopting it.

🔝 Back to table of contents



5 - Infrastructure as Code

Terraform

Declarative multi-cloud infrastructure.

provider "aws" {
region = "eu-west-1"
}

resource "aws_instance" "web" {
ami = "ami-12345678"
instance_type = "t3.micro"

tags = {
Name = "WebServer"
}
}

Ansible

Configuration management and automation.

- name: Configure webserver
hosts: webservers
tasks:
- name: Install nginx
apt:
name: nginx
state: present

- name: Start nginx
service:
name: nginx
state: started

IaC comparison

AspectTerraformAnsibleCloudFormation
ApproachDeclarativeProcedural/DeclarativeDeclarative
StateRemoteAgentlessAWS managed
Multi-cloudYesYesAWS only
LanguageHCLYAMLYAML/JSON
note

Terraform to create the infrastructure, Ansible to configure it. They are complementary.

🔝 Back to table of contents



6 - Monitoring and observability

The Prometheus + Grafana stack

ELK Stack

Centralized logging.

ComponentRole
ElasticsearchStorage and search
LogstashLog processing
KibanaVisualization
FilebeatLog collection

SaaS solutions

SolutionTypeStrengths
DatadogFull APMAll-in-one
New RelicAPMEase of use
SplunkLogsEnterprise-grade
PagerDutyAlertingOn-call management

The 3 pillars of observability

🔝 Back to table of contents



7 - Collaboration and communication

Communication tools

ToolMain use
SlackReal-time communication
Microsoft TeamsIntegrated Office suite
DiscordCommunities

ChatOps

Automation via chat.

Documentation

ToolType
ConfluenceEnterprise wiki
NotionModern documentation
GitBookTechnical documentation
MarkdownSimple and universal

🔝 Back to table of contents



How to choose your tools?

Selection criteria

CriterionQuestions to ask
MaturityHow long has it existed?
CommunityActive community support?
IntegrationCompatible with the existing ecosystem?
CostTCO over 3 years?
SkillsTeam trained or to be trained?
ScalabilitySuited to growth?
tip

Start simple. A good process with basic tools is worth more than a complex stack that is poorly mastered.

🔝 Back to table of contents



Key takeaways

  • The DevOps ecosystem is vast and constantly evolving
  • Git is essential for source control
  • Docker and Kubernetes dominate containerization
  • Terraform is the leader in multi-cloud IaC
  • Prometheus/Grafana is the reference open source monitoring stack
  • Choose tools based on your context, not on trends

🔝 Back to table of contents


← Previous chapter | Next chapter: Roles and Skills →