Case: Event-driven automation with Kafka and Ansible
The client had an application that needed to create and modify infrastructure dynamically based on Kafka messages while retaining change history. We implemented the infrastructure management part with Git and Ansible. The system created and managed resources in AWS, Keycloak and on virtual machines.
Main technologies
Ansible Kafka Keycloak
Benefits
User-facing applications could trigger controlled infrastructure modifications Removal of manual steps
Numbers
82 Ansible tasks 5 new Ansible plugins developed 3 deployments
1 Starting point
The client wanted to provide a new self-service capability for their own clients. Under the hood this new feature required creating, modifying and deleting infrastructure on demand. So far such changes had been done in a static way with infrastructure as code tools which was not dynamic enough.
2 Project
We started the project by creating a Vagrant-based development environment for the Ansible code that was required in the project. Once the code was mostly functional we spun up a staging environment in AWS EC2 for testing the automation code in a production-like environment where we could process messages from Kafka and do integrations with AWS and Keycloak. As the final step infrastructure automation code was deployed to production.
3 End result
At the end of the project the steps that were done manually earlier were automatically handled by infrastructure automation. The tooling created a Git commit for each change so that changes could not be introduced without leaving a trace. Ansible did not manage just the individual changes but all of the affected infrastructure. This ensured that configuration divergences got fixed automatically.
"Puppeteers helped us resolve our Red Hat Enterprise Linux issue. I'm looking forward to upgrading and improving our clients' production environments and our development setups with their help."
We use cookies to improve your experience while you navigate through the website. You may accept or opt-out of cookies by clicking the relevant buttons, or visit "Cookie Settings" to provide a controlled consent.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Duration
Description
cookielawinfo-checkbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc. This information can also be used when interacting with the customer.