From Zero Java Knowledge β Full Understanding of EPICβs HOTW System
π How to Read This Guide
This guide is split into 5 layers. Read them in order. Donβt skip.
LAYER 1 β Java_Basics.md
"What is Java? What is a class? What is a method?"
LAYER 2 β Java_Intermediate.md
"Exceptions, Generics, Streams, Lambdas, Enums"
LAYER 3 β Libraries_And_Annotations.md
"Lombok magic, Jackson JSON, AWS SDK"
LAYER 4 β HotwHelper_Deep_Dive.md
"What does each file do, line by line"
LAYER 5 β Full_System_Flow.md
"How it all connects β the big picture"
ποΈ Files in HotwHelper (What You Are Learning)
| File | Type | Purpose |
|---|---|---|
TableConstants.java |
Constants | Column name strings for tables |
AtomicHOTWRequestModel.java |
Data Model | Input for atomic HOTW request |
CreateHotwRunDetailsInput.java |
Data Model | Input to create a HOTW run record |
HOTWHelperModel.java |
Data Model | Result object with all HOTW output |
HotwAllDetails.java |
Data Model | Fleet details + hardware order data |
HotwExecutionAllDetailsInput.java |
Data Model | Full execution details (ASG, overrides, fulfillment) |
OrderDetails.java |
Data Model | Per-fleet ordering details |
PreferredASG.java |
Data Model | Preferred Auto Scaling Group record |
DescaleRecommendationWithClb.java |
Data Model | Descaling recommendation per ASG |
EPICBackendHotwApiCallsCommon.java |
API Client | Calls EPIC backend HOTW APIs |
HardwareOrdersUtil.java |
Utility | Builds HOTW details, calculates hardware orders |
TableUtil.java |
Utility | Builds markdown tables for SIM tickets |
HotwUpscalingHelper.java |
Core Logic | Main upscaling workflow orchestrator |
DescaleHostRecommendationHelper.java |
Core Logic | Post-event descaling recommendation |
π‘ What is HOTW in 1 Minute?
HOTW = Head of the Week
Every week before a peak event (like Prime Day), an automated system:
- Looks at each fleetβs traffic projections
- Calculates how many servers (hosts) are needed
- Places capacity orders (SPCO) to get more hardware
- Creates SIM tickets to track the ordering
- Sends email notifications to service owners
- After the event, recommends which servers to descale (remove)
The HotwHelper package contains all the helper code for this process.
β Start with Layer 1: Java Basics