Infrastructure 180°
by Joaquín Menchaca
a Previous Project
March 9, 2020
Kasteel van Zellaer
The Problem
The Problem
- Build: complex, manual
- Test: none
- Deploy: unreliable
- Infrastructure: fragile
Current Platform
Current Architecture
The Solution
Short Term
- Build: automate, optimize
- Test: automate (Cypress)
- Deploy: automate, triage
- Infrastructure: optimize
Short Term Solution
Long Term
- Build: augment as needed
- Test: augment as needed
- Deploy: change platform (Spinnaker)
- Infrastructure: change platform (K8S)
Current Platform
Platform 2.0
The Implementation
Prioritization
- Short Term Immediate
- automated testing (python, fabric)
- automated deploys (python, fabric)
- self service bespoke dev env (salt, terraform)
- Long Term (develop in Parallel)
- re-architect infra (kubernetes)
- re-architect deploys (spinnaker)
- Deferred:
- automated build/push
Current Architecture
PoC Architecture
PoC Platform
-
Triggers
- polling ECR
-
Deployments
- kubectl manifests
-
Platform
- Spinnaker built with Halyard
- AWS EKS built with eksctl
Final Architecture
Final Platform
-
Triggers
- polling ECR
-
Deployments
- helm charts
-
Platform
- Spinnaker built with Helm Chart
- AWS EKS built with Terraform
Future
-
Triggers
- SNS events
-
Deployments
- helm charts from chart museum
-
Platform
- Spinnaker built w/ Operator (Armory)
- Secrets integration with Vault
The End
Extra Stuff
…in case anyone asks
Project Specifics
Modularity
Modularity
Infrastructure 180°: A Previous Project
By Joaquín Menchaca
Infrastructure 180°: A Previous Project
- 425