Skip to content

Instantly share code, notes, and snippets.

@craftybones
Last active June 22, 2026 12:41
Show Gist options
  • Select an option

  • Save craftybones/5a87b1521bcff112fcfc2a4555320d3d to your computer and use it in GitHub Desktop.

Select an option

Save craftybones/5a87b1521bcff112fcfc2a4555320d3d to your computer and use it in GitHub Desktop.
Tools

Software Delivery Project Technology Landscape

A Practical Guide for New Engineers

Introduction

In training, most engineers learn programming languages, algorithms, databases, and software engineering principles. In real-world projects, however, applications are built and operated using an ecosystem of specialized tools and platforms.

This document provides an overview of common technology categories encountered in modern software delivery projects. It is intended as a reference guide to help new engineers understand the purpose of each class of tools and recognize common products used in the industry.


1. Source Code Management (SCM)

Purpose

Stores application source code, tracks changes, enables collaboration, branching, code reviews, and version history.

Common Activities

  • Commit code
  • Create branches
  • Review pull requests
  • Track changes

Examples

  • Git
  • GitHub
  • GitLab
  • Bitbucket
  • Azure Repos

2. Build & Dependency Management

Purpose

Compiles source code, resolves dependencies, packages artifacts, and prepares software for deployment.

Common Activities

  • Build automation
  • Dependency downloading
  • Packaging applications

Examples

Java

  • Maven
  • Gradle

JavaScript

  • npm
  • Yarn
  • pnpm

Python

  • pip
  • Poetry

.NET

  • NuGet
  • MSBuild

3. CI/CD (Continuous Integration & Continuous Delivery)

Purpose

Automates software builds, testing, deployment, and release processes.

Common Activities

  • Build pipelines
  • Automated testing
  • Deployments
  • Release automation

Examples

  • Jenkins
  • GitHub Actions
  • GitLab CI/CD
  • GoCD
  • CircleCI
  • Azure DevOps Pipelines
  • TeamCity
  • Bamboo

4. Artifact Repositories

Purpose

Store compiled binaries and deployable packages.

Common Activities

  • Store application artifacts
  • Dependency hosting
  • Version management

Examples

  • JFrog Artifactory
  • Sonatype Nexus Repository
  • GitHub Packages
  • AWS CodeArtifact

5. Application Hosting Platforms

Purpose

Provide environments where applications run.

Examples

Traditional

  • Physical Servers
  • Virtual Machines

Cloud Platforms

  • Amazon Web Services (AWS)
  • Microsoft Azure
  • Google Cloud Platform (GCP)

Platform-as-a-Service

  • Heroku
  • Render
  • Railway

6. Containerization

Purpose

Package applications together with their runtime dependencies.

Benefits

  • Consistent deployments
  • Environment portability
  • Easier scaling

Examples

  • Docker
  • Podman

7. Container Orchestration

Purpose

Manage large numbers of containers across clusters of servers.

Common Activities

  • Scaling
  • Service discovery
  • Self-healing
  • Rolling deployments

Examples

  • Kubernetes
  • OpenShift
  • Amazon EKS
  • Azure AKS
  • Google GKE
  • Docker Swarm

8. Web Servers & Reverse Proxies

Purpose

Receive incoming requests and route traffic to backend services.

Common Activities

  • Load balancing
  • SSL termination
  • Routing

Examples

  • NGINX
  • Apache HTTP Server
  • HAProxy
  • Traefik
  • Envoy

9. API Gateways

Purpose

Act as the entry point for APIs.

Common Activities

  • Authentication
  • Rate limiting
  • Request routing
  • Monitoring

Examples

  • Kong
  • Apigee
  • AWS API Gateway
  • Azure API Management
  • Tyk

10. Content Delivery Networks (CDN)

Purpose

Deliver static content closer to users through geographically distributed edge servers.

Benefits

  • Faster performance
  • Reduced latency
  • DDoS protection

Examples

  • Cloudflare
  • Akamai
  • Amazon CloudFront
  • Fastly
  • Azure CDN

11. Databases (Relational)

Purpose

Store structured business data.

Common Activities

  • Transactions
  • Reporting
  • Data integrity

Examples

  • PostgreSQL
  • MySQL
  • Microsoft SQL Server
  • Oracle Database
  • MariaDB

12. Databases (NoSQL)

Purpose

Store semi-structured or unstructured data.

Examples

Document Databases

  • MongoDB
  • Couchbase

Key-Value Stores

  • Redis
  • DynamoDB

Wide Column

  • Cassandra
  • HBase

13. Search Engines

Purpose

Provide full-text search capabilities.

Common Activities

  • Product search
  • Log search
  • Document indexing

Examples

  • Elasticsearch
  • OpenSearch
  • Apache Solr

14. Message Brokers & Event Streaming

Purpose

Enable asynchronous communication between systems.

Common Activities

  • Event processing
  • Queueing
  • Decoupling services

Examples

Message Queues

  • RabbitMQ
  • ActiveMQ
  • Amazon SQS

Event Streaming

  • Apache Kafka
  • Redpanda
  • Amazon Kinesis
  • Apache Pulsar

