It’s so easy to deploy Stardog Cluster on Kubernetes, we put together a side-by-side comparison of a manual Stardog Cluster install on AWS and another with Kubernetes.
Classic vs. Kubernetes
Near the end of this blog post, I’ve embedded a movie of two terminal sessions. The terminal session on the left uses the AWS cli to bring up 6 EC2 nodes (3 ZooKeeper, 3 Stardog) with ELB volumes as well as an elastic load balancer. Stardog and ZooKeeper are installed and configured manually on stock Ubuntu 16.04 across all the nodes, from formatting the volumes and downloading the zips to launching the ZooKeeper and Stardog processes.
Outside of the specific AWS cli commands, this is the process you’d use to stand up Stardog Cluster manually in any environment, including on-prem (you can read the details about manually configuring Stardog Cluster in our docs).
By contrast, the terminal session on the right deploys the same size cluster with the Stardog Cluster Kubernetes YAML file from our previous post. The YAML instructs Kubernetes to deploy Stardog on different underlying hosts (same as the manual install) and provision ELB volumes for Stardog and ZooKeeper data (also the same as the manual install).
The cluster is deployed on Kubernetes with a single command in a fraction of the time (and with a fraction of the amount of work). Stardog Cluster is ready to use before we even begin downloading Stardog or ZooKeeper on any of the nodes in the manual deploy.
Grab a drink, sit back, and follow along:
One of the biggest advantages of Kubernetes is that it is cloud agnostic. The command
kubectl apply -f stardog-cluster.yaml works on Amazon, Google, and Microsoft Kubernetes platforms (among others). However, if you’re not quite ready for Kubernetes, remember we also support single-command cluster deployments on AWS with Stardog Graviton.