DevOps

Ansible engineering services

Ansible configures what already exists. Where Terraform creates servers, Ansible decides what runs on them — which is exactly the tool you want for estates that are not fully containerised.

Rated 4.9 on Clutch across 38 reviews

Where we use Ansible

Ansible is part of the stack on this service. Each page covers how we work, what you get and what it costs to start.

Ansible in practice

Ansible configures machines that already exist. It works over SSH with no agent to install, and playbooks are idempotent by design — running one twice changes nothing the second time, which is what makes it safe to re-run during an incident rather than frightening.

In a containerised world it remains useful for everything that is not a container: the hosts themselves, network appliances, and the legacy servers that are not going to be rewritten. YAML playbooks are also readable by operations people who do not write application code, which matters for who can review a change.

What we build with Ansible

Packages, users, services and certificates defined in playbooks rather than in someone’s shell history.

Repeatable releases onto virtual machines, including the rollback path.

Baseline security configuration applied consistently across a fleet and re-checked on a schedule.

Is Ansible right for you?

Ask us

A good fit when

  • Configuring servers and virtual machines consistently
  • Estates that are not fully containerised
  • Security baselines applied across a fleet and re-checked
  • Deployments onto virtual machines with a rollback path

Probably not when

  • Provisioning cloud infrastructure — Terraform is the right tool
  • Fully containerised platforms where hosts are disposable
  • Configuration that changes constantly, where the playbook is always behind

What we run alongside Ansible

The rest of the setup, and why each piece is there. We keep this list short on purpose — every dependency is something someone has to maintain.

Ansible Vault
Encrypted secrets inside the repository, so playbooks are shareable.
Roles and collections
Reusable structure instead of one enormous playbook.
Molecule
Testing roles against containers before they touch a real server.
Dynamic inventory
Hosts read from the cloud provider rather than a file that goes stale.
Terraform
The other half: it creates the machines, Ansible configures them.

Why Ansible

Let’s talk

Nothing to install on the targets

It works over SSH, so there is no agent to deploy, secure and keep updated on every machine.

Idempotent by design

Running a playbook twice changes nothing the second time, which makes it safe to re-run during an incident.

Readable by operations people

YAML playbooks are reviewable by people who do not write application code.

What we get called in to fix

Get a second opinion

Shell commands instead of modules

Playbooks that are just shell scripts in YAML, losing idempotency entirely.

Secrets in plain text

Credentials committed in inventory or vars files.

Playbooks that drifted from reality

Servers changed by hand until the playbook no longer describes them.

No testing

Roles first executed against production, which is a bad place to find a typo.

Ansible or the alternative

The comparisons we are actually asked to make, answered the way we would answer them on a call.

Terraform provisions, Ansible configures. Most estates use both, at different layers.

Containers remove much of the configuration problem. Ansible remains for the hosts and everything outside containers.

Ansible for its agentless model and lower barrier. The others where an existing investment already exists.

Got an idea? Let’s make it real.

Tell us the short version

This could be the first step towards a new and successful collaboration. A one-line idea and a finished spec are both fine — tell us the problem, the deadline you’re working to and what’s in your way.

We reply within one working day.

Prefer another way to talk?

Frequently asked questions

Both, for different jobs. Terraform provisions infrastructure; Ansible configures what runs inside it.

Yes, for the hosts, the network appliances and the legacy servers that are not going to be containerised.

Yes. We usually document the current state first, then encode it, then remove what turns out to be unnecessary.

Yes, for hosts, network devices and legacy servers. Containers reduced its scope; they did not remove the machines underneath.

Yes. We document the current state first, encode it, then remove the steps that turn out to be unnecessary — usually a surprising number.