Protofire Experience Operating Kubernetes with Cozystack
Protofire moved from nearly a hundred AWS accounts on ECS to two Kubernetes clusters on Cozystack, and expects a 7–10x reduction in infrastructure spend.
In a recent infrastructure transition that spanned several months, our team explored alternative container orchestration platforms to simplify operations and optimize costs. At the time, our environment consisted of nearly a hundred AWS accounts running multiple ECS services, along with managed PostgreSQL, Redis, RabbitMQ, and ALBs.
One of the goals was to consolidate our deployment architecture under Kubernetes while maintaining support for stateful services, without introducing significant operational complexity. After evaluating different options, we decided to adopt Cozystack, primarily due to its all-in-one approach and compatibility with bare-metal infrastructure.
Cozystack is built on Talos Linux, which provides immutable and secure nodes, and includes a set of pre-packaged Helm-ready applications such as PostgreSQL, Redis, RabbitMQ, and Ingress-NGINX. These built-in components allowed us to accelerate the initial setup while maintaining flexibility for customization.
Currently, we manage two Kubernetes clusters — each composed of three control-plane and three worker nodes, with capacity planned for scaling. Based on our infrastructure modeling and cost tracking, we expect a 7× to 10× reduction in spend compared to our previous AWS setup.
During the initial phase, migrating and tuning each environment, including adapting Helm charts, took more than a day. Through iteration and process improvements, we’ve since reduced this time: today, standard environments can be provisioned and configured in roughly one day.
We also restructured our observability tooling during this process. We adopted Loki for centralized log collection, complementing the existing metrics and Grafana dashboards already available through the platform.
Cozystack’s recent joining CNCF Sandbox gave us additional reassurance regarding its long-term support and technical maturity. From our perspective, this migration has provided meaningful operational and financial benefits, and helped us simplify and standardize how we deliver and maintain services internally.
Got a use case? Share it with our maintainers! We’ll showcase it to the community.*
What was Protofire's previous setup before moving to Cozystack?
Why: Their environment was nearly 100 AWS accounts with multiple ECS services, plus managed PostgreSQL, Redis, RabbitMQ, and ALBs. The migration consolidated this under Kubernetes while keeping support for stateful services.
Question 2 / 5
What spend reduction does Protofire expect after the migration?
Why: Based on their infrastructure modeling and cost tracking, Protofire expects a 7× to 10× reduction in spend compared to the previous AWS setup. They run two K8s clusters with three control-plane and three worker nodes each.
Question 3 / 5
How long does provisioning and configuring a standard environment take Protofire today?
Why: In the initial phase, migrating and tuning each environment — including adapting the Helm charts — took more than a day. After iterating on the process, Protofire now provisions and configures a standard environment in roughly one day. The gain came from process work, not from a new tool.
Question 4 / 5
Why did Protofire choose Cozystack specifically?
Why: After evaluating different options, Protofire decided to adopt Cozystack primarily due to its all-in-one approach and compatibility with bare-metal infrastructure. Plus pre-packaged Helm-ready apps (PostgreSQL, Redis, RabbitMQ, Ingress-NGINX) accelerated initial setup.
Question 5 / 5
What additional observability tooling did they add during migration?
Why: They restructured observability tooling and adopted Loki for centralized log collection, complementing the existing metrics and Grafana dashboards already available through the platform.