Rancher Rio is a “Micro PaaS” being developed by Rancher. Introduced to the wild about two years ago, Rancher Rio is being developed to help take out complexity in the Kubernetes Platform. Kubernetes as a platform has what I call a pluggable opinion if you don’t like the opinion on how a certain piece of functionality works, you can change the opinion with a new provider. For example, if you don’t like the Ingress Controller, switch to another provider like Istio or Traefik

With all of the choice, you can find yourself wading through almost constant changes in opinion as the Kubernetes Ecosystem moves pretty quickly. Using your web browser to access an application you have written seems pretty easily locally but in Kubernetes land, you have a few layers to work through to expose your service and added complexity of approaches e.g a Service Mesh adds to the infrastructure complexity. Enter Rancher Rio to get you up and going on goals that seem simple pretty quickly like accessing your workload without much confusion. 

The Harness Platform and Racher Rio certainly have different goals in mind. I really wanted to check out Rancher Rio with a fresh pair of eyes.  Harnes is a platform designed to orchestrate confidence-building steps across a multitude of infrastructure and providers. Rancher Rio aims to simplify getting your work up and running in Kubernetes. Let’s take a look at Rancher Rio. 

Get to Rio’ing

The installation process of Rancher Rio is pretty straightforward. Similar to comparisons we made around Spinnaker and Jenkins X, basic goals of installing and deploying a workload. 

Though Rancher Rio really focuses more so on the actual Kubernetes deployment, it would fall under a great tool to help enable Continuous Deployment, not Continuous Delivery like Harness. When taking your own look make sure to visit the How it Works section of the project page. What I enjoyed about Rancher Rio was the ease of getting access to your endpoints and the ability to stand up and launch the LinkerD UI

Looking towards the confidence-building steps, Rancher Rio takes a Pull Request based approach that the PR is the central source or orchestration.  This positions Rancher Rio well as a deployment engine but you need to tell Rancher Rio when and where you like your deployments to move and you are left building out a sophisticated Pull Request.  

Flipping over to a Harness Example, there is much more than source control to that we need to touch to have an automated and successful deployment. Harness can help coordinate release strategies and activities as well.

All deployments are not created equally. Having a release strategy such as a canary release is a safety mechanism to ensure confidence in a release. Canary release’s are native to the Harness Platform. Below shows a canary not being promoted due to an automated judgment call was too risky to pass. This is by design as Harness is convention-based. 

To currently pull off even a manual canary in Rancher Rio would mimic the steps [minus some of the networking complexity] of orchestrating a canary in Kubernetes alone. 

Commands

Most of these commands are available in the Rancher Rio QuickStart. There is a second quickstart in the documentation that exposes a little more about building from a dockerfile. I leveraged EKSCTL to get an Amazon EKS Cluster up and running.

##Rio Commands
#Create EKS Cluster
eksctl create cluster \
--name rio-grande \
--version 1.15 \
--region us-east-1 \
--nodegroup-name standard-workers \
--node-type t3.xlarge \
--nodes 2 \
--nodes-min 1 \
--nodes-max 3 \
--node-ami auto
#Delete EKS Cluster
eksctl delete cluster --name=rio-grande --region=us-east-1
#Install Rio 
#https://github.com/rancher/rio#quick-start
#Download
curl -sfL https://get.rio.io | sh -
#SetUp
rio install
#Validate Pods
rio -n rio-system pods
#Run Sample
rio run -p 80:8080 https://github.com/rancher/rio-demo
#Check Status
rio ps
rio info
#Deploy from a Docker Image
rio run -p 80 --name demo nginx
#Get Endpoint
rio ps
curl https://demo-v0-default.b97zib.on-rio.io
#Rio Dashboards
rio dashboard
rio linkerd

Harness, enabling Continuous Delivery 

The Harness Platform is purpose-built to enable your Continuous Delivery goals. Comparing Continuous Deployment vs Continuous Delivery, Continuous Delivery orchestrates all of the confidence-building steps you need for a safe and successful deployment. Imagine this as “Continuous Decisions” building confidence as you go along the SDLC and automating the decisions for the go/no-go judgment calls. Feel free to take a look at a Harness Trial to get started today and don’t forget to sign up for one of our up and coming virtual Harness Universities

Cheers!

-Ravi