Bringing Effective CI using AWS + Docker for Microservices
With organizations opting towards microservices for easy management and maintenance of services/releases, testing becomes more challenging in catching up with the speed of development. At such situations, traditional testing that helped waterfall models, before decades, will not be of use any more. While a lot of testing/quality teams follow matured process to solve their problems, there had always been some adhoc needs, especially on bringing up the environments for random testing, along with following matured testing. A lot of organizations lose a lot of time just to boot strap their environments with their manual/semi-automated way. Here, we would like to present, how Bounce is solving this problem. The intent is to ensure that we bring in a self-sustained environment on-demand (for CI automation / adhoc needs) with the needed hand-picked micro-services with specific builds, with dbs, caches, apps, queues etc. Further, this helped us in tying up the integration and e2e test frameworks to run against the environment created, once it was spawned - fulfilling the CI.
Initially, bringing up an environment in adhoc manner took us around 4 hours, which was reduced to 5-10 mins through this approach.
Technology Used : AWS, Code Build, BitBucket, Lambdas, Docker
- Requirement that we had - microservices/multiple repos and teams and parallel developments/daily releases/quality confidence
- AWS centric environment and why we arrived at the decision
- Architecture of our CI and boot-strapping solution
- How we achieve bringing up seletive environments with the right fall-back options.
- Q & A
I currently work as a Sr SDET Architect at Bounce(Ex : AppDynamics, Ex: InMobi, Ex: VMware) and I have been passionate about taking test and release automations to the next level. I love solving complex problems and I have been recently solving problems related to CI/CD architecting and building test frameworks.
- Profile - https://www.linkedin.com/in/swamy-bounce