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

  • 409