Banzai Cloud Logo Close
Home Products Benefits Blog Company Contact
Author Laszlo Bence Nagy

Getting started with Istio using Backyards

Backyards is Banzai Cloud's widely popular production ready Istio distribution, which helps to install, upgrade, secure, operate, and observe an Istio service mesh.

In this blog post, we will discuss

  • the high-level architecture overview of Backyards,
  • three different ways to start using Backyards.

Introduction 🔗︎

If you're not familiar with Backyards, and want to know why we decided to build this product, we suggest reading the blog post about the first major release.

To learn more about Backyards, check out our other blogs about it, its documentation, or its product page.

High-level architecture 🔗︎

Backyards consists of the following components:

Backyards architecture overview

  • Service mesh management: The open source Banzai Cloud Istio operator helps to install/upgrade/manage Istio deployments. Its unique features include managing multiple ingress/egress gateways in a declarative fashion, and automated and fine-tuned multi cluster management.

  • The core components of Backyards are:

    • the Backyards backend (exposing a GraphQL API)
    • the Backyards UI, a web interface
    • the Backyards CLI
    • the Backyards operator

    Backyards's soul is its backend, which exposes a GraphQL API. The Backyards UI (dashboard) and CLI interact with this API. The Backyards operator is an optional component which helps with a declarative installation method to support GitOps workflows.

  • External out-of-the-box integrations:

    These components are automatically installed and configured by Backyards by default to be able to work with Istio. You can also integrate Backyards with your own Prometheus, Grafana, Jaeger, or Cert manager - Backyards follow the batteries included but replaceable paradigm.

Installation methods 🔗︎

You can get started with Backyards the following ways:

  1. Run locally (~5 minutes): You will deploy Backyards to a single-node Kubernetes cluster running on your development machine.

  2. Run on a Kubernetes cluster (~10 minutes): You will deploy Backyards to a Kubernetes cluster of your choice.

  3. Run with Pipeline (~10 minutes): You will create a Kubernetes cluster and deploy Backyards on it with Pipeline.

Run locally 🔗︎

Recommended if you don't have or don't want to create a Kubernetes cluster, but want to try out Backyards quickly.

  1. Install one of the following tools to run a Kubernetes cluster locally:

  2. Ensure that the local Kubernetes cluster has at least:

    • 4 CPU's
    • 8.0 GiB memory
    • 16 GB disk space
  3. Launch the local Kubernetes cluster with one of the following tools:

    • Minikube:

      minikube start --cpus=4 --memory=8192
      
    • Docker for Desktop:

      In preferences, choose Enable Kubernetes.

    • Kind:

      kind create cluster
      
  4. Register for a free Backyards evaluation by submitting the form at the Try Backyards page.

  5. Install Backyards:

    If you don't have a local LoadBalancer setup, you should use a NodePort type istio-ingressgateway service. To do that, create a file called local_istio_cr.yaml with the following content:

    apiVersion: istio.banzaicloud.io/v1beta1
    kind: Istio
    metadata:
      name: mesh
      namespace: istio-system
    spec:
      gateways:
        ingress:
          serviceType: "NodePort"
    

    Then, run the following command to first install the Backyards CLI tool, and then Backyards on the cluster with all of its components.

    This command first installs Istio with the open-source Banzai Cloud Istio operator, then installs Backyards itself as well as a demo application to be able to try out all features quickly.

    $ curl https://getbackyards.sh | sh && backyards install -a --run-demo --istio-cr-file=local_istio_cr.yaml
    

    After the installation of each component is finished, the Backyards UI will automatically open and send some traffic to the demo application and the Backyards dashboard should appear.

    Backyards topology

  6. Explore the features:

    At this point, Backyards is up and running. You can experiment with any of the available features from the docs or from our blogs.

  7. Cleanup:

    When you're done experimenting, you can remove the demo application, Backyards, and Istio from your cluster with the following command, which removes all of these components in the correct order:

    $ backyards uninstall -a
    

Run on a Kubernetes cluster 🔗︎

Recommended if you have a Kubernetes cluster and want to try out Backyards quickly.

  1. Create a cluster:

    Create or grab a Kubernetes cluster to test on. Make sure that KUBECONFIG is set for that cluster.

  2. Register for a free Backyards evaluation by submitting the form at the Try Backyards page.

  3. Install Backyards:

    After you have a cluster, a similar command needs to be run as with the local setup:

    $ curl https://getbackyards.sh | sh && backyards install -a --run-demo
    

    For more info, please to refer to the run locally section.

Run with Pipeline 🔗︎

Recommended if you are already a Pipeline user or looking for a fully managed solution (including the cloud or datacenter of your choice, Kubernetes and Istio as well alongside all the required components).

Banzai Cloud Pipeline is a container management platform where you can create and manage Kubernetes clusters on five cloud providers or on-prem. It has a public hosted version which you can use for free. You can create a cluster with Pipeline and then deploy Backyards with a few clicks on a nice and convenient UI.

  1. Login to Pipeline.

  2. Create a cluster with the Pipeline UI:

    Create cluster

  3. Install Backyards:

    Create mesh

  4. Install Backyards demo application:

    Make sure that KUBECONFIG is set for your cluster, then run:

    $ backyards demoapp install
    
  5. Explore the features:

    At this point, you can experiment with any of the available Backyards features.

  6. Cleanup:

    At the end, you can delete Backyards from the cluster and the cluster itself from the Pipeline UI.

Takeaway 🔗︎

Backyards, Banzai Cloud's production ready Istio distribution, can be very easily and quickly evaluated in different environments.

If you give it a try and you would consider using it in your production environment as well, reach out to us, so that we can discuss what would be the ideal setup for your use case.

Never miss a post again!
Schedule a Backyards demo

If you are interested in our technology and open source projects, follow us on GitHub, LinkedIn, or Twitter, or get in touch on Slack: