Browsers have become powerful beasts. First used to share research papers at CERN, the browser can now run Google Earth, play Unity 3D games, and even design buildings in AutoCAD.

With this kind of power, could a browser compile and run your code too? Ridiculous. Surely that couldn’t work…

Then again, why not? There’s no way I could ignore such a fascinating challenge. After four months of punching the keys and poring over documentation, I’ve finally created my answer: Go Wasm.

Image for post
Image for post

Go Wasm is a Go development environment with the essentials to write and run code entirely within the browser…


Image for post
Image for post

Starting at the end of last year, we put a plan in motion to revamp the CLI for the IBM Cloud Kubernetes Service. We focused on improving the user experience and overhauling the code. The key is to break compatibility, but surprise no one.

We had several problems with the CLI after a few years of adding new features. They ranged from user experience issues to technical debt buildup:

  1. Overwhelming help output. If you didn’t already know what you were looking for, finding the right command was a daunting task. There were only two forms of help: list all possible…


Web services running on the same network can be difficult to set up correctly, especially if you want all of them to work on an external network.

In this tutorial, I will guide you through setting up a Docker Swarm to route traffic to the appropriate containers, automatically.

There are three parts to get your cloud ready for web services: a load balancer to spread connections to available servers, an ingress router to direct traffic to containers, and DNS to point local traffic to the right IP addresses. Here’s a quick layout:

Image for post
Image for post

We’ll set up a couple things to bootstrap…


Scaling an application is hard, especially when you need to manage its important data yourself. One way to make this easier is by sharing the files across multiple servers — no matter where it runs, the data will always be available.

An important step in making highly available applications is setting up highly available data. With Docker, we will set up shared files with a volume plugin called Convoy.

In this tutorial I assume you already have 2 or more nodes in a Docker Swarm and an NFS v3 server set up. …

John Starich

Software engineer, hiker. Works on the IBM Cloud Kubernetes Service. Opinions are my own. johnstarich.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store