Drop 6 initial commit.

This commit is contained in:
Michael Mainguy 2025-07-24 17:34:22 -04:00
parent 8c07c36af7
commit 8ec80e038a
2 changed files with 182 additions and 4 deletions

26
.idea/workspace.xml generated
View File

@ -4,7 +4,7 @@
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="dbf015c9-6bab-4a1d-a684-86aeb179d794" name="Changes" comment="started outline for future." />
<list default="true" id="dbf015c9-6bab-4a1d-a684-86aeb179d794" name="Changes" comment="Drop 5 initial commit." />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
@ -57,7 +57,7 @@
<updated>1753029706563</updated>
<workItem from="1753029707902" duration="14900000" />
<workItem from="1753391066003" duration="37000" />
<workItem from="1753391114470" duration="1311000" />
<workItem from="1753391114470" duration="1613000" />
</task>
<task id="LOCAL-00001" summary="Updated to reflect current nodejs setup for container template.">
<option name="closed" value="true" />
@ -107,7 +107,23 @@
<option name="project" value="LOCAL" />
<updated>1753392186689</updated>
</task>
<option name="localTasksCounter" value="7" />
<task id="LOCAL-00007" summary="Added drop 4">
<option name="closed" value="true" />
<created>1753392506671</created>
<option name="number" value="00007" />
<option name="presentableId" value="LOCAL-00007" />
<option name="project" value="LOCAL" />
<updated>1753392506671</updated>
</task>
<task id="LOCAL-00008" summary="Drop 5 initial commit.">
<option name="closed" value="true" />
<created>1753392726730</created>
<option name="number" value="00008" />
<option name="presentableId" value="LOCAL-00008" />
<option name="project" value="LOCAL" />
<updated>1753392726730</updated>
</task>
<option name="localTasksCounter" value="9" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
@ -131,6 +147,8 @@
<MESSAGE value="Whoops" />
<MESSAGE value="reformatted README.md after initial repo setup fiasco..." />
<MESSAGE value="started outline for future." />
<option name="LAST_COMMIT_MESSAGE" value="started outline for future." />
<MESSAGE value="Added drop 4" />
<MESSAGE value="Drop 5 initial commit." />
<option name="LAST_COMMIT_MESSAGE" value="Drop 5 initial commit." />
</component>
</project>

View File

