Expertise
DevOps and infrastructure engineer: the role that builds the environment code runs in and the road that leads there
How a change goes live should be readable from the repository; I build that single pipeline of packaging, testing and deploying.
- years
- 6
Me in this ecosystem
DevOps, for me, is not a list of tools but the whole road from the developer’s machine to the environment the code runs in. Packaging, verifying and shipping look like separate jobs, yet they are parts of one pipeline; when one is weak the reliability of the others drops too.
I package the environment with Docker, define test and deploy steps in GitHub Actions or Jenkins and describe infrastructure in code with Terraform. Because the pipeline is described in code, how a change goes live can be read from the repository, and the same pipeline can ship to cloud environments and to self-hosted platforms alike.
Infrastructure as an architectural subject I write about in the Engineering section; this page is the everyday, hands-on side of the work.
What is the DevOps & Infrastructure Engineer role?
A DevOps and infrastructure engineer makes sure software reaches the environment it runs in safely, from the developer's machine. Packaging the environment, automating tests and deployment, configuring the server and network layer and keeping the running system observable are their ground.
What does the DevOps & Infrastructure Engineer do?
The day-to-day work is packaging the application as a container, defining test and deploy steps in a CI/CD pipeline, setting up infrastructure in code, and configuring services on the server and the layer in front of the application, and reducing the gap between environments. I do this with tools such as Docker, Kubernetes, Terraform, GitHub Actions and Jenkins, on environments such as AWS and Google Cloud.
Technologies I pair it with
-
Docker
Development environment and deployment unit.
-
Kubernetes
The orchestration layer where containers are run, scaled and restarted across machines.
-
Linux
The server operating system applications run on.
-
nginx
The layer in front of the application.
-
GitHub Actions
The CI/CD pipeline that defines test and deploy steps in the repository.
-
Jenkins
The automation server that runs build, test and deploy steps.
-
Terraform
For describing infrastructure in code and setting it up repeatably.
-
Dokploy
Self-hosted PaaS; container-based deploys.
-
Cloudflare
The DNS, proxy and content delivery layer in front of the application.
-
AWS
Cloud provider; virtual machines, storage and managed services.
-
Google Cloud
Cloud provider; virtual machines, storage and managed services.
Questions in this area
Frequently asked
8 questions
-
What does a DevOps engineer do?
They make sure software gets from the developer to the environment it runs in safely and repeatably: they package the environment, build the test and deploy pipeline, configure the infrastructure and server layer and look after the running system staying observable.
-
How long have you worked in DevOps?
Since 2020, 6 years.
-
Are DevOps and infrastructure engineering the same thing?
They overlap but are not the same. DevOps puts the pipeline and the way of working between development and operations first; infrastructure engineering puts the server, network and platform layer that pipeline stands on first. This page holds both.
-
How do you build a CI/CD pipeline?
With GitHub Actions or Jenkins: tests run on every change and the deploy steps are defined in the same pipeline. Because the pipeline is described in code, how a change goes live can be read in the repository.
-
What is the difference between Docker and Kubernetes?
Docker packages an application and its environment as a container; Kubernetes manages running, scaling and restarting those containers across multiple machines. The first is a packaging question, the second an orchestration one.
-
What does managing infrastructure as code mean?
Setting up servers and services not by hand but from files that describe them, with a tool such as Terraform. That makes the infrastructure repeatable and its changes trackable in the repository.
-
Which cloud and deployment tools do you work with?
On the cloud side AWS and Google Cloud, for self-hosted deployment platforms such as Dokploy, and Cloudflare for the DNS and proxy layer. The role of each tool is written in the Technologies section of this page.
-
How is this different from backend development?
Backend development covers the application itself, that is the API, the data and the queue; DevOps and infrastructure cover packaging it, shipping it and the environment it runs in. I do not think of the two as separate, but I describe them on separate pages.
Let us work together
If you have work in this ecosystem, tell me what you are building and we will talk about how to build it.