27 Sep 2016 in Socket.IO, Kubernetes

Running Socket.IO Applications on Kubernetes

Socket.IO is a JavaScript library that enables real-time bidirectional event-based communication. It primarily uses the WebSocket protocol, with polling as a fallback option.

In this post, I'm going to go through the challenges faced when running a WebSocket based application on Kubernetes, and how to deal with these challenges.

I'll be considering an AWS based setup. A similar approach would work for other environments as well.

Read More
26 Sep 2016 in Kubernetes, resource

Kubernetes the Hard Way

Kubernetes is already the most popular container orchestration platform, and expected to keep the top spot in coming year as well. So, if you are planning to get onto Kubernetes bandwagon, this is a good time. And if you’re not up to speed with what Kubernetes does, this post is a good place to start.

One of the best things about Kubernetes is that it's very easy, almost trivial to launch your own Kubernetes cluster using automation scripts. But, launching a cluster is seldom the end goal. You want to use your Kubernetes cluster to orchestrate some containers. And, if you’re just playing around and want see how it works, automation defeats the purpose.

So, the bottom line is: it’s important you understand what goes on behind the scenes.

How do you do this? By learning Kubernetes the hard way. By specifically making sure that you know what’s going on under the hood when you run a script.

There’s a resource that helps you do this. It’s called Kubernetes The Hard Way. And with 2500+ GitHub stars and 150+ forks, this guide is one of the most extensive guides out there to help you learn Kubernetes.

Read More
23 Sep 2016 in Workflow, GKE, Series: Workflow on GKE

Production Deis Workflow on Google Container Engine, Part One

Deis Workflow has been in GA for a while. But what's it like to work with? Particularly, how do we set it up for production use?

In this two-part miniseries, I'll walk you through a full production setup of Deis Workflow.

This will include:

  • How to set up off-cluster object storage, Docker registry, and Postgres database
  • How to install Workflow on a Kubernetes cluster
  • How to secure it with SSL and set up DNS for your Workflow domain
  • How to upgrade Workflow to the latest release

Let's jump right in.

Read More
20 Sep 2016 in Kubernetes, adoption, business

Approaching Kubernetes Adoption in Your Organization

Kubernetes is great. I know that and you know that. But if you're not using it in your organization yet, how do you convince your colleagues? How do you convince the business?

One of the ways you can improve your chances is by borrowing from the study of user experience. And when it comes to Kubernetes adoption, the user is not just one person or team. It's more far reaching, as I'll explain.

User experience (UX) is a fascinating part of software development. In many ways, it is the art behind the science. It has to accommodate a whole range of different human beings, with varying experiences, knowledge, and needs.

When you think of Kubernetes, it's natural to think of the UX as the way you interact with the cluster itself. As an engineer, this makes perfect sense. But what about other parts of your organization, including those completely outside of engineering? How does the platform you run your business on affect them?

To get Kubernetes into production, you have to understand who your customers (i.e. users) are inside the company and get them on board. And doing so will require careful planning and thoughtful consideration that puts people first, processes second, and tools last—even though that might seem counterintuitive.

In this post, I will look at how technology adoption works in practice, and how to improve your chances of success introducing Kubernetes to your organization.

Read More