RSSAmplifier

Blog

etoews

etoews.github.ioRSS feed ↗10 posts

Latest posts

Best Practices when Asking for Help

Asking for help is something everyone does. But when you ask for help, someone else is giving you their time and attention, a finite resource. If you put yourself in the shoes of the person helping you and make it as easy as possible for them, you’ll get better help faster. This post is geared towards getting help with problems in software development and operations, but most of the advice applies…

AWS Account Cleaner

Whether you’re new to AWS and just learning or you’re a seasoned veteran, working with AWS usually involves extensive experimentation. That means constantly creating, reading, updating, and deleting resources as you experiment. However, sometimes you forget to delete something or AWS automatically creates associated resources that you might not even be aware of that don’t get automatically…

Diagramming is a Solved Problem

There are numerous diagramming tools in the market and they all do a very good job of diagramming. However, almost all of them suffer from a fundamental problem that makes the diagrams they produce much less valuable. They make it impossible to share a rendered version of the diagram (e.g. png or jpg) that is conveniently editable. drawio.com has solved that problem brilliantly. Edit a Diagram…

DevOps Learning Resources

A curated list of learning resources I’ve used to evolve my own understanding of the principles and practices of DevOps. Articles CALMS Framework I’m actually quite partial to the CALMS framework for DevOps. Products Over Projects Treating software as a product is a fundamental shift required for DevOps. What I Talk About When I Talk About Platforms Technology platforms are crucial to the…

Semantic Version Comparison in a Jenkins pipeline

Versioning is fundamental to reasoning about software development and deployment. It’s not just the software that you release that needs to be versioned. All of the supporting components need to be versioned too, such as database schemas, message formats, protocols, APIs, dependencies, etc. If you don’t version all of these components, you’re at a severe disadvantage when it comes to understanding…

GitOps is Reconciling a Desired State in Git with a Runtime Environment

I recently did an ignite talk at DevOpsDays Auckland 2019 about GitOps. While doing the deck for the talk, I had a chance to really reflect on question “What is GitOps?”. Definition Use Cases Tooling Barriers Benefits Coda Definition GitOps is reconciling a desired state in Git with a runtime environment. “But this is what we’ve always done!” you say. You’re right, application code in Git is…

GitOps Driven Deployments on OpenShift

Our industry is determined to deliver value ever more rapidly, safely, and securely across software development lifecycle environments. One way to achieve this is through GitOps. In broad terms, GitOps is about applying the Git feature workflow to operations. I took this idea and narrowed it down to exactly one use case, using Git to drive deployments on OpenShift. This is a walk-through of the…

Microsoft Teams Norms

Face to face communication is essential. It’s a necessary and irreplaceable form of communication. Chat also has numerous benefits. However, it’s best to establish some norms around the use of chat to realise those benefits and avoid some of the pitfalls. Overview Norms Teams and Channels Tips ‘n Tricks General Threads Message Formatting Notifications Getting Help Coda Overview Here is a high…

OpenShift Learning Resources

A curated list of learning resources I’ve used as I’ve climbed the learning curve on OpenShift. Experiment Get your hands dirty in a safe environment by using installing and using MiniShift . Or you can skip localhost and use the Starter plan for OpenShift online . These are good for developers but not as good for learning how to admin an OpenShift cluster. If you want to get great idea of what’s…

Managing Environment Variables and Secrets in Kubernetes

Providing configuration to applications via environment variables (env vars) is one of the principles of twelve-factor apps. If that configuration contains sensitive information like credentials, the best way to do that is using Secrets in Kubernetes. There are a lot of different ways to manage env vars and Secrets in Kubernetes. Here are a few things I do to make working with them more…