Skip to main content
W&B recommends fully managed deployment options such as W&B Multi-tenant Cloud or W&B Dedicated Cloud deployment types. W&B fully managed services are simple and secure to use, with minimum to no configuration required.
Reach out to the W&B Sales Team for related question: contact@wandb.com.

Infrastructure guidelines

Before you start deploying W&B, refer to the reference architecture, especially the infrastructure requirements.

MySQL database

MySQL v8.0.x is required, v8.0.32 or newer; v8.0.44 or newer is recommended. Aurora MySQL 3.x are supported, must be v3.05.2 or newer.
Configure MySQL with these settings:
These settings have been validated by W&B.

Database considerations

Create a database and a user with the following SQL query. Replace SOME_PASSWORD with password of your choice:
This works only if the SSL certificate is trusted. W&B does not support self-signed certificates.

Parameter group configuration

Ensure that the following parameter groups are set to tune the database performance:

Object storage

The object store can be externally hosted on a Minio cluster, or any Amazon S3 compatible object store that has support for signed URLs. Run the following script to check if your object store supports signed URLs. Additionally, the following CORS policy needs to be applied to the object store.
You can specify your credentials in a connection string when you connect to an Amazon S3 compatible object store. For example, you can specify the following:
You can optionally tell W&B to only connect over TLS if you configure a trusted SSL certificate for your object store. To do so, add the tls query parameter to the URL. For example, the following URL example demonstrates how to add the TLS query parameter to an Amazon S3 URI:
This works only if the SSL certificate is trusted. W&B does not support self-signed certificates.
Set BUCKET_QUEUE to internal:// if you use third-party object stores. This tells the W&B server to manage all object notifications internally instead of depending on an external SQS queue or equivalent. The most important things to consider when running your own object store are:
  1. Storage capacity and performance. It’s fine to use magnetic disks, but you should be monitoring the capacity of these disks. Average W&B usage results in 10’s to 100’s of Gigabytes. Heavy usage could result in Petabytes of storage consumption.
  2. Fault tolerance. At a minimum, the physical disk storing the objects should be on a RAID array. If you use minio, consider running it in distributed mode.
  3. Availability. Monitoring should be configured to ensure the storage is available.
There are many enterprise alternatives to running your own object storage service such as:
  1. Amazon S3 on Outposts
  2. NetApp StorageGRID

MinIO set up

If you use minio, you can run the following commands to create a bucket.

Deploy W&B Server application to Kubernetes

The recommended installation method is with the official W&B Helm chart. Follow the Helm CLI deployment section to deploy the W&B Server application.

OpenShift

W&B supports operating from within an OpenShift Kubernetes cluster.
W&B recommends you install with the official W&B Helm chart.

Run the container as an un-privileged user

By default, containers use a $UID of 999. Specify $UID >= 100000 and a $GID of 0 if your orchestrator requires the container run with a non-root user.
W&B must start as the root group ($GID=0) for file system permissions to function properly.
An example security context for Kubernetes looks similar to the following:

Networking

Load balancer

Run a load balancer that stop network requests at the appropriate network boundary. Common load balancers include:
  1. Nginx Ingress
  2. Istio
  3. Caddy
  4. Cloudflare
  5. Apache
  6. HAProxy
Ensure that all machines used to execute machine learning payloads, and the devices used to access the service through web browsers, can communicate to this endpoint.

SSL / TLS

W&B Server does not stop SSL. If your security policies require SSL communication within your trusted networks consider using a tool like Istio and side car containers. The load balancer itself should terminate SSL with a valid certificate. Using self-signed certificates is not supported and will cause a number of challenges for users. If possible using a service like Let’s Encrypt is a great way to provided trusted certificates to your load balancer. Services like Caddy and Cloudflare manage SSL for you.

Example nginx configuration

The following is an example configuration using nginx as a reverse proxy.

Verify your installation

Very your W&B Server is configured properly. Run the following commands in your terminal:
Check log files to view any errors the W&B Server hits at startup. Run the following commands:
Contact W&B Support if you encounter errors.