Skip to content

University Training Booking System

This page gives an overview of the University Training Booking System (UTBS), describing its current status, where and how it's developed and deployed, and who is responsible for maintaining it.

Service Description

The UTBS provides an admin and booking system for training events to various University institutions.

Service Status

The UTBS is currently live.

Contact

Technical queries and support should be directed to servicedesk@uis.cam.ac.uk and will be picked up by a member of the team working on the service. To ensure that you receive a response, always direct requests to servicedesk@uis.cam.ac.uk rather than reaching out to team members directly.

Issues discovered in the service or new feature requests should be opened as GitLab issues here.

Environments

The UTBS is currently deployed to the following environments:

Name URL Supporting VMs
Production https://training.cam.ac.uk utbs-live1.srv.uis.private.cam.ac.uk
https://uis-tm-live.training.cam.ac.uk/ utbs-live2.srv.uis.private.cam.ac.uk
utbs-live-db.srv.uis.private.cam.ac.uk
Training https://training.training.cam.ac.uk utbs-train1.srv.uis.private.cam.ac.uk
https://uis-tm-train.training.cam.ac.uk/ utbs-train2.srv.uis.private.cam.ac.uk
devgroup-test-db.srv.uis.private.cam.ac.uk
Staging https://uis-tm-test.training.cam.ac.uk/ utbs-test1.srv.uis.private.cam.ac.uk
utbs-test2.srv.uis.private.cam.ac.uk
devgroup-test-db.srv.uis.private.cam.ac.uk

The training environment is used to train users of the system.

Source code

The source code for the UTBS is spread over the following repositories:

Repository Description
Application Server The source code for the main application server.
UTBS API client utbs-client provides Java, Python and PHP client code for accessing the UTBS web service API.
Ansible The Ansible used to deploy all the Dev Group Grails Apps

Technologies used

The following gives an overview of the technologies the UTBS is built on.

Category Language Framework(s)
Web Application Groovy 2.4.12 Grails 1.3.10
DB Postgres 13

Operational documentation

The following gives an overview of how the UTBS is deployed and maintained.

How and where the UTBS is deployed

Deploying a new release

The UTBS application is deployed using WAR packages. These are built by Gitlab CI in the Application Server repository. These are deployed using the Ansible above

Monitoring

The UTBS is monitored by the UIS infra-sas nagios service.

Sevices currently monitored:

  • ping - standard nagios ping check.
  • SSL - checks for a valid TLS certificate on port 8443.
  • https_devgroup - checks for a 200 response from the /adm/status page on port 8443.
  • disc-space - checks for at least 15% free disk space.
  • colocation-check - checks that all resources are located in distinct locations.

There is also a check for a vaild TLS certificate being served by the traffic manager for https://uis-tm-live.training.cam.ac.uk/

Backups

See legacy application backups

Debugging

A docker development environment is available.

Service Management and tech lead

The service owner for the UTBS is Monica Gonzalez.

The service manager for the UTBS is Monica Gonzalez.

The tech lead for the UTBS is Paul Badcock.

The following engineers have operational experience with the UTBS and are able to respond to support requests or incidents:

System Dependencies

Contact Addresses