Becoming a Kubernetes Certified Service Provider

Several of us signed up for the Beta of the Certified Kubernetes Administrator (CKA) exam. Container Solutions participates in the Cloud Native Computing Foundation (CNCF) and our CNCF ambassador Michael Mueller was involved in the creation of the exam. Two of us have already successfully completed this exam, and once the third person passed the exam, we will apply to become a Kubernetes [...]

Kubernetes on AWS… Cool Your Jets

When AWS joined the CNCF everyone got so excited for hosted Kubernetes, and the clickbait articles were produced en masse.  As much as I would love an AWS managed K8s, I am not holding my breath. I have a couple reasons for these reservations. The CNCF is not Kubernetes Kubernetes is definitely a high profile tool in the CNCF, but it is not synonymous with the CNCF.  A quick perusal of their [...]

Kubernetes Comes to ImageWolf

ImageWolf now has support for Kubernetes! We even made a video (see below). If you want to see the code though, you can find it in its normal place. TLDR; we used BitTorrent to speed up Kubernetes deployments https://github.com/ContainerSolutions/ImageWolf That’s great! but what is it? I’m glad you asked. Essentially, it’s a service that aims to alleviate bottlenecks when [...]

Lean Go Containers with Multi-Stage Dockerfiles

On June 28 Docker 17.06 CE was released, which among other improvements adds support for multi-stage image builds. While traditional docker builds had to use a single container for their work and output, multi-stage builds allow the use of intermediate containers to generate artifacts. Artifacts from intermediate containers are then copied into the final build image, meaning one needn’t ship [...]

Lightning Image Deployment with ImageWolf

Modern web developers can push to staging or production multiple times a day. Each time this happens, there is a delay while images are distributed to the nodes, especially if the images need to be pulled from a remote registry. This can be a significant issue, forcing developers and ops to wait much longer than necessary while a deployment rolls out. Container Solutions have recently been [...]

Going Cloud Native – Where to Even Start?

  banksy from http://twistedsifter.com/2014/07/the-ultimate-banksy-gallery/ So far in this blog series on Cloud Native we’ve said a lot of nice things about it being an effective approach, but "fine words butter no parsnips", as we used to say in the 17th century. Cool tech is not much use unless we can practically apply the concepts. So in this post we're going to consider [...]

Microservices – Thinking Outside the Lines

In our last few posts we’ve talked about two of the architectural and operational weapons of Cloud Native: containers & dynamic management. However, when I go out and talk to Cloud Native users I find that containers and orchestrators aren’t always where they started. Many companies begin with microservices and don’t adopt containers until later. In this post we are going to look [...]

Is Dynamic Management the Real Ops Disruptor?

In our last post we looked closely at container packaging - what it means and why everyone’s going crazy about it. In this post, we're going to look at another aspect of Cloud Native - dynamic management. Dynamic Management Dynamic infrastructure management is sometimes called programmable infrastructure and its purpose is to automate data centre tasks currently done by ops folk. This [...]

Are Containers the Best Cloud Native Tool?

Earlier in this blog series we described how every strategy comprises a goal and the actions we take or tools we use to accomplish it. We’re now going to consider some of the tools that Cloud Native uses, including container packaging, dynamic management, and a microservices-oriented architecture. In this post we’ll consider container packaging - what it is and the effect it has. But [...]

A High Available Redis cluster on top of Kubernetes and Habitat

In the last two months, I've worked together with Chef to evaluate Habitat from a cloud native developer perspective. This is the last blog in a series of three where I'll share my experiences. The first blog is about the build system. The second blog describes how to run supervisors on top of Kubernetes. In this last post I’m explaining how to run a HA Redis with Habitat on top of [...]

What is a Cloud Native Strategy?

In the last two blogs on this subject we talked about Cloud Native computing and about strategy. In this blog, we'll put the two together and consider Cloud Native Strategy - what it means and how to do it. In our first post we defined Cloud Native as a toolbox of approaches (IaaS or PaaS, microservices, containerisation and orchestration) for helping with three potential business [...]

Tricks of the Captains – DockerCon Talk

At DockerCon 2017 in Austin, Texas, I gave a talk entitled "Tricks of the Captains" in the community theatre track. The talk covered various tips and tricks for using Docker, compiled from the brains in the Docker Captains program. The tricks included: Configuring docker ps output Don't bust the build cache Cleaning up with docker prune Properly starting and stopping [...]

The Average Dev, Containers and Security

At the recent #INGLovesIT event in Bucharest, I gave a talk about Container Security. I went into details about features of Docker and the Linux kernel. This led Simon Brown (who gave a great keynote on the relationship between Agile and software architecture) to tweet: Listening to @adrianmouat talking about Docker and security; scary stuff, another reason why your average dev shouldn’t [...]

Running Habitat Supervisors on top of Kubernetes

In the last two months, I've worked together with Chef to evaluate Habitat from a cloud native developer perspective. This is the second blog in a series of three where I'll share my experiences. The first blog is about the build system, and the last will be about how to create a High Available Redis cluster with automatic failover on top of kubernetes. TL;WR: Setting up habitat supervisors [...]

Monitoring Kubernetes with DataDog

Monitoring is a crucial part of any production application, and it’s importance is increasing as we move towards cloud native. For all the benefits of distributed, microservice applications, there are challenges which come along as well. The complexity of the system has increased considerably. The number of pieces involved (applications, datastores, services, etc) has multiplied, and they are [...]