How GitOps works for us
From manually deployed monoliths to containers and GitOps with Weaveworks Flux
Over the last couple of years we’ve been running a number of projects creating new services, and migrating existing services to a new platform we’re building. We’ve been working very heavily with containers as our packaging and deployment mechanism, and using Kubernetes as our orchestrator. During this time we’ve been beefing up our Continuous Integration processes, and looking at how automation can help with deployment.
Historically we’ve had a lot of software that’s been deployed manually, and this has lead to many common issues — it takes time and resource we’d rather be using for other things; it can be error prone and require a lot of trouble shooting; and it often requires detailed knowledge of what’s where and how to safely upgrade. We very quickly realized that with the technologies we were using, this problem could easily grow if we didn’t change our way of working, but that equally these same technologies opened the door and reduced the friction of embracing newer techniques and processes to help us embrace Continuous Delivery.
Our goal is to make deployments — whether of a large-scale distributed system, a complex production environment, an embedded system, or an app — predictable, routine affairs that can be…