You’ve heard about progressive delivery, right?

No? Here’s a crash course:

Progressive delivery is a software deployment strategy to minimize risk and maximize uptime by deploying iteratively, to a gradually increasing number of clients.

Just as progressive delivery is an iterative deployment process, the concept itself is an iteration on continuous delivery, continuous deployment, rolling deployment, and canary deployment.

But instead of looking into the past, let’s look into the future!

The Past

Ok, I lied. We have to look at the past first.

As it turns out, you can do progressive delivery with a single Kubernetes cluster. It’s not particularly easy…

Deploying applications to Kubernetes can be as simple as writing a few resource definitions in yaml or json and applying them with kubectl, but it can also be a whole lot more automated (and complicated).

A popular meme in application deployment is the combination of Continuous Deployment and GitOps: the automatic deployment of resources after each change to the source code. In order to for you to use GitOps to deploy applications to Kubernetes, you need several things:

  • Container Image Building to build your source code and local dependencies into container images.
  • Resource Templating to customize deployment resources for your…

To Kubernetes, or not to Kubernetes, that is the question.

You may have heard that Kubernetes is not a silver bullet or that batteries are not included, but that doesn’t mean you shouldn’t use it. The real key to getting the most out of Kubernetes is to filter out the hype and understand what it actually does and doesn’t do, so that you can make a value judgement based on your use cases, instead of just following the crowd.

But instead of going over the pros and cons of Kubernetes itself, lets look at what the alternatives are. …

Many technical people “just know” how to troubleshoot a technical issue, from experience, example, or trial and error, but many of those same highly technical people, when put on the spot, can’t necessarily tell you HOW they troubleshoot.

How do YOU troubleshoot?

Basic Troubleshooting Framework

The obvious answer is, “It depends,” but that’s not very satisfying, unless you can give a host of classes of problems and how to deal with them. Instead, lets look at some high level steps that describe how you might approach any technical problem.

  1. Identify the symptoms
  2. Gather and examine detailed information
  3. Hypothesize potential causes
  4. Verify hypotheses one…

If you’ve been around Kubernetes for a while, it’s probably no surprise that Kubernetes is both too much and not enough, depending on who you are and what you need.

Kubernetes feels like it should be useful to everyone. Every company needs a website and a mobile app, these days. Every company has internal tools and systems. Software is all migrating to microservices and distributed systems. They all need databases and message brokers and file storage systems. More and more companies are using machine learning and other complex software systems to drive business value. …

Just because you have a hammer, doesn’t mean every problem is a nail.

Some of these you’ve probably heard of. Some of them you probably haven’t.

What makes this list special is that they’ve all be useful to me, while developing and operating Kubernetes platforms and workloads.

Hopefully they’re useful to you too!

Authors: Karl Isenberg & Buck Wallander

GKE in a private hybrid network

This is part three of our ongoing series on the Cruise PaaS:

  1. Building a Container Platform
  2. Container Platform Security

Stay tuned for more on observability and deployment!

In our previous posts, we covered how the Cruise PaaS spans multiple Google Kubernetes Engine (GKE) clusters in multiple Google Cloud Provider (GCP) environments and projects, with a bunch of addons to increase the functionality and security of GKE and make it work on our private hybrid-cloud network.

In this post, we’ll cover why we need a private hybrid-cloud network and how it works to provide another…

Authors: Karl Isenberg & Mike Ruth

Kubernetes Logo in Armor

This is part two of our ongoing series on the Cruise PaaS:

  1. Building a Container Platform
  2. Container Platform Security
  3. Container Platform Networking

Stay tuned for more on observability, and deployment!

Safety is one of our core values at Cruise. It’s why we challenge our cars to master the complexities of double-parked vehicles in San Francisco. It’s also why security is a top priority in everything we do.

However, security isn’t just a checkbox you mark off on project designs — it’s continual improvements made at multiple layers of the stack. Since security improvements often…

This is part one of our ongoing series on the Cruise PaaS:

  1. Building a Container Platform
  2. Container Platform Security
  3. Container Platform Networking

Stay tuned for more on observability, and deployment!

Every day, our self-driving cars navigate the streets of San Francisco. Our autonomous vehicles validate our software as they chauffeur Cruise employees around the city, continuously improving their driving ability by tackling the challenges of a complex urban environment. To operate continuously and safely, our fleet is supported by thousands of servers and interconnected cloud services. …

How many turtles does it take?

We have lots of jobs and services to run. I think we’re gonna need a lot of machines to run them on.

We have lots of workloads and machines. I think we’re gonna need a scheduler to run them.

We have lots of different types of workloads to run with this scheduler. I think we’re gonna need an orchestration API to manage it.

We have lots of scripts using the orchestration API. I think we’re gonna need to automate these controllers.

We have lots of controllers using the orchestrator. I think we’re gonna need to make it highly available.


Karl Isenberg

Cloud Guy. Anthos Solutions Architect at Google (opinions my own). X-Cruise, X-Mesosphere, & X-Pivotal.

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