Modularity¶
Abstract
The punch is built on top of well-designed and independent software modules.
Here is the punch design illustrated:
The punch modules can be combined into applications using an easy to understand configuration logic. You can quickly setup many different uses cases from small one-server data shippers to large scale data centric platforms.
One of the key characteristics of the punch is to require little coding. Equipped with a few punchlets (snippets of code written using the punch language), rules, and/or spark jobs expressed with a few (spark) SQL statements, punch users can design impressive and complete applications in matter of days. These apps are, in turn, easy to maintain, operate and make evolve.
Punch Development Strategy¶
The punch is a Thales so-called inner source project. Its various modules are available on the thales group-level gitlab. Self-documented, well maintained, everything has been planned to favor contributions and sharing.
This is key to succeed in building a community to leverage elasticsearch, spark and storm technologies. Today various thales teams are using the punch languages, its CEP rules, alerts. Thales data scientist experiment with PML to demonstrate various machine learning use cases.