|Published Date||Friday, December 24, 2021 GMT +0800|
|Reported By||“Holloway” Chew, Kean Ho|
As the Year 2021 is coming to an end, for this coming holiday season, ZORALab officially launches our new software manufacturing tool called "ZORALab's Monteur". This tool can unilaterally manage all of our software repositories including dealing with artwork and website development too.
To experience first hand, please visit: monteur.zoralab.com
This product was developed since November 2021 when the ZORA team was overwhelmed with maintaining all the continuous automation scripts across many of our software repositories (both clients and internals). Those little tweaks and specific configurations running under the same process drove us insane (including our hardware too).
The Pain Points
It was November 2021 where the load overwhelemed us and hence, we decided to go all-in developing a whole new tool from scratch that can abstract the CI tasks out without sacrificing the advanced ability of customizations.
After thorough research across the market, we decided that Monteur design specifications must be capable of:
- Offers high-level of customizations from commands to manufacturing environments.
- Offers strong consistency while offering feature #1, officially replacing Makefile entirely.
- Able to handle operating system build like Yocto Project.
- DO NOT INTRODUCE NEW LEARNING CURVE (Makefile and Yocto, like come on!)
- Don’t ask users to install dependencies for manufacturing tools (e.g. Bazel, Python, Ruby, and BASH).
- Flexibility must open to all kinds of project and not language-specific or forcing customers to learn specific language just to use it. (Bazel, Turborepo).
- Enough of BASH scripting customizations where it only works on UNIX (e.g. ZORALab Internal’s Manta Tool).
- Prevent vendor locks-in threat where resources must be spent on dealing with businss changing factors unrelated to the project and VERY vendor-specific configuration setups (e.g. Github Action, GitLab CI, Travis CI, and etc).
- Provides localized executions so that developers can get instant feedbacks instead of waiting externel CI providers.
We will be publishing our research papers next year with all our findings.
Since ZORALab primarily upgraded all our products to fully utilize Go, we decided to go for it.
Currently we have 2 paid projects to deal with and urgently need to replace our Manta tool. Hence, we communicated with out clients and thus acquired time for developing Monteur.
Monteur was first proven working and replaced Manta using the Go development toolkit back in November 2021. It was later decided we should stabilize the prototype to the point of confidently usable before releasing it to the public today.
Most of the stabilization efforts were mainly due to external software specifications and limitations. This makes Monteur has to develop a lot of its native functions in order to be platform-independent.
Instead of opting to use BASH script or tengo, where it did not solve the problem of requiring to learn new language, we managed to develop configuration files solely using TOML format. We chosen TOML mainly because of its interoperability with existing shell script (as in easily parsable) and yet highly customizable and highly scalable (both initially and progressively).
As of to-date, building monteur for other CPU architectures are fairly limited
mainly due to localized toolchains (e.g. arm compilers and etc for
CPU). However, we will address this supporting issues in the upcoming versions
with our continuous improvements over time.
What’s for Our Customers
With Monteur, we can now horizontally scale our internal operations with specific configurations safely and with consistency. This means that our software quality, starting from 2022 can be confidently controlled and quality assured.
As for our developers customers, good news for you: Monteur is licensed under the Open Source Initiatives’s Apache 2.0. That’s means it’s FREE:
- Free as in free beer
- Free as in freedom
Since Monteur helps ZORALab generates revenues directly, we do not intend to add in coporate trickey for hiddenly making bucks. We do appreciate some project sponsorship or grants to help us reduces the maintenance expeneses for the benefit of all.
Do not worry: ZORALab is using Monteur for quality assurance and doing any hidden malicious intent will greatly hamper the relationship with our current paid clients.
As of now, ZORALab is fully funding the project.
ZORALab shall incrementally improve monteur over-time while continue our deliverables to our software clients. We see a lot of potential with this tool for both internal and external use so we will continue our efforts for developing it.
This is our gift and wraps up for Year 2021 to everyone in the world. ZORALab team wishes you a Merry Christmas this coming holiday and we will see you in year 2022.
Special thanks to SpaceX for making their rocket image available via Pexels.