A Recipe for ‘ChatOps’ with Slack and AWS Lambda
How OpenFit integrated Slack into their DevOps process to build a 'ChatOps' model.
OpenFit was launched at the beginning of 2019, to provide a digital streaming platform that integrates workouts, nutrition and wellness all in one place.
The business has gone all in on AWS, making extensive use of Serverless technologies.
They use AWS Code Pipeline and in the video they zoom in on their Continuous Integration development process.
From 1m:50s they explain that they have a Slack channel for each microservice, with all the team involved in that service subscribed to it. When a new Pull Request is initiated it generates a report and sends it to the channel, which describes commit IDs, which files have been modified and the PR number.
As the build moves through the CI/CD process notifications are sent to the Slack channel at each step, such as when the QA environment has been built.
At 3m:20s they zoom in on the detail of the ChatOps function. The Approve step utilizes SNS and Lambda integration with Slack to deliver an interactive Yes/No message box. When it is actioned it utilizes Lambda and API Gateway to send an instruction back to the Code Pipeline to continue its progress.
Their reasoning and benefits for this approach was to avoid heavy bureaucracy and the need for physical meetings; this lightweight approach combined with testing early in the code process meant they could speed up and increase the number of deployments.