No. 0401 min read
Idempotency: can I run the damned thing again?
Your script worked once.
No. 0141 min read
Ansible and GitLab helped me cut Sprint deployment errors by 30% and improve release speed by 40%. But did billing get the damned records?
You can screw up a billing mediation deployment without bringing a single damned process down. Everything is running except the records have stopped reaching billing, and now you have unbilled revenue and an uptime report that thinks you are doing great.
At Sprint[1]Ref. 1Sprint en.wikipedia.org I established a production change-management system using Ansible[2]Ref. 2Ansible ansible.com and GitLab[3]Ref. 3GitLab about.gitlab.com. Deployment errors decreased by 30%, and release speed improved by 40%.
When I say change management before DevOps[4]Ref. 4DevOps en.wikipedia.org, I don't mean we invented this before somebody invented the term. The operational problem came first. We needed to know what was changing and repeat the change reliably, then establish that the billing path still worked afterward. That's what we put Ansible and GitLab to work on.
A valid configuration can still be wrong. A mediation rule can parse beautifully and send records to the wrong destination, and a service can restart cleanly with a mapping that drops a field billing needs. Nothing has to crash for you to fuck this up.
Restoring the previous configuration is often possible. But then you've got records already sent downstream, and undoing those is another job entirely. Software rollback restores behavior, data recovery deals with what happened while the behavior was wrong. I want both accounted for before anybody calls the release plan finished.
A completed automation run tells you its tasks completed. A service check tells you a process is alive. I still want evidence that records are being collected and processed, and that they're accepted where they belong.
I'd keep the change open until the expected records reach billing. Now where the fuck are the records?
No. 0401 min read
Your script worked once.
No. 0201 min read
At Raymond James, Splunk and Dynatrace helped cut critical-error diagnosis and remediation time by 40%.
No. 0122 min read
Twelve vendors, 130 switches, and a $50 million replacement of Sprint's mediation platform.
No. 0112 min read
Fourteen years reconciling Sprint's network records with mediation and billing: finding missing files, repairing damaged CDRs, and accounting for the money.