Project Overview
Zeno Health runs 175+ pharmacy stores across two metro cities and also sells to customers online. Stores and online orders were growing in parallel, so every pricing test needed a fast release. Health data meant tighter rules on who could see what, and there was no dedicated platform team to absorb the extra operational work.
Their infrastructure used two cloud providers: AWS and DigitalOcean. They set their capacity manually and ran their releases by hand. Zeno Health needed a setup that could grow with the business instead of being rebuilt every time it did.
Cloud Solitaire converged everything onto AWS, moved the applications to Kubernetes on Amazon EKS, and automated releases, scaling, security, and cost control from day one.
Challenges
Six problems were stacking up on the platform:
- Everything was handled twice, because there were two clouds to manage
- Capacity was set by hand in advance, because there was no autoscaling
- Releases were done by hand, with every release waiting for someone free to run the steps
- New Relic was costing around ₹50,000 to ₹60,000 a month
- Logs and metrics were spread around, and every problem started with a hunt
- Each person’s AWS access was managed separately, one login per person
Overall, the team was spending more time keeping things running and less time building products.
Our Approach
Zeno Health needed to move all its systems to AWS, shift their applications to Kubernetes on Amazon EKS, automate setup and releases, ensure applications could scale and stay operational, improve cloud security, and reduce cloud and monitoring costs.
We handled this as one project, with each step reducing the cost of the next. Moving everything first and optimizing later would have cost more.
Solutions
Infrastructure Migration to AWS and EKS
We started by moving workloads from DigitalOcean to AWS, packaged the applications with Docker, and moved them onto Amazon EKS. The entire setup was built with Terraform, so the same platform can be rebuilt, reviewed, and audited.
Release Automation and Monitoring
AWS CodePipeline and CodeBuild now handle deployments from start to finish with no manual steps. Monitoring was converged into a single Grafana and Prometheus setup, and logs are collected and searchable in Elasticsearch.
Security
Access is managed in one place instead of separate logins per person, using IAM SSO. IRSA allows Kubernetes workloads to get AWS permissions safely, and access is granted by role and removed in one place as the team grows.
Cost Optimization
We swapped New Relic for open-source Grafana and Prometheus, moved test and staging workloads to Spot Instances, added node autoscaling with Karpenter, and set idle workloads to shut down on their own. These changes save money on their own, without anyone needing to watch a dashboard.
Technologies & Tools Used
| Area | Tools |
|---|---|
| Platform | AWS, Amazon EKS, Kubernetes, Docker |
| Automation | Terraform, AWS CodePipeline, AWS CodeBuild, Karpenter |
| Observability | Grafana, Prometheus, Elasticsearch |
| Security | IAM SSO, IRSA |
Results
- Cost: monitoring spend lowered by ₹50,000 to ₹60,000 a month after swapping New Relic for open-source Grafana and Prometheus.
- Releases: deployments now run automatically through CodePipeline and CodeBuild instead of by hand.
- Scaling: Kubernetes on EKS takes extra load without a rebuild.
- Access: permissions are granted and removed from one place through IAM SSO and IRSA.
- Observability: logs and metrics in one place, which cuts the time to find the cause of an issue.
- Spend: costs now reflect the actual workload, through Spot Instances, Karpenter autoscaling, and automatic shutdown of idle resources.
Key Takeaways
It is cheaper to move to one cloud first and then automate, than to automate a split setup and migrate later.
Terraform closes the gap between what’s running and what’s documented, making the infrastructure reviewable and rebuildable.
Cost controls like Karpenter, Spot Instances, and idle shutdown work best when they are part of the platform from day one.
IAM SSO and IRSA replace individual logins with role-based access that scales with the team.
The stack uses AWS services and open-source tools, so clients are not tied to Cloud Solitaire as a vendor.
Cloud Solitaire has done this type of migration before: DigitalOcean and EC2 onto EKS, in containers, with Terraform underneath. Cost controls and security are built in from the start, so we don’t learn at the client’s expense.
Frequently Asked Questions
Why move from a split AWS and DigitalOcean setup to a single cloud? Managing infrastructure on two clouds means managing everything twice. Converging onto one cloud removes that duplication and makes automation and security controls simpler to apply consistently.
How does Kubernetes on Amazon EKS help a growing pharmacy retail platform? EKS lets applications scale to meet demand from new stores and online orders without manual capacity planning or a rebuild. Karpenter node autoscaling lets the platform grow with the business instead of requiring manual resizing.
Can switching from a commercial monitoring tool to open source actually cut costs without losing visibility? Yes. Replacing a paid tool like New Relic with Grafana and Prometheus, backed by Elasticsearch for logs, removes a recurring monthly bill while keeping metrics, dashboards, and alerting in one place.
Why does access management matter more for healthcare and pharmacy platforms? Health data has strict rules on who can see what. IAM SSO and IRSA let teams grant and remove access from a single place by role, rather than tracking separate logins per person.