Two decades of running production software. Ten years of stripping out what it does not need.

We started in 2007 building and hosting software for organisations across the UK and Europe, including projects for Twitter, the British Royal Navy, and renewable energy companies operating across developing markets. Along the way, we lived through every generation of cloud infrastructure, and built Lithus to fix where it ended up.

Every layer in the modern cloud solved a problem at the time.

Over nearly two decades of running client workloads, we watched hardware become reliable, open-source orchestration mature, and virtualisation layers turn from a necessity into an expensive middleman.

2007 – 2010Physical servers & early AWS

When getting a server quickly was the hard part.

We started in 2007 as a software development company. When we delivered software for small and mid-sized businesses, the next question was always where to run it, so we took on their hosting too. At the time, getting a physical Linux server racked took weeks, and each machine was a one-off server configured by hand over SSH and deployed via Subversion and SCP.

When Amazon launched EC2, we were there at the start, and we later used platforms like Heroku when Git-push deployments first appeared. Single EC2 instances were fast to provision, and Heroku felt effortless until a client needed to scale and saw the bill. High-availability load balancing and zero-downtime deployments were still exotic practices reserved for the largest companies, while the cloud solved the immediate problem of getting compute quickly.

2011 – 2015Configuration management to Kubernetes 1.0

Treating servers as replaceable.

As client workloads grew, single servers were no longer enough. The industry moved toward machine images and configuration management tools like Puppet, Chef, and Ansible so a failed instance could be replaced reproducibly.

When Google open-sourced Kubernetes based on their internal Borg system, we adopted it at version 1.0 in 2015, before StatefulSets even existed. It gave us a standard way to orchestrate workloads across multiple servers, route incoming traffic, and combine the open-source tools needed for zero-downtime operation.

2016 – 2020Managed Kubernetes & cloud bill creep

Years of rising bills for the same workloads.

We moved our clients onto managed Kubernetes, primarily on Google Cloud because they had built Kubernetes and offered the strongest early support. For several years, that was a sensible default.

Over time, our clients noticed a familiar pattern: their cloud bills kept climbing year after year to run the same software. Part of that growth was data volume, and part of it was the pricing structure of managed cloud services. At the same time, teams were being pulled into proprietary cloud services even as open-source alternatives matured to the point where we could deploy and operate them reliably at scale.

2021 – PresentLithus · Dedicated bare metal

Removing the layers we no longer needed.

We stepped back and looked at the stack we were running. Kubernetes was already handling scheduling, networking, and machine failure, yet it was sitting on top of virtual machines, which sat on top of physical servers. Because virtual machines cannot rely on a single host's local disks, any workload that stored data (such as databases, queues, and analytics stores) had to use network-attached block storage, which adds cost and latency.

Meanwhile, server hardware had shifted from spinning disks to fast, reliable solid-state NVMe drives, bare metal had become much more affordable, and Kubernetes operators for stateful workloads could now handle replication, automated failover, and rebuilding a missing node without human intervention. Virtual machines were solving a problem we no longer had, so we removed them, automating bare metal first with Ansible and today declaratively from the operating system up with NixOS.

Built to survive hardware failures without waking anyone up.

Removing the hyperscaler layer works because our hardware and software stack is engineered to self-heal by default, with our engineers on-call 24/7 when human judgment is needed.

Direct on NVMe bare metal.

Your applications and data services run directly on dedicated European servers with local NVMe drives and physical network cards. Removing the hypervisor and network block storage cuts latency and gives you markedly more compute and I/O per euro.

Self-healing workloads and multi-site resilience.

If a server fails, Kubernetes reschedules containers immediately while stateful services fail over to synchronous standby replicas and rebuild lost nodes automatically. For critical systems, we spread clusters across multiple European data centres.

Reproducible from the operating system up.

Every server is built declaratively using NixOS, and every cluster runs standard upstream Kubernetes and proven open-source software. You keep full SSH root and Kubernetes admin access at all times, with no proprietary services locking your team in.

Leadership.

When you work with Lithus, you speak directly with the people responsible for your platform and your commercial agreement.

Adam Charnock

Adam Charnock

Founder & Principal Engineer · Munich, Germany

Adam leads architecture, migrations, and engineering operations at Lithus. Over nearly twenty years in the industry, his work has ranged from internal product development for Twitter and multi-terabyte hardware-testing databases for Snap Inc, to optimising Blocknative's global AWS network and designing a bare-metal alternative to their cloud stack.

Because he spent years as an application developer before focusing on infrastructure, he works closely with client teams where code and infrastructure meet. That includes message delivery guarantees, database access patterns, and isolating critical state, such as making sure a Valkey instance holding user sessions cannot be filled by background cache data.

His networking background also comes from founding and operating a licensed regional ISP in rural Portugal: working with multinational carriers to run fibre along a railway line, beaming it up a mountain to a solar-powered relay, and running BGP peering across more than 100 km².

Harun Mlivo

Founder & Head of Business · Munich, Germany

Harun leads client relationships, strategic partnerships, and company operations at Lithus. He focuses on making enterprise-grade cloud solutions practical, accessible, and growth-driving for SMEs.

He brings nearly 12 years of experience from Google, most recently as Partnerships Lead for AdTech & Cloud guiding companies through digital transformation and cloud adoption. Having worked with everything from fast-moving startups to global enterprises, he knows firsthand what it takes to scale efficiently.

He has also served as a startup ecosystem builder, giving back through Techstars Sarajevo and Sarajevo Slush’D.

Company facts and compliance.

Straightforward governance and European data residency for due diligence and security reviews.

Entity & presence

Lithus UK Ltd (established in the United Kingdom in 2007), with German GmbH formation due in Q1 2027.

Data residency

All client workloads and backups run exclusively in European Union data centres across Germany, the Netherlands, and France.

ISO 27001

Deployed in ISO 27001-certified EU data centres (Germany, the Netherlands, and France).

Access & continuity

Clients hold full SSH root and Kubernetes admin access from day one, with a customisable EU subprocessor chain.

Talk directly with an engineer who runs production clusters.

  1. 1Book a 30-minute call with one of our engineers to walk through your current stack
  2. 2Optionally share a recent cloud bill so we can model your exact hardware and savings
  3. 3Receive a costed migration plan, a fixed monthly price, and a candid view on whether we are a good fit

Locked into a cloud contract right now? Ask us to check back in 3, 6, or 12 months →