Parting ways from proprietary technologies is not all that difficult. The transition becomes easy if one is determined. Book My Show is one such example, where more than the availability of resources and finances, what mattered was the intent to get the best on board. Viraj Patel, VP, Technology, Bigtree Entertainment Pvt Ltd , did just that. In a tête-à-tête with Diksha P. Gupta from Open Source For You, Viraj shared his journey in the world of open source technology and and how he sailed his company through, pretty successfully. Excerpts.
Q. Viraj, what all are the places where you have deployed open source technology in your company and how is technology impacting the day to day operations of your company?
A majority part of our business is Book My Show and Book My Show as a platform has a good amount of footprint on open source technology. Originally, when Book My Show was launched in 2007, it was completely on Microsoft stack. And only a couple of years of its launch, in 2009, we moved our website to Lampstack. Today, our website is fully running on PHP and there are a lot of backend applications that were created later, are running on open source technologies, like Node.JS, MongoDB, etc. So we have a lot of footprint there. We still have Microsoft footprint but that is reducing day by day. Today, we have less than 10 per cent of our servers running on Windows, where as more than 90 per cent are running on CentOS.
Q. So how has been the journey of adopting open source?
We began in 2009 approximately. Basically, Book My Show is build on the micro-services model. For almost everything we do, we have a service, like to send SMS, we have a service, to send emails, we have a service, to send push notifications, we have a service and then we have services to communicate with all these services. So, in all, we have a lot of services. Also, we have an integration with a lot of cinemas and payment gateways. So we are completely a service model. Some of those services are ancient, as the project started as early as in 2005-06. However, quite a lot of them were created over a period of time and newer services are coming up day in and day out. All the new services that we are developing are on open source platforms. But, some of the legacy applications, are still on Dot Net and we maintain them on Dot Net. There is no hard and fast policy for us to move from Dot Net to open source technologies, but wherever it makes sense, we do that and one of the key reasons for us to do that is scalability. It is much easier to scale on open source technologies. There are so many tools available for that in the open source, available freely. In Dot Net, you have to stick on to the processes that are created by one company. Because of such kind of limitations, in many cases, we choose to go with open source technologies.
Q. Why is open source technology becoming a default choice for you? You said scalability is one reason. What are the others?
Flexibility is one other reason. Flexibility is very important for us. There are options available in open source, that are backed up by a company. So, when you are in business, you need some sort of assurance. So if you look at MongoDB, MongoDB as a company is also there to back you up in case you need some support. But at the same time, open source gives you a lot of flexibility in the way that the whole process of how you want to do things is completely in your control. Automation is one of the key things. The way we deploy our servers, everything is automated, whereas in Windows, we still have to keep on clicking the ‘next’ option, after every step.
Implemetation of the automation program on Windows is much more time consuming for us, and with such a small footprint, it does not make sense any more. We have about 40 servers running Windows, vis-à-vis over 600 servers that run on Linux. So, even if there are automation tools available for Windows, it does not make sense for us to implement them and they will not come in line with the Linux tools. We are investing a lot into the Linux tools for automation, deployment and the whole continuous delivery platform. So, wherever Windows is working out, we are making use of that but not always.
Q. Did you face any issues when you introduced open source technology in your company?
What we have done so far is that we have limited the usage of open source technology only to the engineering team. From business side, most of the people are using Windows on their desktops. For them, not much has changed, as they continue to use Windows platform for their day to day work. Even in case of applications, for instance in the IPL, the box office team is running the point of sale system to sell the tickets that are running on Windows. The application they use still run on Dot Net. But, when the application is doing transaction on server, the transaction is happening on Linux. So, what we have done is we have put all the open source technologies in the data centre layer, which is isolated to the engineering team. So from company point of view, we do not face any hurdle or a brick wall where things like training is required. When it comes to the engineering team, when we hire engineers and make sure that they are trained in open source technologies.
Q. Do you get enough talent these days that is trained in open source technologies?
We get a lot of talent that is already trained in open source technologies. However, a lot of talent is home grown. We hire a lot of freshers, who have just come out of engineering colleges and even institutes like NIIT, and we train them. We look at a candidate with open mind, because for us, it is not a choice between open source and Windows, it is more about what works best in business use cases. Its just that in most of the cases, open source gives us more flexibility, because of which we choose open source. We are not biased towards any platform. As a business we cannot be biased. Any business looks at flexibility and good turn-around time while choosing any technology. And the best way to attain the goal is to use a hybrid model. So, if I become biased and say that all my systems, even for the end-users, will use open source, training those hundreds of people will become a nightmare, and it involves a lot of cost too. With a company like ours, where we have a lot of temporary staff, like during IPL, we have thousands of people joining us on a temporary basis. Training them for a temporary period can be a nightmare.
The fact is that Windows is something that everybody is aware of. Except for engineering colleges, the non-engineering colleges and schools still use Windows. It kind of becomes a default for them. So, one can assume that they should be aware of that. This is why we use a hybrid model and it definitely helps us. In future, if people start using open source operating systems like Ubuntu, we have no issues in adopting it on the user level as it will save a lot of training cost for us. If that happens, we will be happier because we will not end up paying so much of licensing fees.
Q. You said that you have a lot of temp employees, but you must be having a lot of permanent employees as well. Did you ever try using open source technology on a user-level? If yes, what was the outcome?
We had done this experiment a few years back. I wouldn’t say that it was a failure, but definitely not a success. We told our employees to try something different, but we did not get a lot of positive acceptance. But now, if we look at the scenario, we have a large footprint of Mac machines. So, when we wanted people to move on from Windows, they accepted, but instead of moving on to Linux, they chose Mac. We have a limited number of people using Linux, and all those are engineers. But at the data centre level, CentOS is winning the game.
Q. When you had deployed open source technology at the data centre level, did you face some issues from within the company, because quite a few open source projects are still based on community vibrancy, rather than having some official support?
In our case, the advantage is that 100 per cent of our application development happens inhouse. So, we are not so dependent on any external developer. When we started moving to open source model, there were a multiple level of challenges, which at a later stage became the advantage of moving to Linux. Initially, the discussions were surrounding the points like how to remember so many commands, once we move from a beautiful looking GUI. In Windows, one doesn’t have to remember things. Individuals just needs to navigate and figure out things. Initially, that was a hurdle, definitely, but as we started deploying more servers, we realised that having commands, having them scripted and then moving to an automation tool or a configuration management tool, actually makes it super easy to deploy divisions of servers at the same time. On the other hand, with Windows, one is stuck and automation scripts are not easy to do. Even if you make an automation script, you still have to remote access the servers and do it. Running scripts from remote desktops is not nicely supported by Windows. All these things which were earlier the benefits of GUI became its drawback. With Linux, the scale comes in. Earlier, we used to deploy one server in a few months, but now we can do many servers in a day. So, speed and automation is very important. Without that, we cannot deploy so many servers. Thus, earlier, something that was a drawback of having a console or a shell access, later became an advantage. And most of the guys like me converted and adopted Linux. I was a hardcore Windows guy, till I tasted Linux.
Q. What was that turning point that lead to your conversion?
The feeling of having complete control changed my mind. The amount of things that you can do and customise Linux for, is amazing. With Windows, a lot of time one has to say ‘it is not possible’. Like security is very important for any e-commerce player and there is no control on security in Windows. But when it comes to Linux, you have a lot of control. In case you are on Windows, you have no choice but to believe that the team sitting in Redmond is doing a good job. In case of Linux, even if there is a vulnerability, you can download the source code and fix it. Although as a company, one wouldn’t want to do that, but if need be, one can. Earlier, we never compiled packages for customisation. But recently we have started doing that. That’s the kind of power that we got with Linux and that has added so much of performance for us, that we now don’t have an option.
Q. By when did your tryst with open source technology begin, and when did you think you will make it a career choice?
In 2009, it was recommended by most of my peers in the industry. People used to ask ‘why asp.net‘ and our only answer was, because this is what our engineers know. We had a good point and reason to start. We decided to go to Lamp and start it from somewhere at least, and since then, we actually never faced any issues. Scaling, initially, was a big problem, but just by moving from one platform to the other, we found that scaling became much easier. Our internal research shows that there is a 3X difference in resource utilisation from Windows to Linux.
In Linux, the more you optimise, the better the performance. That was the one thing that made us start our journey with Linux. Our engineering team, at that time, had absolutely no knowledge of Linux. We had to learn all that and that was a huge initial effort, which required a very big reason for us to go ahead. And that reason was performance.
Once we started learning it, we found that control was another reason that kept us going. The third phase which came was automation. Automation tools like Puppet helped us decide that this is the way to go. At the same time, the variety of programming languages that we had and
options in data bases, attracted us a lot.
Q. When you proposed open source technology to your board, were there any inhibitions?
No. In fact, our company is very cool in that sense. Our founders give us the freedom of doing whatever we want. As far as there are no hurdles and the business is progressing, they don’t have any issues. As a tech team, we have to just make sure that whatever decisions we take, do not backfire on the business. This kind of freedom helps us experiment with such kind of tech stuff. We experiment a lot with newer technologies and adopt them very fast.
Q. Do you or any of your team mates contribute to open source technologies?
Not yet. We still are catching up with our business requirements.
Q. What are the newer areas where you see yourself exploring open source technologies for your business?
There are a lot of things in Big Data that involve open source technologies, which are not enterprise friendly. So, there are companies coming up and making open source technologies enterprise friendly. They are branding them and making them easy to use. It is good, but I think we are missing on packaging of open source technologies from the community. This is something that needs to be improved upon. The packaging needs to be done well, for making it more enterprise-friendly.