Flexible and scalable infrastructure to facilitate the examination situations of the UvA.
Dynamic user provisioning and network isolation
RStudio Server, Microsoft Azure, Terraform, Azure-Kubernetes-Service, Cloud-init, Packer, Ansible
Cloud infrastructure mit Terraform & RStudio Server for the University of Amsterdam (UvA)
With more than 30,000 students and 5,000 employees, the UvA is one of the largest research universities in Europe. Here, the university’s challenge is that students should have access to an RStudio Server during exam situations in order to program and calculate on it. The setup for the different use cases must be scalable as the number of sessions started is variable. In addition, students are not allowed to have access to the internet and must not communicate with each other. Finally, the infrastructure must be able to be dismantled after completion of the exam. The project was initiated during a further development of the existing exam situation, in which processes are to be simplified and various application scenarios are to be made possible by providing the dynamic infrastructure.
The UvA wants to have a flexible infrastructure that can be set up and dismantled for examination situations. If necessary, this infrastructure should run permanently in baseline operation. User-friendly scripts, which take over the process of setting up and dismantling the infrastructure through simple operation, are the core of the desired on-demand infrastructure.
Solution: eoda | analytic infrastructure consulting
eoda has supported the UvA in the context of eoda | analytic infrastructure consulting during the implementation of the new analysis environment up to the operation of the system.
Microsoft Azure was selected as the portal for the implementation of the cloud infrastructure. Furthermore, during a dynamic infrastructure the decision was made to use the script language Terraform as the basis for this implementation. This offers the possibility to record the individual steps in a script, which serves to set up and dismantle the infrastructure without manual intervention in the future. Subsequently, an architectural concept was developed which formed the basis for the implementation of the script.
Within the framework of eoda | analytic infrastructure consulting, the experienced consultants have considered the following components of the cloud infrastructure:
- Setting up static resources: First, all resources were set up in Azure. These do not represent a part of the dynamic infrastructure, but must be permanently available. This includes the machine image used for RStudio Server and an Azure container registry to provide docker images tailored to the test case. Furthermore, a domain was registered and certificates created to ensure secure access to RStudio Server.
- Step-by-step construction of the dynamic resources: Subsequently, the individual components of the architecture concept were individually built, tested and finally combined in a script. The individual steps included networking, data storage (via NFS), scaling by using the Azure Kubernetes Service, and the final setup of the RStudio Server including its configuration with cloud-init.
After successfully porting the cloud infrastructure to the UvA development environment, local tests were conducted to simulate the behavior in a test situation. These tested the different aspects of the infrastructure (e.g. provisioning and network isolation of users).
In cooperation with eoda, the UvA has set up a flexible and scalable infrastructure that can be applied and extended to many use cases in the future (e.g. examination scenarios in different departments) and at the same time it helps to save costs.
The framework conditions of the examination situations could be improved significantly by implementing these state-of-the-art technologies.