Hello fellow indexers,
As part of the Grants Program we created a solution to deploy TheGraph on the big three public clouds: Azure, AWS, Google Cloud.
The solution is using Terraform to automatically deploy the Cloud Infrastructure and Helm in order to deploy The Graph containers on a Kubernetes Cluster. It includes the following:
- Automated Infrastructure Deployment [k8s]
- Integration with Log Analytics [Azure]
- The Graph resources (All the main containers)
- Prometheus and Grafana
- Community Dashboards included
There are some pros and cons when migrating to a public cloud such as Azure/AWS/Google.
- a nice set of tools for every situation
- less management burden
- Costs - It can become costly over time since all these benefits have a price tag attached. The costs must be carefully kept under control.
The solution is modular and it can be used in any combination by an experienced user.
- deploy your own Kubernetes Cluster
- deploy the PAAS Database / User your own database
- scale the cluster resources both vertically and horizontally dependig on the needs
- use helm charts to deploy the app containers
For the less experienced user there is a step by step tutorial on the Github Readme page and a video tutorial that can be followed as a walkthrough. Links below:
The Youtube video is quite big [56m] but you can jump to the section you need by following the chapters. It was recorded so that anyone (experienced or not) can follow while having the possibility to skip through the sections easily if you already have automation skills.
Step 1 - Installing prerequisites
Step 2.1 - Terraform files explained
Step 2.2 - Grabing Azure Credentials for Terraform
Step 2.3 - Using Terraform to deploy
Step 2.4 - Exploring Azure Portal after deploying
Step 3.1 - Grabbing K8S Credentials
Step 3.2 - Helm Files Explained
Step 3.3 - Deploying with Helm
Step 3.4 - Exploring the Helm Deployment