Skip to main content

Dev Station Technology

Cloud engineering

Your tenant, your bill, your way out

We deploy into cloud accounts you own, on Azure or AWS, and hand over the pipelines with the code. One client asked us to build so they could leave a SaaS vendor entirely, and now they host the whole platform themselves.

Book a 30-minute scoping call See the deployments

If your current setup works and the bill is sane, we will tell you to leave it alone.

What we check before touching anyone's infrastructure.
Who owns the account You, or your last supplierDay 1
Where data must sit Region and residency rulesDay 1
What the bill is now And what drives itDay 1
Who can deploy And who reviews itDay 1
How you would leave us Written down at the startDay 1
The last row is the one most suppliers avoid answering.

Cloud work we have delivered

  • IoT WorkzKubernetes and Docker, self-hosted
  • Norwegian EdTechAWS, national data law met
  • Hydrajaws LimitedAzure with AD B2C identity
  • German software firmAWS behind a React product

The honest question first

Moving cloud rarely pays for itself on its own

Migrations get sold on cost savings and then deliver a similar bill with new problems. There are good reasons to move. Cost alone is usually not one of them.

Stay where you are when

Nothing is actually broken

  • The bill is predictable and roughly what you expected
  • You can deploy without a meeting
  • Nobody is blocked waiting for infrastructure
  • Your data already sits where the rules require

A migration here buys you risk and a project plan. We will say so.

Worth moving when

Somebody else holds the keys

  • A supplier owns the account your systems run in
  • Data sits in a region your policy does not allow
  • Licence or platform fees now exceed the cost of running it yourself
  • You cannot get an export of your own data
  • Scaling means asking someone else for permission

The IoT Workz project was exactly this. They now own the platform and the data outright.

Plain definitions

Two questions that decide the size of the project

The second one changes the cost by a factor of five, and it usually gets decided by accident.

What does a cloud migration actually include?

Four things, in order. An assessment of what runs where and what it depends on. A landing zone, meaning the accounts, networks, identity and guardrails your systems will live inside. The move itself. Then the cutover, which is the only part anybody sees.

The assessment is the part people skip and the part that decides everything else. Half the systems in a typical estate turn out to depend on something nobody documented.

Lift and shift, replatform, or rebuild?

Rehosting moves the system as it is onto cloud servers. Nothing improves, but the move is quick and the risk is contained. Replatforming swaps components for managed equivalents, so the database becomes a managed database and the file share becomes object storage. Rebuilding rewrites the system for the cloud.

Two more options get forgotten. Retire the systems nobody uses, and retain the ones with no case for moving. On most estates those two cover more machines than anybody expects, and they are the cheapest wins available.

What we build

Five things we set up on every engagement

Accounts you own
Azure or AWS in your name, with our access granted by you and revocable by you. We have never needed to hold a client account, and we will not.
Environments that match
Staging that resembles production closely enough to be worth having, built from the same definitions.
Containers and orchestration
Docker, and Kubernetes where the workload justifies it. We do not put a three-service app on a cluster to look modern.
Secrets handled properly
A vault rather than environment variables pasted into a pipeline. On the IoT platform we used HashiCorp Vault.
Monitoring from day one
Prometheus and Grafana, with alerts that reach a person. Infrastructure nobody watches is infrastructure nobody can defend.

What people ask us for

Six reasons companies actually call us about cloud

Cost reduction is the reason people give and rarely the reason that holds up. These are the ones that do.

The account is in a supplier name
Somebody else owns the environment your business runs in. Getting the account into your name, with your billing and your access control, is often the whole project.
Leaving a SaaS vendor for self-hosted
Where licence and tier fees across your estate have passed the cost of running it yourself. The IoT Workz platform moved exactly this way and now runs on the client infrastructure.
Moving a system off ageing on-premise hardware
Usually forced by a hardware refresh or a support contract ending, which makes the deadline real and the scope negotiable.
Setting up a landing zone for something new
Accounts, networks, identity and deployment rules, built before the first service so the estate does not grow by accident.
A bill nobody can explain
Where the number arrives monthly and no one can attribute it. Tagging, environment separation and a look at what is running unused usually answer it in a week.
A second region for data residency
Where a customer or a regulator requires data to stay somewhere specific. On the Norwegian platform this meant meeting national educational data protection rules.

Tell us where it runs today

Three fields. An engineer reads it, not a sales rep. You get an answer within one working day.

  • We look at ownership, region, cost drivers and how you deploy
  • You get a written view on whether to move, with a cost band
  • No obligation, and no phone number needed to start

Our work

Built to be run by someone else

Case study, IoT platform

A platform designed so the client could host it themselves

