This document outlines the minimal responsibilities and requirements for the technical administrator of the BinderHub deployment The Turing Way donates to the Binder Federation.
The Alan Turing Institute hosts a Kubernetes cluster that is part of the Binder Federation, helping to facilitate the decentralisation of the mybinder.org service as part of a network of other interested organisations. The allocation for the Binder Federation falls under The Turing Way project which has overarching goals towards improving the maintenance and sustainability of an open source data science ecosystem. This cluster also hosts Hub23, a private BinderHub for the Turing research community. Maintaining this infrastructure requires technical skill and a small time commitment that are detailed below.
The Turing mybinder Federation administrator will report to Kirstie Whitaker, principal investigator of the Turing Way, and Malvika Sharan as community manager of the Turing Way. Kirstie and Malvika will also provide support with any administrative tasks such as applying for credits and capturing the impact of the federation membership (see the Responsibilities section for further detail).
The person in this role must be a member of the Turing Institute with a turing.ac.uk
domain email.
This is due to the dependency on Turing internal processes/platforms, such as points 1 and 2 below.
- An account in Turing's Azure tenancy
- Access to the
turingmybinder
subscription (can be arranged with IT Services through Top Desk) - Knowledge of Kubernetes and Helm
Deployments are managed by CI in the mybinder.org-deploy repo and so day-to-day tasks are minimal and relatively non-disruptive.
- It is important to the Binder Operating team that we are not anonymous GitHub handles to one another. Knowing who we are and why we're here helps us support each other and connect those who can help each other. Please do say hi and introduce yourself! 😄
- Watch the team-compass for any relevant updates or opportunities for participation
- Regularly attend the monthly team meetings. The provided link contains a monthly report archive to catch up on missed meetings.
- Be available in the mybinder.org-deploy Gitter chat to liaise with the operating team should the cluster experience any technical difficulties
- Be willing to co-work/pair programme with the mybinder.org operating teams to debug any issues with the cluster. Particularly with Tim Head, who is the only other person with direct access to the subscription.
- Monitor the
turingmybinder
subscription credits on Azure (under the Turing's tenancy) and file requests for additional credits using the template. Credit requests are made to the Turing's Microsoft Sponsorship fund so there shouldn't be a time limit on funding, but of course, this is constrained by Microsoft's continuation of the Sponsorship.- The candidate may also be required to fill in surveys on Turing's Azure usage to feedback to Microsoft. The Binder Federation Cluster has been showcased in Azure reports previously.
- N.B.: Now that Hub23 and the Turing Federation Hub share the same infrastructure/subscription, this template and further credit requests may need updating. For example, there are now 2 key vaults and 2 DNS zones deployed in the subscription, alongside 1 Kubernetes cluster and 1 Azure Container Registry.
- Provide quarterly usage statistics across mybinder.org and the Turing cluster to Kirstie Whitaker and Malvika Sharan for reporting to the Tools, Practices and Systems research programme
- This can be achieved with some community-developed tools, such as bitnik/binder-launches (currently deployed here) and betatim/binderlyzer
- Merge Pull Requests from HelmUpgradeBot on the hub23-deploy repo.
These PRs keep the Hub23 deployment up-to-date with helm chart releases from BinderHub and
ingress-nginx
.- It is up to the person in the role if they would like to continue the development of Hub23, however, this is beyond the scope of "minimal" responsibilities. @sgibson91 is happy to discuss further with any interested parties.
Beyond the CLIs for Azure, Kubernetes and Helm, the following tools can make managing a Kubernetes deployment easier:
- Lens: an IDE for Kubernetes deployments
kubectx
andkubens
: quickly change Kubernetes contexts and namespacesstern
: concatenate logs from multiple pods/services/etc (See blog)