Skip to content
DipanshuTechBuilding Digital. Driving Growth.

Technology

DevOps & ToolsTerraform, GitHub Actions, Docker

The DevOps stack we reach for, the trade-offs we name, and when we use something else — Terraform for the infrastructure as code, GitHub Actions or GitLab CI for the CI/CD, Docker for the container, with the choice made against the team, the deploy and the compliance posture.

What we use it for

Terraform for the infrastructure as code, with the modules, the environments and the state strategy. GitHub Actions or GitLab CI for the CI/CD, with the right tests, gates and rollbacks. Docker for the container, with the multi-stage build and the small image. Kubernetes for the orchestration when the workload demands it.

We extend the stack with the observability the product needs — Grafana, Prometheus, Datadog, OpenTelemetry. The choice is made against the team, the deploy and the compliance posture.

When we choose it over the alternative

Terraform is right when the infrastructure is multi-cloud or multi-region, the team is comfortable with HCL, and the state is well-managed. GitHub Actions is right when the code is in GitHub, the team is small, and the CI is part of the repo. Docker is right when the deploy is a container, the team is comfortable with the Dockerfile, and the image is small.

The right answer depends on the team, the deploy and the compliance posture. We will say so on the call, with a written rationale for the choice and the trade-offs named.

When we do not choose it

We do not choose Kubernetes when the workload is a single service and the managed platform (ECS, Cloud Run, App Service) is the right answer. We do not choose Terraform when the team is not comfortable with HCL and the CloudFormation or the Pulumi alternative is a better fit. We do not choose Docker when the deploy is a managed platform that does not need a container.

Frequently asked

The questions the team asks

Terraform or Pulumi?
It depends on the team. Terraform is the right default for most teams, with the broadest ecosystem and the most engineers who know it. Pulumi is the right answer when the team is already strong in TypeScript or Python and the infrastructure-as-software model is a leverage point.
When is Kubernetes the right answer?
When the workload has multiple services, the deploy is frequent, and the team has the operational capacity to run a cluster. For a single service or a small team, a managed platform (ECS, Cloud Run, App Service) is the right answer.
How do you handle the on-call?
A named rotation, the dashboards, the alerts and the runbooks. The on-call engineer can act in 5 minutes, not 50. The post-mortem feeds the next iteration, and the on-call is a habit, not a ticket queue.

Have a project in mind?Let’s scope it together.

Tell us the outcome you need. You get an approach, a rough timeline and next steps within one business day.