IoT Workz was locked into a SaaS vendor with fragmented integrations and no white labelling. The brief was ownership. We built on Docker and Kubernetes with Keycloak for identity, HashiCorp Vault for secrets, Kafka and TimescaleDB behind it, and Prometheus with Grafana watching the whole thing. It runs on their infrastructure, not ours.

  • Kubernetes
  • Docker
  • Vault
  • Keycloak
  • Kafka
  • TimescaleDB
  • Prometheus
  • Grafana
Platform ownership after handover
100%
Critical alarms in live operation
Zero
Tenants isolated on one deployment
Multi

On the managed side, we run production workloads on Azure and on AWS for clients in Norway and Germany.

Technology

What we run in production

This list is what we have deployed and handed over, rather than everything the clouds offer.

Clouds
Azure and AWS, in accounts held in your name. We have never held a client cloud account and we do not intend to.
Containers and orchestration
Docker everywhere, Kubernetes where the workload justifies it. A three-service application on a cluster costs you every week and buys nothing.
Secrets
HashiCorp Vault on the IoT platform, or the cloud provider service. Never environment variables pasted into a pipeline.
Identity
Keycloak for multi-tenant platforms, Azure AD B2C where customers sign themselves up.
Monitoring
Prometheus and Grafana, with alerts routed to a person and an escalation when nobody answers.
Delivery
Azure DevOps, GitHub Actions or GitLab, with environment definitions in version control so staging and production come from the same source.

Who does the work

Twenty engineers, eight of them senior

Infrastructure gets judged the first time something breaks at an inconvenient hour, which is usually long after handover. Twenty people means the person who built your environment can still be asked about it.

Engineers in Ho Chi Minh City
20
Senior engineers
8
Average experience
5+ yrs
Working with US, UK and EU teams
10+ yrs

You interview whoever we put forward. A fair question is how they would hand the environment back to you, and whether they have written that down before.

How we work

Five engagement models, and you pick how much you keep

The models differ in one thing: how much of the management you hand over. Everything else, including who owns the code, is the same in all five.

Changing model later is normal. Augmentation into a dedicated team is the common direction, and the people stay.

Engineers join your team and work inside your process, your board and your code review.

Team control
You manage the day to day
Pricing
Monthly per person, by role and seniority
Minimum
1 month

A team that works only on your product, with a lead on our side running delivery.

Team control
Shared. Our lead runs delivery, you set priorities
Pricing
Monthly per role, lead included
Minimum
3 months

A long-term engineering site under your standards, where we carry recruitment, HR, payroll and equipment.

Team control
You direct the work, we run operations
Pricing
Monthly per role plus site costs
Minimum
6 months

One price for a scope that is genuinely settled, with the overrun carried by us.

Team control
We deliver, you accept against written criteria
Pricing
Fixed bid, paid against milestones
Minimum
Project based, usually 10 to 14 weeks

Everything in the centre model, with the whole team moving into your own Vietnamese entity on an agreed date.

Team control
Transfers from us to you
Pricing
Monthly per role, transfer price agreed up front
Minimum
2 to 6 years

FAQs

Questions we get on the first call

Azure or AWS?

Whichever your organisation already has skills and agreements for. We ship on both. Picking the one your team cannot support after we leave is a false economy.

Do you hold our cloud account?

No. The account is in your name and you grant us access, which you can revoke at any time.

Will this reduce our bill?

Sometimes, but we do not lead with it. Ownership, data residency and the ability to deploy without waiting are the reasons that hold up.

Do we need Kubernetes?

Probably not. It earns its keep on multi-tenant platforms and large workloads. For a handful of services it adds operational cost you will feel every week.

What about data residency?

We deploy in the region your policy requires. For the Norwegian platform this included meeting national educational data protection rules.

What happens if we stop working with you?

You keep the account, the pipelines, the definitions and the documentation. We write the exit into the arrangement at the start rather than at the end.

What does a cloud migration cost, and how long does it take?

The assessment is two to three weeks and produces the only estimate worth trusting, because until you know what depends on what every number is a guess. A single system rehosted with its data is a short project. An estate move with a landing zone, several systems and a real cutover is a long one. Running costs are separate and continue forever, which is why we look at the bill first.

Do you use Terraform or Bicep?

We work in whatever your team already runs, and where there is no existing choice we keep environment definitions in version control alongside the code. Our own production deployments are Docker and Kubernetes rather than a large Terraform estate, so if you are hiring specifically for deep Terraform module work, say so and we will tell you honestly whether we are the right team.

What about SOC 2, ISO 27001 or PCI DSS?

We build to the controls those frameworks ask for, and we do not issue certificates. Access enforced at the server, secrets in a vault, audit trails, residency and retention, all set up during the build rather than retrofitted before an assessment. The certificate itself comes from an accredited firm, and we work alongside them and fix what they find.

Find out who actually owns your infrastructure

If the answer is a former supplier, that is worth fixing before anything else. Thirty minutes is enough to establish where you stand.

Book a 30-minute scoping call Read when to stay put

Let's Talk