Did we reinvent the wheel? Why we eschewed existing infrastructure as code and CI/CD tools
The problems:
How do we deploy dozens of microservices to many different environments?
a. Avoid rewriting across different clouds and local machines
b. Limited support for smaller clouds
How do we give devs control over their environments?
a. Multiple clusters and cluster resources
How do we enable rapid, local iteration?
a. Issues with most CI/CD pipelines
Can we go from source to executable to docker image to Kubernetes cluster in a one line command?
Our solution:
Python wrapper to do variable replacement and run shell commands.
3 major sections - compile code, build docker image, deploy to cluster
System of buildconfigs gives fine grained control over what gets deployed
Audience takeaways:
Why and when to consider writing your own buildsystem
An example of how to structure a buildsystem for your own project
Bella is a DevOps engineer on the infrastructure engineering team at Wizards of the Coast. She focuses on Kubernetes and works closely with various game