A major grocery retailer spanning the UK, Ireland and Central Europe was looking for a robust cloud platform to transform its internal operations. Having previously adopted a ‘you build it, you run it’ approach, their development teams struggled with burdensome infrastructure work and unproductive ticket-driven activities. The retailer aimed to shift the focus from these unproductive tasks to delivering value.
With VirtusLab‘s help, the client created a developer platform that accelerated time to production and ensured compliance with corporate standards for security, disaster recovery and observability. It is now an integral part of the client’s platform management strategy.
The prevailing do-it-yourself approach resulted in multiple teams duplicating efforts, each producing similar solutions with minor variations. It also required specialised talent that was both expensive and difficult to find. Consistency in security and compliance across the client’s cloud environment was a significant issue.
The existing system, with its ticket-driven and manual processes, was error-prone and resulted in long wait times. In addition, cloud spend was high and the company found it difficult to monitor infrastructure costs.
The client recognised the importance of evolution. They wanted to improve team collaboration and move to a product-focused engineering model. At the same time, the organisation saw an opportunity to improve its infrastructure practices, resulting in more scalable solutions to support its ambitious development goals. They turned to VirtusLab to help them achieve this.
VirtusLab helped the retailer create a centrally managed platform that freed application teams from infrastructure concerns, making it easier to build in-house solutions. The developer platform ran on a cloud-based infrastructure. It provided tools and standardised design practices to ensure each application team had access to reliable, compliant Kubernetes clusters. VirtusLab also assisted with team onboarding and operational support, extending the benefits for the client’s application teams.
The partnership between the client and VirtusLab included requirements gathering, bespoke architecture proposals, delivery of baseline functionality and driving early adoption. It also involved these collaborative processes:
- Iterative development driven by user feedback.
- RFCs (Request For Comments process), knowledge sharing sessions and demos.
- Continuous improvement, complemented by comprehensive documentation and deployment patterns to ensure compliance with hosting standards.
In total, the collaboration gave the customer an opportunity to transform the cloud operating model used within their organisation.
Implementing a centrally managed platform allowed application teams to build great products without worrying about configuring and maintaining the underlying infrastructure.
Each team saved approximately a month of effort from the initial infrastructure spin-up. They also reduced ongoing infrastructure maintenance by 80%.
Time to production improved, from almost two months to a few days using the platform.
The tight collaboration between the security and platform teams made it easier to ensure cloud security and enforce policies consistently.
The platform ensured continuous optimisation of cloud spend.
The development teams were able to focus on creating business value.
- Core technologies:
- Azure Kubernetes Service (AKS)
- Single-tenant clusters grouped depending on teams’ tiering and affinity preferences
- Out-of-the-box integrations with:
- Container Registry
- Key Vault
- Monitoring tools
- Client VPNs
- IAM (identity and access management)
- Interservice communication
- Incident management solutions
- Other external services via private connectivity
- Cloud spend optimisation tools
- Proper isolation between teams’ environments
- Policy as code with OPA Gatekeeper
- Azure Defender for Cloud
- Prometheus stack
- Fine-tuned alerts and dashboards
- Seamless integration with ticketing system
- Lifecycle automation:
- GitOps approach with GitHub Actions and ArgoCD
- User experience:
- Deployment patterns: Kustomize, Helm, GitHub Actions and ArgoCD
- Node.js template application
- Support of common autoscalers such as HPA and KEDA
- Scalable architecture, capable of handling dozens of teams