A migration control room connects source and target service evidence to named go, hold, and stop decisions, with verified return, controlled fallback, and forward-repair paths.

The Migration-Wave Control Room: Go/No-Go Gates, Stop Conditions, and Recovery Decisions

Run migration waves through explicit go/no-go gates, stop conditions, and recovery decisions. Track the point where production writes make reversal a data-reconciliation problem.

A protected infrastructure-change evidence package records configuration and recovery readiness before the change, actions and decisions during it, and service, security, and recovery state afterward.

Infrastructure Change Evidence: What to Capture Before, During, and After a Change Window

Capture the evidence needed to approve, execute, validate, and recover an infrastructure change. Preserve service outcomes, exceptions, decision ownership, and access-controlled records for the next engineer.

AI coding agents, copilots, and developers expand the delivery funnel while architecture review, security validation, and operations remain scarce control points.

Code Abundance, Operational Scarcity: Why AI-Generated Software Is Creating a New CIO Bottleneck

TL;DR AI coding tools are reducing the effort required to produce software, but they are not removing the work required to make software safe, supportable, observable, and valuable. The constraint is moving downstream into architecture review, test design, security analysis, release governance, documentation, production operations, and cost control. CIOs should not treat lines of code, … Explore: Code Abundance, Operational Scarcity: Why AI-Generated Software Is…

Introductory visual for How to Monitor NVIDIA GPUs with DCGM Exporter, Prometheus, and Grafana.

How to Monitor NVIDIA GPUs with DCGM Exporter, Prometheus, and Grafana

TL;DR NVIDIA GPU monitoring needs more than a utilization chart. A production design should collect device telemetry with DCGM Exporter, scrape it with Prometheus, visualize fleet and workload behavior in Grafana, and alert on conditions that require action. The runbook must also preserve per-pod context, control metric cardinality, distinguish low utilization from genuine performance problems, … Explore: How to Monitor NVIDIA GPUs with DCGM Exporter,…

Introductory visual for Agent Observability Is Not Logging.

Agent Observability Is Not Logging: How to Detect Autonomous System Divergence in Real Time

TL;DR Traditional logs tell operators what individual components recorded. Agent observability must answer a harder question: did an autonomous system remain inside its declared task, authorization boundaries, and approved methods across the complete sequence of actions? The required unit of detection is the trajectory. Prompts, tool calls, shell commands, identities, network destinations, package retrieval, privilege … Explore: Agent Observability Is Not Logging: How to Detect…

Introductory visual for How to Run Coding Agents Safely Inside CI/CD Pipelines.

How to Run Coding Agents Safely Inside CI/CD Pipelines

TL;DR A coding agent should enter a CI/CD pipeline as an untrusted change producer, not as a privileged developer account. Give it an ephemeral sandbox, read-only repository access, a writable workspace, tightly controlled network egress, no deployment credentials, and no direct path to a protected branch. The agent should produce a patch and evidence bundle. … Explore: How to Run Coding Agents Safely Inside CI/CD…

Introductory visual for How to Deploy NVIDIA NIM Microservices on Kubernetes with the NIM Operator.

How to Deploy NVIDIA NIM Microservices on Kubernetes with the NIM Operator

TL;DR NVIDIA NIM can be deployed on Kubernetes through Helm or managed declaratively through the NVIDIA NIM Operator. The operator-based path is the better fit when you want Kubernetes-native lifecycle management for model caching, GPU scheduling, health probes, service exposure, scaling, and upgrades. The practical sequence is straightforward, but the dependencies matter. Build a supported … Explore: How to Deploy NVIDIA NIM Microservices on Kubernetes…

Diagram showing a high-level view of the DR-as-Code workflow for Nutanix environments.

Disaster Recovery as Code: Version-Controlled DR Policies for Nutanix

Introduction Modern IT landscapes demand agility, transparency, and resilience. Traditional disaster recovery (DR) is often static, hard to audit, and slow to adapt. Enter Disaster Recovery as Code—a new paradigm where DR policies are codified, version-controlled, and delivered through repeatable automation. Leveraging Infrastructure-as-Code (IaC) principles, Nutanix admins, architects, and DevOps teams can bring cloud-native agility … Explore: Disaster Recovery as Code: Version-Controlled DR Policies for…

Containerized deep learning graphic for NVIDIA GPUs running on VMware Tanzu and Nutanix Karbon.

Containerized Deep Learning: Running NVIDIA GPUs on VMware Tanzu & Nutanix Karbon

Table of Contents 1. Introduction Deep learning workloads are transforming enterprise AI. Running them efficiently at scale requires more than just powerful GPUs. Kubernetes has become the go-to platform for orchestrating modern, containerized machine learning environments. With Kubernetes, you get reproducibility, scalability, and deep integration with DevOps workflows. This tutorial and proof-of-concept guide shows how … Explore: Containerized Deep Learning: Running NVIDIA GPUs on VMware…

Screenshot from the Docker Compose With GitHub and Travis CI walkthrough at step 1; the adjacent article text explains that also, if you have not already create an account with Travis CI.

Test/Dev Workflow Docker Compose pushed to GitHub & Travis CI

In the previous article we covered how to deploy an app using Docker Compose.  In this article we will expand upon that and push our files to a GitHub Repo and connect the Repo to Travis CI for continual testing.  Pre-reqs:Create a repository in Github – my example is docker-inferno Also, if you have not … Explore: Test/Dev Workflow Docker Compose pushed to GitHub &…

Screenshot from the Search All Kubernetes Namespaces walkthrough at step 1; the adjacent article text explains that how to see all namespaces.

How to search all namespaces in Kubernetes

I wasn’t expecting to get so in-depth into namespaces but I had another question come up.  What if you have multiple namespaces in your environment and you wanted to see them all.  Also, what if you were trying to find a particular pod in an unknown namespace. My previous namespace articles:How to switch between namespaces … Explore: How to search all namespaces in Kubernetes

Screenshot from the Create a Kubernetes Namespace With Quotas walkthrough at step 1; the step instructs the user to create new quotas, namespace & deployment that will fail due to quota limits and how to troubleshoot.

Kubernetes create new namespace with quotas

There are times when projects and team members accessing the projects grow.  In order to keep these environments isolated we incorporate namespaces and to ensure these projects don’t exceed their resource limits we can impose quotas.   In this article I will provide a couple definitions followed by a two-step process.  In step 1, I will … Explore: Kubernetes create new namespace with quotas

Linux terminal showing mkdir and cd commands used to create and enter the Yankees web app project directory.

Deploy web app project running on a Docker container

In this article as we begin to progress forward with deploying containers I wanted to build on previous articles.  In this article we will create a package.json and server.js file, create a Dockerfile and see if our web app works. Now let’s create a directory for our project: $ mkdir <name_of_project>$ cd <DIR> Deploy web … Explore: Deploy web app project running on a Docker…

Screenshot from the Docker Port Mapping walkthrough at step 1; the adjacent article text explains that that it done, let’s go to Docker Hub and look up Jenkins.

Docker Port Mappings

I think Docker has the best explination of port mapping, “By default, when you create a container, it does not publish any of its ports to the outside world. To make a port available to services outside of Docker, or to Docker containers which are not connected to the container’s network, use the –publish or … Explore: Docker Port Mappings