A Singapore Government Agency Website

Shared runners vs Agency-hosted runners

GitLab Runners Why choose this? Pros Cons
Shared runners - As GovTech recommends this as a default approach.

- If your projects are open-source projects or have general-purpose tasks and scenarios where you don’t need specific customisations.

- If you have small or less experienced team.

- If you want a convenient and efficient way to run CI/CD pipelines.

- If your infrastructure leverages on CSP-managed services requiring immutable infrastructure workflow.

- We also provide you a dashboard to monitor the performance of shared runners. Currently, you can view the performance of the shared Docker runners offered by SHIP-HATS
- Available for free and scales without additional charges.

- Pre-configured by GovTech, no additional setup required.

- GovTech manages the infrastructure, server maintenance, scaling and security patches.

- Able to securely assume a role to your environment through OIDC web identity, without the need of long-term credentials.
- Performance may vary due to shared pool among Whole-of-Government (WOG).

- You can’t modify the environment, choose the OS, or allocate resources as required.

- Not suitable for tasks such as iOS-related tasks, intranet targets (private FQDN), or custom network access scenarios.
Agency-hosted runners - If you have a mature DevOps team that can:
- Self-manage GitLab runner clusters.
- Ensure runners are patched, upgraded and configured correctly.
- Install all necessary libraries to build applications (e.g. Node/NPM/Python/Pip), build containers (e.g. Kaniko), run IaC (e.g. Terraform and AWS CLI).

- If you have experienced users of runners who need dedicated performance.

- If your tasks are not supported by Shared Runners, such as iOS-related tasks, intranet targets (private FQDN), and scenarios requiring custom network access.
- Predictable performance with dedicated resources.

- Monitor performance and adjust resources as necessary.

- Configurable for Group or Project level access.

- Greater customisation and control over dependencies, tools and runner security.

- Optimisable for specific use cases, potentially yielding better performance.

- Scaleable by adding or adjusting resources as required (with potential cost increases).
- Requires expertise to set up and deploy Self-Hosted Runners.

- Requires manpower, effort and cost to maintain upgrades and patches to ensure that your runner version matches your GitLab instance version. Refer to GitLab Runner versions.

- Requires expertise to customise, build and package container images for CI/CD jobs

- Requires Private endpoints to access SHIP-HATS services and for runner registration.
- Overall, increased complexity, resource needs, and maintenance costs.
Chat with me!
Bot Launcher