Improving Erlang Enterprise Tooling: An Open Source Initiative by bet365
by Andra Dinu
bet365 decided to address the need for better support documentation and tooling in Erlang by open sourcing the code for Erlang SOAP support and by releasing ODBC code that enables Erlang systems to interact with SQL databases in a much easier manner. We took advantage of the working relationship we have with bet365 to ask Chandru Mullaparthi, Head of Software Architecture at bet365 a few questions about the initiative.
Q: Hi Chandru, let’s start with a little bit about you. How long have you been working with Erlang?
Chandru: (laughs) Not that long. Since 1999. I worked in telecoms for about 15 years, building real-time systems in Erlang. I’ve been with bet365 for nearly 2 years, and they had been working in Erlang for about 2-3 years before I joined. It’s a business that deals in high traffic volumes, so Erlang is a perfect fit.
Q: What do you use Erlang for at bet365?
Chandru: The first project was to rewrite a key system that pushes real-time odds data to our millions of users. We then built it into our Cash Out service, which enables customers to close bets early. It has brought a lot of benefits. Since we started using it, code complexity has decreased significantly, we scaled from 10s of thousands to 100s of thousands of users on a single machine and we ship much faster.
Q: Why an open source release and why SOAP and ODBC?
Chandru: We've been using open-source code in our work and this donation is a way to give something back to the community. But it also creates a start for more enterprise-friendly Erlang libraries. The Erlang tool chain needs to be made more user-friendly.
As to why SOAP and ODBC in particular? Our IT environment is a mix of Windows and Linux servers and we needed to connect these systems as well as our database systems. We discovered that there was next to no support for SOAP in Erlang. The ODBC support had various issues which made it very difficult to integrate into relational SQL databases. Ericsson has an ODBC database connector, but we needed to improve on what was already there. Also, SOAP and ODBC are widely used in enterprise environments and would be likely starting points for anyone coming to Erlang for the first time. So it made sense to start the open-source initiative there. Erlang is a valuable tool in our toolkit and we think it has the potential to become a dominant language for web infrastructure. We have committed to using Erlang in parts of our infrastructure for the long run, so improving these aspects will benefit bet365 a great deal in the future.
Q: While it makes a lot of sense from a community perspective, business-wise doesn’t it mean you're helping your competitors?
Chandru: We don't really compete on technology. Our success is driven by our business model, our people, processes and the quality of the service we deliver to end users.
Q: So what’s next in this open-source initiative?
Chandru: We have already contributed resources to help get rebar3 adopted as the official build tool for Erlang. We will open source more components as and when we feel they are ready and are sufficiently generic to be of widespread use in the community. Open source efforts work best when everyone contributes what they are actively using and keeping up to date. So while I can't say what's next, I can definitely say that we are committed to giving back to the community we benefit from. In the meantime, we invite everybody to take a look and contribute to the libraries available on github.