Switzerland
The client operates a Drupal-powered education portal for a career counseling agency in Switzerland. The platform provides educational resources and career guidance to students and professionals, making availability, security, and performance critical to the user experience.
Our team joined the project while the application was still under active development. The client had already established infrastructure in a private cloud with an RKE-based Kubernetes cluster meant for production but there was no automated delivery process or standardized deployment strategy yet. The objective was to build a production-ready DevOps platform that would support rapid development, reliable releases, and long-term operational stability.
The project required a deployment process that could deliver new features quickly while ensuring safe and reliable production releases. Fast rollback capabilities were essential to minimize service disruption in the event of failed deployments.
Traffic patterns varied significantly throughout the month, which meant that both the application workloads and the Kubernetes cluster needed to scale up and down rapidly without compromising stability or performance. The application stack relied heavily on Elasticsearch for search functionality and Varnish for page caching, making infrastructure tuning and resource allocation critical for maintaining responsiveness under load.
The client also required secure deployment workflows and infrastructure automation while limiting external access to their private cloud environment. As a third party vendor, we had to operate within strict security constraints and automate the Kubernetes layer through the RKE API; this also impacted the deployment architecture.
We designed and implemented a complete Kubernetes-based delivery platform that automated infrastructure provisioning, application packaging, testing, and production deployments.
To ensure consistent application behavior across all environments, we developed custom Docker images from scratch. The images use an environment variable-driven configuration model, allowing every aspect of the PHP runtime and Drupal configuration to be adjusted without rebuilding containers. This greatly simplified environment management while improving deployment consistency. It was the first step we took, and as soon as the images were ready we stayed in close communication with the development team that help test them extensively to determine the most efficient set of parameters for the client's application.
To package and deploy the application to the client's RKE Kubernetes clusters we developed a custom Helm chart. This standardized deployments across environments and enabled version-controlled application releases with reliable rollback capabilities.
Infrastructure automation was implemented using Terraform integrated with the RKE API. While security policies prevented direct management of the underlying private cloud infrastructure, this approach enabled complete automation of the Kubernetes environment within the permissions available to the DevOps team.
As the final step, we built a comprehensive GitLab CI/CD pipeline consisting of multiple automated workflows. Infrastructure can be provisioned from scratch through a dedicated pipeline, while application builds are automatically triggered for every merge request and deployed to non-production environments for validation. Automated end-to-end tests verify application quality before changes are approved for release. Production deployments are executed through a separate continuous delivery pipeline that uses Helm to perform controlled releases following manual approval.
The complete platform can be provisioned in approximately 20 minutes from an empty Kubernetes environment to a fully operational application, including infrastructure initialization and application deployment. Application builds take 12 minutes for initial builds and up to 3 minutes for subsequent builds through efficient Docker layer caching.
Beyond deployment automation, we optimized the performance of the PHP runtime, introduced object caching, and enabled runtime tuning of performance-related parameters. These improvements reduced the load time of the application's most resource-intensive page from 6.5 seconds to 1.2 seconds, significantly improving the end-user experience.
Security was incorporated throughout the deployment process and application configuration. Following implementation, the platform achieved a security ranking of A+ in Qualys SSL Labs testing.
Upon completion of the development phase we have successfully launched the platform in production. The client has been subscribed to our 24/7 DevOps support, and our SRE team has ensured the 99.99% of monthly uptime for three years now.