With cloud native and microservice architectures gaining traction, Kubernetes (k8s) has become the standard tool for managing deployments. But what is it, do I need it, and how do I most effectively get started with it? That's what this post aims to clarify.
I'm no k8s expert. I've been picking it up because I'm interested in the devops space and because I see the problem domain it solves in my daily work. I've found the best way to learn something is to simply start working with it. Even better, is to write about it, as writing reinforces what you learned. If you can't explain something clearly, then you don't really understand it.
In this series of posts we'll develop a basic expressjs server, use k8s to develop locally and deploy it to a production environment. We'll take it step-by-step. After the first post we'll have an expressjs server running and be able to deploy it via k8s to a development environment. In further posts we'll explore local development, secret management, production clusters and stateful components, like databases.
Continue reading "Exploring Kubernetes"
We rely on abstractions to make sense of the world. Your dog is not really a "dog." There's no such thing. The word is a generalization for a group of entities that share a similar genetic make-up. But it's easier to just say, "dog," and we all understand because we generally agree on the things the word stands for.
Continue reading "Abstractions"
A dilemma often faced by professional programmers is whether to work with what they have, or start fresh when inheriting others' code.
They say it's easier to write code than to read it (especially other people's code). Why is this?
- Unless the code is perfectly readable, it's challenging to put yourself in someone else's head.
- Every project has context and baggage that is often not documented.
- As a new developer you have the luxury to be a critic. The former developer had deadlines to meet, family crises etc. You will also, soon enough...
Continue reading "Evaluating an Existing Tech Project"
Continue reading "The Essence of Functional Programming"