Containerisation and Orchestration of Mautic Application - An Open marketing software platform
Client was looking to build a highly available and scalable solution for their Marketing automation platform. Their stack had nginx, mautic with MySQL database running on aws ec2 instances. Some of the challenges that the client has faced include scalability of their application during their intensive marketing campaigns and maintenance of the application such as periodic updates to mautic. Mautic application as it exists, is not totally enterprise-ready and not in line with 12 factor application philosophy.
Take-aways from this talk include,
1. Brief about 12-factor application Philosophy.
2. Architectural design for the application.
3. How we decoupled different components and made use of native kubernetes services to address the problems.
4. How the different configurations are aligned and brought into one config file i.e. config.php
5. Security considerations
Some Introduction about Mautic and the use case -
Mautic is an open marketing software platform that provides the greatest level of integration and deep audience intelligence, enabling you to make more meaningful customer connections. Mautic application as it exists, is not totally enterprise-ready and not in line with 12 factor application philosophy. There are multiple configuration files to inject environment variables. Mautic has an open-source image but it is hardly ready to be deployed on Kubernetes, let alone enterprise ready. The ephemeral and persistent components such as logs, cache are not decoupled. The existing mautic image also runs multiple processes in the same container, which is an anti-pattern in containerization.
Will discuss how have we resolved the problem and made the application enterprise ready using kubernetes and its services
From running the application on virtual machines and manual deployments, this project has made it easier for the client to make frequent releases and also enhanced the availability of the application. The self healing nature of Kubernetes combined with the auto scaling features aws offered, the application is highly resilient. The gitlab CI/CD pipelines makes it a breeze for developers to deploy. The multi-dev deployment paradigm ensures every feature is thoroughly tested before the new features are launched onto production.
Basic understanding of how applications work(PHP/Java)
Basic idea of Docker containers and how they work.
Basic idea of Kubernetes and how it works.
These 3 requirements will help understand the session.
I am Sreekar Achanta, a Technology enthusiast. I love to automate stuff using different devops tools. I believe in making my life better each day and not to loose myself in that process. I am currently working as a DevOps Engineer at Axelerant Technologies. I am around in IT past 9 years. I haven’t delievered any talks so far in any of the tech conferences. The first tech conf that I have attended was Root Conf hyd, 2019 and I loved the idea of talking at Root Conf and so have submitted my first ever session here. I also look forward to contribute to open source organizations or bodies in the coming days.
- LinkedIn - https://www.linkedin.com/in/sreekarachanta/
- Twitter - https://twitter.com/sreekar_achanta
- Personal Blog - sreekarachanta.com