Services
Cloud Platform
Container Platform
Automation
Security
About
Projects
Contact
Archives
April 2025
Training and Inference in SageMaker AI
SageMaker AI and Networking
February 2025
The Leanest Web and Email Hosting
November 2024
Firewall Deployment Patterns
October 2024
Cloud Certifications for Learning?
August 2024
Debating between count and for_each in Terraform
Test Open ID Connect Flows Locally
July 2024
IAM Roles for any workload
May 2024
Managing EC2 instances across accounts with Ansible
March 2024
Public Key Infrastructure 3 of 3 – PKI Implementation
Public Key Infrastructure 2 of 3 – Certificate Automation
February 2024
Public Key Infrastructure 1 of 3 – Basics
January 2024
Workload Identity on Kubernetes 2 of 2 – EKS
December 2023
Workload Identity on Kubernetes 1 of 2 – AKS
November 2023
WordPress Security Basics
October 2023
AWS Systems Manager is an Omnipotent Hodgepodge
September 2023
Orchestrate Landing Zone with Landing Zone Accelerator on AWS
August 2023
Orchestrate Landing Zone with AWS Control Tower
July 2023
Authentication to kube-apiserver via OIDC
OAuth 2.0 and OIDC 2 of 2
June 2023
Kubernetes Platform as a Service and Red Hat OpenShift
Connect kubectl to private Kubernetes cluster in EKS and AKS
May 2023
Kubernetes with Multiple CPU Architectures 2 of 2 – Node and Workload
April 2023
Kubernetes with Multiple CPU Architectures 1 of 2 – Container Image
March 2023
Landing Zone in Azure – Introduction
A taste of IoT device tracking
February 2023
DICOM testing over TLS
January 2023
GitHub Action Gotchas
Optimize CPU and Memory for Kubernetes Pod
December 2022
EKS impression
Landing Zone in AWS – An Introduction
November 2022
Key mapping for external PC keyboard on Mac
AWS serverless services and developer tools
October 2022
Computing services: from PaaS to Serverless
GraphQL and gRPC
September 2022
Build and Manage Kubernetes Clusters
MinIO for S3-compatible Object Storage
August 2022
Kubernetes Storage on Azure 3 of 3 – Ceph by Rook
Kubernetes Storage on Azure 2 of 3 – Portworx
July 2022
Kubernetes Storage on Azure 1 of 3 – built-in storage and NFS
Intro to Ceph storage
Kick the tires on ArgoCD
June 2022
Chaos Mesh – Cloud Native Chaos Engineering
Etcd – the key-value store for Kubernetes
May 2022
Hosting database on Kubernetes
FSx ONTAP – Enterprise storage on AWS
April 2022
Knative Eventing Introduction
Knative Serving Introduction
Kubernetes Operator
March 2022
Autoscaling on Kubernetes Platform
Istio Operation Gotchas
Service Proxy – from Nginx to Envoy
February 2022
Istio External Authorization via OIDC
Istio Lab – Authentication and Authorization
Istio Authentication and Authorization
January 2022
Traffic Segmentation on Kubernetes Platform
FluxCD: Continuous Deployment with GitOps
Kubernetes Admission Control
December 2021
From Ingress to CRD: why my solution needs Istio Gateways on Kubernetes platforms
AKS Lessons Learned 2 of 2
AKS Lessons Learned 1 of 2
November 2021
From Microservice to Service Mesh
Istio Lab – Ingress and Egress
Infrastructure deployment in Terraform 2/2
October 2021
Azure Deets
Logging and Monitoring in Kubernetes with PLG stack
Intro to PLG stack -Prometheus, Loki and Grafana
September 2021
File storage vs object storage in the cloud
Local multi-node cluster – Minikube, MicroK8s and KinD
Log Shipping in Kubernetes with EFK stack
August 2021
Creating X.509 TLS certificate for workload on Kubernetes
Single-node Kubernetes cluster – docker desktop
Infrastructure deployment in Terraform 1/2
July 2021
Helm – Configuration Management for Kubernetes Resources
Service and Ingress -Traffic Management in Kubernetes
June 2021
Kubernetes Networking Solutions Overview
Kubernetes Storage Explained – from in-tree plugin to CSI
May 2021
Getting started with GitHub Actions
Secure web application deployment
April 2021
Certified Kubernetes Administrator (CKA) Exam
Public Key Infrastructure (PKI) – Introduction
March 2021
Intro to Data Analytics Platform on Azure
Git Branching Strategy
February 2021
Census Data from Statistics Canada
Basic Resource Object in Kubernetes 2 of 2
January 2021
A shallow dive into Artificial Intelligence
Blockchain and DeFi
Basic Resource Object in Kubernetes 1 of 2
December 2020
AWS CDK example in Typescript – provision an AWX server
High Performance Computing
AWS CDK example in Python – provision Kubernetes Nodes
November 2020
IPVS, iptables and kube-proxy
How imaging devices talk to each other (in DICOM)
Automatic deployment of Orthanc on AWS
Docker storage
October 2020
Docker components
Host legacy application in Docker 2 of 2
Automated Deployment Pipeline 3 of 3
Automated Deployment Pipeline 2 of 3
September 2020
Automated Deployment Pipeline 1 of 3
Log file navigator (lnav)
Spark, Cassandra and Python
Intro to Big Data Projects
Host legacy application in Docker 1 of 2
August 2020
Zookeeper Summary
Virtualization 4 of 4 – Networking
Virtualization 3 of 4 – Containers
Cloud storage overview
Java Garbage Collection
Virtualization 2 of 4 – Graphics Computing
July 2020
Virtualization 1 of 4 – Hypervisor
Kafka high-level Overview
How RPC and NFS work
EMC Isilon storage product
Docker network in different modes
June 2020
DataStax Python Driver
Performance Analysis
Capture filter and Display filter in Network Analyzer
Setup WSL2 (and Docker) on Windows 10
May 2020
Ansible at scale 2 of 2
Docker Compose, Docker Stack and Docker Swarm
Ansible at scale 1 of 2
Balloon steals memory from virtual machines
April 2020
Cassandra data model (as opposed to relational model)
How memory usage adds up in Linux
Common local Git operations
March 2020
NTLM and Kerberos protocols
Introduction to Authentication Frameworks (PAM and SSPI)
SASL Authentication Mechanisms
OAuth 2.0 and OIDC 1 of 2
Security Assertion Markup Language (SAML)
Lightweight Directory Access Protocol (LDAP)
February 2020
Introduction to Active Directory (AD)
January 2020
High Availability and Load Balancer
Nginx as a reverse proxy for Nifi web UI and Kibana
December 2019
Networking Basics 3 of 3 – common network protocols and technologies
Networking basics 2 of 3 – Layer 4 and common network configurations
November 2019
Storage Nitty-Gritty 5 of 5 – Replication
Networking Basics 1 of 3 – Layer 1 through Layer 3
October 2019
Clean up Git repository
Storage Nitty-Gritty 4 of 5 – Backup and Archive Solutions
Personal Vim cheatsheet
September 2019
Cryptography basics 2 of 2
August 2019
AWS Certified DevOps Engineer Exam Tips
July 2019
Storage Nitty-Gritty 3 of 5 – NAS and Object Storage
Cryptography Basics 1 of 2
June 2019
Git Explained 2 of 2
Git Explained 1 of 2
May 2019
Set up automation with Ansible
Storage Nitty-Gritty 2 of 5 – SAN
April 2019
Application I/O Characteristics
Lightsail – create a WordPress site in one hour
March 2019
Storage Nitty-Gritty 1 of 5 – Disk and RAID
February 2019
Package Repository Management for Linux
January 2019
Interesting terms and principles
November 2018
Java version confusions
October 2018
Redhat Firewall configuration: from iptables to firewalld
September 2018
Log shipping through ELK
July 2018
A review of vSphere virtualization technologies
June 2018
DICOM data encoding
Linux Admin Basics 3 of 3 – text processing, regex, sed & awk
May 2018
cron and anacron in RedHat Linux (How logrotate works)
April 2018
Basics Terms in Linux OS
CentOS – Remove Swap safely
March 2018
Cassandra Architecture
Linux Admin Basics 2 of 3 – shell scripting
February 2018
TCPdump and Wireshark configuration
Linux Admin Basics 1 of 3 – Bash