Cloud & Infrastructure Consulting
Infrastructure that demos well and infrastructure a small team can run for years are two different things. The gap between them is where most of our work happens.
We build and improve cloud infrastructure with one test in mind: can your team operate this without us in the room. Greenfield builds get an architecture matched to the team you have, not the reference diagram. Existing systems get made legible: into Terraform, out of tribal memory, with the unused parts cut away.
We carry a strong bias toward boring technology and managed services, because every clever component in your stack is something your team has to understand on a bad night. And every engagement finishes with a handover, not a retainer pitch.
Who this is for
- The engineer who understood the infrastructure left, and deploys have been quiet and careful ever since.
- You're running on servers someone set up years ago, and every change is preceded by a deep breath.
- Someone told you that you need Kubernetes, and you'd like a second opinion before signing up to operate it.
- The cloud bill has grown past the point where anyone can explain it line by line.
- You're heading into a launch, a growth phase, or an audit, and want the foundations checked while there's still time.
The Kubernetes decision, before any YAML
The longer argumentoption 01
Skip it
For a small number of services: ECS, Container Apps, or plain VMs behind a load balancer. Easier to operate, easier to hire for.
option 02
Managed (EKS, AKS)
The sensible default when you genuinely need Kubernetes. The control plane becomes someone else's pager.
option 03
Self-hosted
Owning etcd, upgrades, CNI, and certificate rotation is a full-time job that produces nothing your customers can see. Almost nobody should.
Infrastructure work we take on
Cloud architecture
We design for the team you have, not the one the reference architecture assumes. That usually means managed services over self-hosting, and technology that will still be unremarkable in five years. Self-hosting earns its place occasionally, at unusual scale or under unusual constraints, and when it does we'll recommend it without hedging.
Infrastructure review
A structured look at what you're running, starting from what's in the accounts rather than what's in the documentation. You get a short list in priority order: what will break, what costs money for no reason, what nobody can safely change, and what's fine and should be left alone. Half the value is usually in that last category.
Cloud migration
Into the cloud, between clouds, or off a platform that stopped making sense. We plan around the ugly parts first: stateful data, DNS cutover, the integration nobody documented. Cutovers get rehearsed, rollbacks get tested, and nothing moves on a Friday.
Infrastructure as Code
We put your infrastructure into Terraform or OpenTofu, including the resources someone clicked together in 2021 that everyone has been afraid of since. The code stays plain: modules where repetition hurts, no abstraction layers your team will have to reverse-engineer later. Good IaC means a new hire can read the plan output and know what's about to happen.
Kubernetes consulting
The first question is whether you need it at all, and you'll get a straight answer before any YAML is written. Kubernetes is built for running many services from many teams; it is a lot of machinery for three containers and a database.
Not using it: for a small number of services, ECS, Container Apps, or plain VMs behind a load balancer are easier to operate and easier to hire for.
Managed (EKS, AKS): the sensible default when you genuinely need Kubernetes. The control plane becomes someone else's pager.
Self-hosted: owning etcd, upgrades, CNI, and certificate rotation is a full-time job that produces nothing your customers can see. Almost nobody should.
Docker & containers
Containerization that stops at the point of usefulness. Reproducible images, builds measured in minutes rather than tens of minutes, base images that get patched, and a registry with some hygiene. If your app runs fine on two VMs, we won't containerize it out of principle.
Monitoring & observability
The goal is a small set of alerts where every page means a human needs to act, at that hour, on that thing. We wire up metrics, logs, and traces with Prometheus, Grafana, and OpenTelemetry, or make better use of the Datadog you already pay for. Then we delete alarms; deleting the right ones is most of the work.
Reliability improvements
Reliability work starts from the failures you've already had, not a target copied from a blog post. We remove the single points of failure that matter, test backups by restoring them, and write runbooks that hold up when the person on call is half awake. Five nines is a cost decision, not a virtue; most businesses need fewer nines and faster recovery.
Performance
We measure before touching anything, because guessed bottlenecks are usually wrong and the real one is usually the database. Query plans, N+1s, connection pools, and caching come before any instance gets bigger. Right-sizing tends to fall out of this work, since slow systems and expensive systems share causes more often than not.
The course of an engagement
The full engagement modelSee what's really there
First, a plain inventory: what exists, what it costs, how the deploy path works, and which parts are held together by one person's memory.
Agree on the outcome
We scope one specific result with you, in writing: what changes, what it costs, what we won't touch. Small enough to finish, big enough to matter.
Build with your team
The work lands in your repos through pull requests your engineers review. If something we wrote can't be explained in review, that's our problem to fix, not yours to accept.
Hand it over
We finish with documentation, runbooks, and a session where your team drives while we watch. Then we leave, unless you'd rather we didn't.
Questions we get
- Do we need Kubernetes?
- Usually not. Kubernetes pays off when you run many services across several teams and have someone to operate the cluster itself. For a small team, ECS on Fargate or Azure Container Apps give you containers, scaling, and deployments without cluster upkeep. Sometimes a couple of VMs behind a load balancer is the right answer. We will say so if it is.
- Can you take over infrastructure someone built and left behind?
- Yes, that is a common starting point. We begin read-only (a cross-account role on AWS, PIM-scoped Reader on Azure) and map what is running, what it costs, and where it will break first. Then we write it down: architecture, runbooks, the odd surprise. Changes arrive as pull requests in your repos, so nothing ends up depending on our memory.
- Which clouds do you cover?
- AWS and Azure. Those are the two platforms we run as proper practices, and estates that span both are fine. We decline work on other clouds rather than learn them on your bill; a consultant reading documentation at your expense is not senior work. If you need a GCP specialist, we will say so and step aside.
- How is infrastructure work priced?
- Fixed-scope for reviews and audits, a weekly rate for build and migration work, a defined end either way. The full model is on the How we work page.
Pricing shapes and numbers are on Pricing; NDAs, timezones, and offboarding are on How we work.
What we typically work with
When the engagement ends
- Everything lives in your accounts and your repos from day one. There is nothing to hand back, because we never held it.
- Documentation and runbooks are written for the engineer on call, not for a slide deck.
- Some clients keep a few hours a month for questions and reviews. That's available, and it stays optional.
Problems this maps to
On-call that pages all night
Twenty-five pages per engineer per week, most acknowledged and ignored. Real incidents hide inside the noise. Postmortems produce action items nobody has time for, and the people carrying pagers have started interviewing elsewhere.
Kubernetes adopted, operations an afterthought
The migration finished a year ago. The cluster runs, mostly. Upgrades are overdue, nobody is confident in the ingress setup, and the engineer who built it has left. Deploys work until they don't, and then nobody is sure where to look.
Field notes on this
Talk to us about your infrastructure.
A short email about your setup and what's not working is the best start. We'll say plainly whether we can help, and what it would take.
hello@farzanfa.com · +91 88918 87223 · Kerala, India · working worldwide · reply within one business day