WakeUp Little Machine
Submitted By Jenkins User Denis Oliveira
When machine learning is required, there’s a big machine usually involved. We wanted to bet that development could be faster and less expensive when you shared dev with a little machine.
Organization: European-based online betting leader
Industry: Business Intelligence
Programming Language: Python
Version Control System: GitHub
Build Tool: Custom script in shell
Community Support: Jenkins.io websites & blogs, Spoke with colleagues and peers
Saving money and time in software development
when machine learning requires big machines.
Background: The client leads the way in consumer education and online engagement for those interested in any form of online gambling across 9 different countries and 4 different languages. We deliver up to date unbiased coverage of the gambling industry with reviews of online betting and casino operators, industry news and legislation updates, knowledge, strategy and edge tools and safety information for when gambling online anywhere in the world. We aim to provide every online gambler with a safe and fair place to play via independent reviews of the world’s best online gambling companies.
That said, development can be tedious and expensive considering the complexity of BI processes using machine learning. It is hard to choose a small instance once these machine learning processes require big machines to finish a job. We faced a challenge in waking up multiple instances, processing concurrent jobs, and finding the right way to turn off these machines, thus preventing the bleeding in cost.
Goals: Saving costs by using a big instance when required.
Solution & Results: It turns out that we could utilise Jenkins to manage our pipelines, including triggers to wake up the correct number of instances to execute the expensive BI jobs/ We saved money and time in a renewed process that previously took more than eight hours to complete.
Key capabilities we used include Pipelines, Github plugin to dynamically load deploy code, Jenkins webhook triggers, AWS Parameter Store, and the Build Wrapper plugin.
What we achieved by using Jenkins:
- Executing the task 80% faster
- Saving 60% in costs
- Easier to maintain