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.
- AWS
- Google Cloud
- Azure
W&B recommends using the W&B Server AWS Terraform Module to deploy the platform on AWS.The Terraform Module deploys the following mandatory components:
- Load Balancer
- AWS Identity & Access Management (IAM)
- AWS Key Management System (KMS)
- Amazon Aurora MySQL
- Amazon VPC
- Amazon S3
- Amazon Route53
- Amazon Certificate Manager (ACM)
- Amazon Elastic Load Balancing (ALB)
- Amazon Secrets Manager
- Elastic Cache for Redis
- SQS
Pre-requisite permissions
The account that runs Terraform needs to be able to create all components described above and permission to create IAM Policies and IAM Roles and assign roles to resources.General steps
The steps in this section are common for any deployment option.-
Prepare the development environment.
- Install Terraform
- W&B recommend creating a Git repository for version control.
-
Create the
terraform.tfvarsfile. Thetvfarsfile content can be customized according to the installation type, but the minimum recommended will look like the example below.Ensure to define variables in yourtvfarsfile before you deploy because thenamespacevariable is a string that prefixes all resources created by Terraform. The combination ofsubdomainanddomainwill form the FQDN that W&B will be configured. In the example above, the W&B FQDN will bewandb-aws.wandb.mland the DNSzone_idwhere the FQDN record will be created. Bothallowed_inbound_cidrandallowed_inbound_ipv6_cidralso require setting. In the module, this is a mandatory input. The proceeding example permits access from any source to the W&B installation. -
Create the file
versions.tfThis file will contain the Terraform and Terraform provider versions required to deploy W&B in AWS:Refer to the Terraform Official Documentation to configure the AWS provider. Optionally, but highly recommended, add the remote backend configuration mentioned at the beginning of this documentation. -
Create the file
variables.tfFor every option configured in theterraform.tfvarsTerraform requires a correspondent variable declaration.
Recommended deployment
This is the most straightforward deployment option configuration that creates all mandatory components and installs in the Kubernetes Cluster the latest version of W&B.-
Create the
main.tfIn the same directory where you created the files in the General Steps, create a filemain.tfwith the following content: -
Deploy W&B
To deploy W&B, execute the following commands:
Enable Redis
To use Redis to cache SQL queries and speed up the application response when loading metrics, add the optioncreate_elasticache_subnet = true to the main.tf file:Enable message broker (queue)
To enable an external message broker using SQS, add the optionuse_internal_queue = false to the main.tf file:This is optional because W&B includes an embedded broker. This option does not bring a performance improvement.