Doing that DevOps thing
My first year at Blackbird has been good. My main goal in my first year was to migrate the monolithic system and infrastructure into something more scalable and reliable. Well this week was the week and we did it. We moved the last of the services over without any issue. I am grateful that I had the support I did and the team I did. I have learned an incredible amount from them. And ultimately, we killed it!
People write long ass articles about how they adopted DevOps culture and "$did_thing" and honestly, I'd love to do that, I don't even know where to start. So, here's the bullet point TL;DR instead:
- We needed to have a scalable production environment.
- We needed to have a common development environment that closely matched that production environment.
- We needed developers to be able to quickly create the local development environments.
- We needed to merge dozens of repositories into a single monorepo.
- We needed to setup CI.
- We needed CI to use the same tooling that developers used.
- We needed to start migrating frontend and backend services away from the old hosting provider to the new hosting provider.
- We needed to move databases to the new hosting provider.
- Most importantly, we needed a culture change around how development is done. Part of that was adopting GitFlow.
DevOps is an interesting beast. It's like 20% systems administration, 20% software development, and 60% communication. Now it's time to iterate on what we have done, revisit and improve infrastructure, tighten feedback loops, and improve metrics and telemetry.