@ -0,0 +1,160 @@
**Drop 6 – Roadmap & ROI: Your First 90 Stores**
*Series capstone: “Edge Renaissance—putting compute (and the customer) back where they belong.”*
---
### ☕ Executive espresso (60‑second read)
* **Three phases, ninety stores, one playbook.** Pilot (≤5), Prove (≤30), Scale (≤90).
* **ROI is real—and fast.** 100 ms faster + higher uptime → +\$X M revenue; hardware amortizes in \~18 months.
* **Govern once, repeat everywhere.** Immutable builds, GitOps, patch waves. Treat each store like a tiny region.
* **Message to the board:** “We’re not reinventing—just putting compute back where customers are.”
---
## 1️⃣ The 0‑5‑30‑90 rollout map
```
PHASE 0: Prep (4–6 weeks)
Goal: Tooling, golden images, KPIs defined
Outputs: Git repo, CI/CD, BOM finalized, latency baseline
PHASE 1: Pilot 5 (6–8 weeks)
Goal: Prove CX & $ impact with 2 workloads (e.g., /inventory API + image cache)
KPIs: TTFB ↓100 ms, conversion ↑≥5%, no POS downtime during WAN blips
Deliverables: Exec brief, ops runbooks, security sign‑off
PHASE 2: Prove 30 (8–12 weeks)
Goal: Add 2–3 more edge workloads (vision AI, promos), test patch waves
KPIs: Cache hit ≥90%, alert MTTR <15 min, patch drift ≤N‑1
Deliverables: Audit evidence automation, SLO dashboard, budget ask for scale
PHASE 3: Scale 90 (12–16 weeks)
Goal: Industrialized rollout kit; 3 waves of 30 stores
KPIs: 95% stores on latest bundle, <0.1% rollback rate
Deliverables: Playbook v1.0, board update, expansion roadmap (300+)
```
---
## 2️⃣ Quick‑math ROI you can defend
**Inputs (example):**
* Online revenue = \$500 M/year, base conversion 2.5%
* Latency cut = 100 ms → +7–8% conversion (industry studies)
* Cap‑ex per store cluster (Good/Better tier) = \$5–6 k (4‑yr life)
* CDN/egress avoided = \$0.045/GB × 100 TB/mo ≈ \$4.5 k/mo
**Back‑of‑napkin:**
```
Revenue lift: $500M × 7% = +$35M/year
Hardware: 90 × $6k = $540k (=$135k/yr amortized)
CDN savings: ~$54k/yr (after expansion)
ROI (Year 1): (~$35M + $54k) / $675k ≈ 51×
```
*Swap in your numbers; the order of magnitude rarely changes.*
---
## 3️⃣ People & process: who does what?
```
CORE EDGE PLATFORM SQUAD (8–10 FTE)
• Platform Lead (1) – roadmap, budget, exec comms
• SRE/Automation (2–3) – CI/CD, GitOps, patch waves
• Security/Compliance Eng (1–2) – policy as code, audits
• Edge App Owners (2–3) – /inventory API, promos, vision AI
REGIONAL / STORE TECH PARTNERS (as‑needed)
• “Smart hands” for racking, swaps
• Local networking tweaks
BUSINESS STAKEHOLDERS
• Digital Product, Merch, Ops – define the CX wins
• Finance – track realized savings & uplift
```
> **Rule:** Central team builds the pattern, sites pull it. No snowflakes.
---
## 4️⃣ Operate like a cloud, even if it’s a closet
**Your top 6 SLOs (track weekly):**
1. **TTFB p95 (ms)** for key endpoints (PDP image, `/inventory`)
2. **Cache hit rate (%)** on Varnish/Nginx
3. **POS/API latency (ms)** during WAN events
4. **Patch drift (# stores on N‑2 or older)**
5. **Backup success rate (%)** (PBS snapshots)
6. **MTTR for node failure (mins/hours)**
Dashboards: Grafana/Loki summaries pushed centrally nightly; alerts on trends.
---
## 5️⃣ Board‑ready narrative (5 slides)
1. **Why now:** Latency is a silent tax; we’re over‑spending on cloud/CDN; Amazon wins on speed.
2. **What we’re doing:** Put compute and delivery where customers are—stores & DCs—using Proxmox on commodity gear.
3. **Proof:** Pilot results—100 ms faster → +X% revenue, \$Y saved in egress, 0 outages on WAN loss.
4. **Plan & risk:** 0‑5‑30‑90 rollout, governance pillars, automated compliance.
5. **Ask:** \$Z cap‑ex, 10 FTE cross‑functional team, payback <18 months.
---
## 6️⃣ Risk register (and the auto‑mitigations)
| Risk | Mitigation baked in |
| ----------------------- | ------------------------------------------ |
| Node dies in peak hours | Ceph 3× replica + live‑migration |
| Patch breaks store | Canary waves + fast rollback via Git tag |
| WAN outage | Local DNS/APIs, queued sync jobs |
| Audit fails | Automated evidence exports; policy‑as‑code |
| Drift / config sprawl | Immutable bundles, Git as SOoT |
---
## 7️⃣ Timeline & dollars (visual you can paste)
```
Q1 Prep & Pilot (5 stores) $ 75k (gear + labor)
Q2 Prove @ 30 stores $ 180k
Q3 Scale wave 1 (30 stores) $ 180k
Q4 Scale wave 2 (30 stores) $ 180k
-----------------------------------------
YEAR 1 CAP-EX / OPEX ≈ $615k
Projected Year-1 Upside $35M+ revenue lift + $54k cost saved
```
*(Adjust “gear” line if you choose GPU nodes or higher tiers.)*
---
## 8️⃣ This week’s action list
1. **Finalize KPIs & baselines** (latency, conversion, uptime).
2. **Draft the board deck** with the 5‑slide narrative above.
3. **Lock the pilot scope**: 2 workloads, 5 stores, 8‑week clock.
4. **Stand up the repo & CI/CD** (even if empty) to anchor governance.
5. **Book the Phase‑gate reviews** now (Pilot exit, 30‑store exit).
---
### 🎁 Series wrap & what’s next
* **Appendix pack (on request):** BOM spreadsheet, CI pipeline YAML, audit evidence script.
* **Office hours / webinar?** If there’s interest, I’ll host a live walkthrough.
* **Spin‑offs:**
* “Edge ML Ops: packaging & shipping models to 500 sites”
* “From closets to parking lots: EV chargers & edge compute”
* “Design patterns for zero‑trust store networks”
> **Thank you for riding along.** This wasn’t about “new tech”—it was about rediscovering what made the Internet (and great retail) work: put value as close to the customer as you can, and don’t pay rent on distance.
*Hit follow, drop questions in the comments, or DM for the appendix. Your closets are ready to scale.*