Modern Wagering Systems is proud to announce that the development phase of our sportsbook system has reached an important milestone - online pre-release. It's still early days yet, however Bandwagon is at a stage where the end product is now very clear and definite details of operation can be released to the market.
Enhancements and development will continue over the coming months as we sign clients and fine tune our functions and capabilities. As we continue to make our way out of the lab, I will be starting to demonstrate Bandwagon in person. Bandwagon, as a start up product new to market, is looking for its first customers, trial beta sites and potential investors in Modern Wagering Systems. People looking to fill one or more of these roles are very welcome to get in touch for a prospectus.
The rest of this post descends into the technical, but finishes off with a demo for those less interested in the nitty gritty.
Bandwagon is the third wagering platform that I have contributed to and I've had some very clear goals in mind based on my experience with these other two systems. Specifics aside, the two guiding principles that I have adhered to are
- that a system needs to be genuinely horizontally scalable and;
- not tied to any specific technical ideology.
Horizontal scalability, from a technical standpoint, means that multiple instances of Bandwagon can run on multiple servers, serving multiple clients backed by multiple databases with no single point of failure and no data joins across servers. In fact, the data model itself has no relational joins in it. So every database table could be in separate databases on separate machines without needing to make changes beyond configuration. This allows for decent horizontal growth while still being able to put the entire system on a single machine suitable for a one person company as well. Being able to scale down and up is important to us.
Avoiding any particular technical ideology for Modern Wagering Systems is about being flexible and not nailing our colours to any mast of a particular vendor for a database or an operating system. Bandwagon can run on a number of operating systems, in different configurations and backed by different databases. Sure we have our preferences and recommendations, but by building Bandwagon as a RESTful API you can simply host it, pick from a number of major databases and then choose whatever technology you like to interact with it. We provide example sales channels which can be used straight away but there is nothing stopping a client from building something completely new and different. Our front end and admin uses the same API that your front ends and admin can. No lock in and freedom to move and grow as you need to quickly without having to migrate systems.
So, speaking of example sales channels, below is a link to an example desktop web application to take bets. It is running a feed from Tattersalls to create markets and prices which updates every 30 minutes. It is hosted on a cheap virtual server, backed by a MySQL database and running NginX for a web server. Everything is on the one machine and even on this literally $10 a month configuration it is capable of several hundred bets per second.
The other interesting point to note with the demo is that it is 100% client side. We're using HTML and Javascript to interact with a Bandwagon instance via REST/XML. In a production environment this demonstrates that you can have a lower total cost of ownership by having far fewer servers than comparable systems as the whole sales channel is static from the server's perspective. Of course you can also make it more server side if required. This is a real testament to the on the ground flexibility this design offers.
OK, here's the link: sydney.modernwageringsystems.com and apologies if you're using Internet Explorer. Right now this demo isn't supported on IE but it will be soon. Firefox and Chrome work fine for this demo.
I'll be following up with more posts and details as we continue to develop Bandwagon. I'm especially interested in running bandwagon on some different databases and seeing how the performance compares and publishing results.
Watch this space.