Overview of DevOps Tools
Table of contents
- Tool mapping
- Source code management
- CI/CD
- Containerization and orchestration
- Infrastructure as Code
- Monitoring and observability
- Collaboration and communication
1 - Tool mapping
Overview of the ecosystem
Classification by cycle phase
| Phase | Popular tools |
|---|---|
| Plan | Jira, Azure Boards, Trello |
| Code | Git, VS Code, IntelliJ |
| Build | Maven, Gradle, npm |
| Test | JUnit, Selenium, Jest |
| Release | Jenkins, GitLab CI, Argo CD |
| Deploy | Kubernetes, Terraform, Ansible |
| Operate | Kubernetes, Consul, Vault |
| Monitor | Prometheus, Grafana, ELK |
🔝 Back to table of contents
2 - Source code management
Git: the standard
Git platforms
| Platform | Type | Strengths |
|---|---|---|
| GitHub | SaaS/Enterprise | Community, Actions, Copilot |
| GitLab | SaaS/Self-hosted | Built-in CI/CD, DevSecOps |
| Bitbucket | SaaS/DC | Atlassian integration |
| Azure Repos | SaaS | Azure DevOps integration |
Feature comparison
| Feature | GitHub | GitLab | Bitbucket |
|---|---|---|---|
| Built-in CI/CD | Actions | CI/CD | Pipelines |
| Container Registry | Packages | Registry | N/A |
| Issue Tracking | Issues | Issues | Jira |
| Wiki | Wiki | Wiki | Confluence |
| Code Review | PR | MR | PR |
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
| Criterion | Jenkins | GitLab CI | GitHub Actions |
|---|---|---|---|
| Hosting | Self-hosted | Both | SaaS |
| Configuration | Groovy/GUI | YAML | YAML |
| Runners | Agents | Runners | Runners |
| Learning curve | High | Medium | Low |
| Cost | Free | Freemium | Freemium |
🔝 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
| Tool | Usage | Complexity |
|---|---|---|
| Docker Compose | Local development | Low |
| Docker Swarm | Small clusters | Medium |
| Kubernetes | Large-scale production | High |
| Nomad | Lightweight alternative | Medium |
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
| Aspect | Terraform | Ansible | CloudFormation |
|---|---|---|---|
| Approach | Declarative | Procedural/Declarative | Declarative |
| State | Remote | Agentless | AWS managed |
| Multi-cloud | Yes | Yes | AWS only |
| Language | HCL | YAML | YAML/JSON |
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.
| Component | Role |
|---|---|
| Elasticsearch | Storage and search |
| Logstash | Log processing |
| Kibana | Visualization |
| Filebeat | Log collection |
SaaS solutions
| Solution | Type | Strengths |
|---|---|---|
| Datadog | Full APM | All-in-one |
| New Relic | APM | Ease of use |
| Splunk | Logs | Enterprise-grade |
| PagerDuty | Alerting | On-call management |
The 3 pillars of observability
🔝 Back to table of contents
7 - Collaboration and communication
Communication tools
| Tool | Main use |
|---|---|
| Slack | Real-time communication |
| Microsoft Teams | Integrated Office suite |
| Discord | Communities |
ChatOps
Automation via chat.
Documentation
| Tool | Type |
|---|---|
| Confluence | Enterprise wiki |
| Notion | Modern documentation |
| GitBook | Technical documentation |
| Markdown | Simple and universal |
🔝 Back to table of contents
How to choose your tools?
Selection criteria
| Criterion | Questions to ask |
|---|---|
| Maturity | How long has it existed? |
| Community | Active community support? |
| Integration | Compatible with the existing ecosystem? |
| Cost | TCO over 3 years? |
| Skills | Team trained or to be trained? |
| Scalability | Suited to growth? |
Recommended stack to get started
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