logo

CERN's 1500 Drupal Websites on Kubernetes: Sailing With Operators - Konstantinos Samaras

Authors:   Konstantinos Samaras-Tsakiris, Rajula Vineet Reddy


Summary

The presentation discusses the development of a Kubernetes-native SaaS to replace CERN's aging physical infrastructure and reduce dependency on homebrew components. The focus is on the use of operators to control different kinds of resources.
  • CERN is replacing its aging physical infrastructure and reducing dependency on homebrew components by developing a Kubernetes-native SaaS to host its 1500 Drupal websites
  • The infrastructure has to satisfy the requirements of a wide-ranging set of users, including physicists, administrative personnel, and communications experts
  • The infrastructure is a managed and complex software as a service that has to be highly automated to allow users to self-provision websites
  • Operators play a crucial role in the infrastructure, leveraging Kubernetes as a common API to control different kinds of resources
  • The development team used GitHub, a big Helm chart, and Argo CD applications to maintain the state of the running cluster and run end-to-end tests
  • The team used the operator model as a principal component of the infrastructure to control not just containers but many different kinds of resources
The presenters demonstrated the upgrade of a website using their operators. They showed how they changed the version of Drupal from 8.9.13 to 9.1.x and then saved it. They then showed how new builds were running while the website was still serving the old version. They also demonstrated how deleting a build part caused the build to fail and prevented the upgrade workflow from going ahead. They showed how the website continued to serve with the older version and how a new status condition informed the user of the admin that there had been a failure.

Abstract

Follow the learning journey of junior developers towards a Kubernetes-native SaaS and hopefully get some ideas for your next (or first!) design. This talk is the development chronicle of a service provisioning Drupal websites that are CERN's public face, to replace the ageing physical infrastructure and reduce dependency on homebrew components. The presenters give their junior engineer's perspective, thrust into a world of Microservices, Observability and Operators. They will walk you through the design implementing the specific requirements of a service that targets varied user groups and is supported by a small team of engineers. Contrary to the old website management system that was a standalone application, now Operators play this role, leveraging Kubernetes as a common API to control different kinds of resources.

Materials:

Tags:

Post a comment

Related work

Authors: Michael Hrivnak, Rajula Vineet Reddy, Francisco Barros, Varsha Prasad Narsing
2023-04-19

Authors: Adam Wolfe Gordon
2023-04-19


Conference:  ContainerCon 2022
Authors: Josh Gavant
2022-06-22

Authors: Alexander Matyushentsev, Leonardo Luz Almeida
2023-04-19