top of page

Best Practices for Matillion DevOps using GitHub

Our retail customer, utilizing Matillion and Snowflake, encountered persistent challenges with Matillion code management and production deployment due to data engineers independently working on production code copies, leading to integration, synchronization, and deployment difficulties. Subsequently, live production jobs often failed post-deployment using the Matillion export-import method, necessitating a streamlined approach to Matillion code development, testing, and deployment across various environments.



Before delving into Matillion GitHub Integration, it is essential to grasp the significance of this integration in ELT-Data Engineering developments.


Collaboration: Promotes close collaboration between development and operations teams, fostering faster and more reliable data pipeline delivery.


Automation: Crucial in DevOps, enabling teams to automate repetitive tasks and reduce human errors, accelerating the development process.


Continuous Integration and Continuous Delivery (CI/CD): Ensures regular code merging, automated testing, and deployment to production environments for a seamless delivery pipeline.


Monitoring and Feedback: Emphasizes real-time application and infrastructure monitoring for swift issue resolution and continuous improvement.


Scalability and Flexibility: Enhances software development processes within a data management program in the dynamic cloud computing era, allowing pipelines to scale based on demand.


Faster Time to Market: Facilitates quicker releases and reduced time to market for new features through streamlined development processes.


Improved Collaboration: Enhances problem-solving and innovation through better understanding of data team needs and challenges.


Increased Efficiency: Streamlines workflows, enhancing efficiency and enabling focus on strategic aspects of work.


Enhanced Quality and Reliability: Ensures software quality and reliability, reducing bugs and enhancing user experience.


Adaptability to Change: Facilitates agile development processes, adapting to changing requirements and market conditions effectively.


DevOps practices, crucial for modern software development, drive collaboration, automation, and continuous improvement for high-quality, efficient software delivery.

As a Matillion partner, indigoChart provided best practices for Matillion code development and deployment strategies, conducting a successful POC for our client. Changes in Matillion's working methods and setup are detailed in this blog.


Previously, lacking GitHub-Matillion integration hindered the adoption of DevOps strategies for development and deployment processes. indigoChart analyzed and proposed a plan to implement DevOps practices for the Data Engineering team using Matillion ELT at our client.


The following illustrations explain the overall integration approach for Matillion and GitHub.








Recommendations by indigoChart regarding environments and roles:

  • Separate the DEV, QA, and PROD environments into different instances to efficiently manage user/data engineer access.

  • Data Engineers should have READ and WRITE access only on the DEV and QA Matillion environments, with no write access on the PROD environment.

  • Create a new role, Integration Manager or Matillion DevOps Lead, for code review, approvals, and pushing code to the GitHub repository.

  • Data Engineers should have no WRITE access to the GitHub repository. The Integration Manager alone can PUSH the code to the remote repository. Data Engineers can READ from the REMOTE repository to ensure they are always working on the latest copy, as the Integration Manager may resolve conflicts that result in code changes.

  • User access should be fine-grained on Matillion Projects and Versions, specifying READ or READ WRITE permissions for Data Engineers.

  • Implement the best practices recommended by Matillion on DevOps and use them efficiently.


Conclusion:

Our suggested practices offered timely deployments with better version management to facilitate development of error free data pipelines. With no duplicate of backup code on Matillion, resulting in a clean environment, it was ensured that the Production environment did not resemble a playground for development.


With our extensive knowledge of DevOps and Automation, we can assist your business in implementing best practices for development for data pipelines development. We execute on areas of Data and Analytics by embracing and organically expanding your current skills, whether it's developing new solutions or supporting your operations. Contact us right off the bat and we'll take it from there.


Visit us at www.indigoChart.com or drop us a line at hello@indigochart.com


 


27 views0 comments
bottom of page