Mapping the JNCIA-DC Blueprint

Introduction In this (very) short blog post, I’ll provide a mapping of the official JNCIA-DC objectives to some resources for learning about the topic. You may notice that several of these sections suggest studying the JNCIA-Junos or JNCIS-ENT. That’s because there’s a lot of overlap. Honestly, the right approach is probably to get your JNCIA-Junos and JNCIS-ENT before attempting the JNCIA-DC, but if you’re impatient, then hopefully this mapping helps.

READ MORE

Comparing the Basics of Go and Python for New Programmers -- Part 2

Part One of this series comparing Go and Python can be found here. In Part One, I covered some of the differences between Python and Go when it comes to packaging and looping. This time, I want to cover a (slightly?) more advanced topic: blocking vs. non-blocking HTTP calls. To do this, we’ll write the same application in both Python and Go. This tiny demo application will retrieve the names of the original 150 Pokemon from a public API.

READ MORE

Comparing the Basics of Go and Python for New Programmers -- Part 1

I’m not trying to start a flame war, I swear. So let’s start off with this: if you’re already fluent in either Python or Go, this blog post isn’t meant to change your mind. Instead, it aims to compare some fundamental operations in each language and talk about how I feel about them. This is only Part 1. If it’s well-received, I’ll write more. If it’s not, I won’t. The title of this post includes the words for New Programmers, but it does expect the reader to have at least a passing familiarity with programming – or at least be able to understand pseudo-code.

READ MORE

Refactoring Apps Safely with Istio

This blog post will walk you through rewriting a portion of a service safely, 100% in production, by leveraging Istio’s routing features. It features a basic service with the following endpoints: /healhtz: a healthcheck endpoint that always responds with a 200 status code /: the base endpoint, which generates a random number a random number of times Later, we’ll discover that the random number generation function in our original service is suffering from horrible performance.

READ MORE

Managing Virtual Network Labs with KNE

This post will be a (very short) introduction to kne, a project from Google that lets you run virtual network topologies in Kubernetes. I’m writing this as the current docs are a bit lacking for anyone who really just wants a lab topology without necessarily understanding how to do things with Kubernetes. Prerequisites To get started, you’ll need a few things: Docker Go kind kubectl Install Docker This is the most complicated step.

READ MORE