I led a project to move our scattered bots onto Kubernetes. They lived on different servers and tech stacks, which made maintenance hard and costs climb.
The challenge
Bots had been built per project, with different stacks and hosts. That left us with:
- Inconsistent deploy processes
- Different maintenance needs per bot
- Overlapping infrastructure cost
- Weak options for scaling
How we tackled it
We used an Assess, Mobilize, and Modernize sequence.
Assess: AWS Application Discovery Service
- Mapped bot dependencies across environments
- Found overlapping resource use
- Spotted common functions we could standardize
- Wrote a migration path per bot
Mobilize: Kubernetes foundation
- Prepared an existing cluster for bot workloads
- Built standard templates for containerizing bots
- Ran workshops so the team could operate the new setup
- Centralized monitoring and logging
Modernize: Move the bots
- Refactored bots into containers
- Added automated tests and validation
- Deployed through DevSecOps pipelines
- Watched and tuned what we shipped
What we learned
- ADS helped us see how systems connected before we moved anything
- Workshops and docs mattered more for adoption than the cluster itself
- Templates sped up containerization
- Feedback after each wave improved the next one
Impact
Deploy time dropped from hours to minutes. Monthly spend fell about 60%. Zero-downtime deploys became normal instead of special.
The quieter win was cultural: teams that used to own bots in silos started sharing patterns and reviewing each other’s work.
If you have done a similar move, I would like to hear what hurt most.