15. Caching Systems

Purpose

Reduce database load and improve response times.

Examples

  • Redis
  • Memcached
  • Hazelcast

16. Identity & Access Management (IAM)

Purpose

Manage authentication and authorization.

Common Activities

  • Single Sign-On (SSO)
  • OAuth
  • User management

Examples

  • Keycloak
  • Okta
  • Auth0
  • Microsoft Entra ID (Azure AD)
  • AWS IAM

17. Secrets Management

Purpose

Securely store passwords, certificates, API keys, and credentials.

Examples

  • HashiCorp Vault
  • AWS Secrets Manager
  • Azure Key Vault
  • Google Secret Manager

18. Configuration Management

Purpose

Manage application settings separately from source code.

Examples

  • Spring Cloud Config
  • Consul
  • AWS Parameter Store
  • Kubernetes ConfigMaps

19. Infrastructure as Code (IaC)

Purpose

Provision infrastructure through code rather than manual setup.

Benefits

  • Repeatability
  • Automation
  • Auditability

Examples

  • Terraform
  • OpenTofu
  • AWS CloudFormation
  • Pulumi
  • Bicep

20. Configuration & Server Automation

Purpose

Automate server setup and configuration.

Examples

  • Ansible
  • Puppet
  • Chef
  • SaltStack

21. Observability & Monitoring

Purpose

Understand system health, performance, and reliability.

Components

  • Metrics
  • Logs
  • Traces

Examples

  • Prometheus
  • Grafana
  • Datadog
  • New Relic
  • Dynatrace

22. Logging Platforms

Purpose

Centralize and analyze application logs.

Examples

  • ELK Stack (Elasticsearch, Logstash, Kibana)
  • OpenSearch
  • Splunk
  • Graylog

23. Distributed Tracing

Purpose

Track requests across multiple services.

Examples

  • Jaeger
  • Zipkin
  • OpenTelemetry
  • AWS X-Ray

24. Testing Frameworks

Purpose

Verify software correctness and quality.

Unit Testing

  • JUnit
  • NUnit
  • pytest
  • Jest

Integration Testing

  • Testcontainers
  • Karate

UI Testing

  • Selenium
  • Cypress
  • Playwright

Performance Testing

  • JMeter
  • Gatling
  • k6

25. Code Quality & Security Scanning

Purpose

Identify bugs, vulnerabilities, and maintainability issues.

Examples

  • SonarQube
  • Checkmarx
  • Veracode
  • Snyk
  • Fortify

26. Security Tooling (DevSecOps)

Purpose

Integrate security into development pipelines.

Examples

  • OWASP Dependency Check
  • Trivy
  • Aqua Security
  • Prisma Cloud

27. Service Mesh

Purpose

Manage communication between microservices.

Features

  • Traffic control
  • Security
  • Observability

Examples

  • Istio
  • Linkerd
  • Consul Service Mesh

28. Workflow & Business Process Engines

Purpose

Coordinate complex business workflows.

Examples

  • Camunda
  • Temporal
  • Zeebe
  • Apache Airflow

29. Data Integration & ETL

Purpose

Move and transform data between systems.

Examples

  • Informatica
  • Talend
  • Apache NiFi
  • Airbyte
  • AWS Glue

30. Analytics & Business Intelligence

Purpose

Generate reports, dashboards, and business insights.

Examples

  • Power BI
  • Tableau
  • Looker
  • Apache Superset

31. Collaboration & Project Management

Purpose

Coordinate teams and track delivery progress.

Examples

  • Jira
  • Azure Boards
  • Confluence
  • Notion
  • Trello

32. Documentation Platforms

Purpose

Capture knowledge and architectural decisions.

Examples

  • Confluence
  • GitHub Wiki
  • MkDocs
  • Docusaurus
  • ReadTheDocs

33. Communication Platforms

Purpose

Support team communication and operational collaboration.

Examples

  • Microsoft Teams
  • Slack
  • Google Chat
  • Zoom

34. Cloud-Native Ecosystem (Frequently Seen Together)

A typical modern enterprise project may include:

  • GitHub/GitLab
  • Jenkins or GitHub Actions
  • Docker
  • Kubernetes
  • Terraform
  • PostgreSQL
  • Redis
  • Kafka
  • NGINX
  • Prometheus
  • Grafana
  • Elasticsearch/OpenSearch
  • SonarQube
  • Jira
  • Confluence

Understanding what each of these does—and where it fits in the delivery lifecycle—is often more valuable initially than knowing every feature of each tool.


Final Advice for New Engineers

When joining a project:

  1. Understand the architecture before learning the tools.
  2. Ask where source code, deployments, logs, and monitoring live.
  3. Learn the deployment pipeline end-to-end.
  4. Understand how incidents are detected and resolved.
  5. Focus on concepts first; tools change frequently.
  6. Remember that tools are implementations of broader engineering patterns.

A strong engineer understands the underlying concepts (version control, deployment automation, observability, messaging, security, scalability) and can adapt to whichever tool a project uses.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment