Grab on Red Hat’s Ansible Tower – Ride Sharing Meets Automation
Finding taxis has been a thing of the past for a while now. The whole issue that was taxi vs ride sharing seemed like a distant past that plenty can hardly remember now. At this time too we can see a clear distinction in the market share between the two competing ride sharing apps in Malaysia – Grab vs UBER. Grab seems to be the clear choice of Malaysians at this point of time, mostly because we support locally made products (macam yes).
The homegrown household name humbly started as a solution to taxi hailing from random locations. It was designed to call taxis to wherever your location is without actually calling them and struggle through trying to describe your location to them (imagine that the place is actually foreign to you, and you do not recognise the place at all). It was called GrabTaxi and it took off very quickly.
A little later UBER made its way to Malaysia. It started to slowly pick up pace as the only ride sharing service in Malaysia. A little later Grab saw the opportunity to dive into ride sharing and took it. Fast forward to 2018 – Grab is now the most popular ride sharing app in not just Malaysia but the entire South East Asia (GoJek only currently serves the Indonesian market with no clear plans on region expansion just yet).
The millennial boom though was a little bit of a shock. No one knew or expected growth numbers that Grab sees. The amount of users grew exponentially which makes it a problem for Grab and its back-end handlers. There is now too much traffic on the app; they are now struggling to keep up with bug fixes, updates, and fulfilling individual requests from riders.
This is where Red Hat comes in with the Ansible Tower. We published a feature on Red Hat and the Ansible Tower, here. As per the interview the Ansible Tower is described as an automation platform. In most cases the Ansible automation platform is programmed to automate mundane repetitive processes and to perform simple software based tasks for daily operations. It was designed to make sense of simple daily processes and allow programmers and operators to focus on other parts of the programs that would give actual value to end consumers.
For a rapidly growing ride sharing platform like Grab the Ansible Tower implementation makes plenty of sense. Keeping up with over 60 million users is not easy. That 60 million users are all scattered across 142 cities in South East Asia. That sort of spread also means that there are differing demands, and requirements based on culture and language. Then there is the problem of payment. Grab is currently the largest mobile payment platform in South East Asia which also means that there are plenty of currencies they have to sift through. The amount of unique data from consumers too are complex to handle.
With Red Hat’s Ansible Automation program Grab is able to increase its app’s uptime to 99.99%. The Ansible Tower implementation eliminates Grab’s need to rapidly expand or double the size of their IT department that would also mean increasing the complexity of their IT department. That complexity not only increases costs, it will increase downtimes as well due to the manual nature of the deployment programming. That lack of reliability in turn will drive customers away.
So how did they do it?
The key here is automation. Red Hat’s Ansible Tower is, after all an automation platform. Just like any of Red Hat’s solution offerings, the Ansible Tower platform is also open sourced. What the platform does for Grab is simplifying plenty of its IT support programs. The Ansible Tower’s integration with AWS, Grab’s cloud service provider also makes things all the more simple. Plenty of the simple IT tasks are now automated. Even configuration management is handled by Ansible. In short, the simplifications and automation from Ansible Tower directly contributes to the increased uptime.
As demands grow bigger, teams would need to be expanded as well. With Ansible Tower though Grab eliminates that need. The implementation allows engineers and programmers in Grab to schedule and deploy multiple changes to the software and programming daily, without delays and lead times.
Rather than waiting for approvals from the higher management, deployments can be done in an instant but be reviewed later. With Ansible Tower as well the deployments can be taken down without creating a downtime for the app and service; reducing reliability risks. The automation with Ansible’s Playbooks also free up engineers and programmers for more critical and significant tasks rather than spending precious time waiting, and correcting whatever proposed deployments there are.
Minimal Downtime Means Reliability
Before Ansible Tower’s implementation with Grab they had an 87% uptime. Sounds acceptable? Well, for the most part it was doing fine. The problem is that the app is being used all the time though. Complains were coming in as users could not access the app in dire times. That is the beginning of a mob public uproar.
To contain the issue obviously they had to do something. They did with Ansible Tower. By automating plenty of the common processes they eliminate one huge problem caused by manually updating and deploying systems – human error.
With Ansible Tower Grab actually is able to avoid 40% of their previous downtime and increase their aggregate uptime to 99.99%. That improvement proved to be crucial in increasing customer satisfaction and base.
Remember when Windows was just a line of codes and commands? Nope? Us too. The reason why Operating Systems like Windows and Mac picked up and left everybody else in their dusts is their successful implementation of the Graphical User Interface. The GUI made sense of their systems in a bunch of pictures and icons. Obviously that calls for greater adoption because it was simpler than codes and commands.
Red Hat Ansible Tower uses exactly that; GUI. The GUI easily allows both management and the I.T. department a deeper understanding of the system and software. Ansible Tower also presents informative graphs and updates on each deployment for easy management. It allows for even the untrained to assess progress of each deployment quickly or audit them as needed.
The task that Red Hat took up for Grab sounded like a simple one when you see the end result. The execution was elegant and simple, as if it was something that anyone could come up with. Of course, automation is the sensible way to go – simple tasks and deployments should be automated for better efficiency and reliability. It sounded as simple as that.
However the job is a little more complex than that. The application had to be done with regards to Amazon Web Services (AWS), the current cloud provider for Grab. They have to implement and deploy the Ansible Tower also while minimising downtime for Grab; zero downtime if possible. That, for 60 million users in all over South East Asia is no small undertaking. It was a herculean task.
How long did it take Red Hat to complete a solution you ask? Two months. Of course with AWS integrated support built into the Ansible Tower ecosystem it made the transition from manual operation to Ansible’s automation platform all the more simple. But more than that, this is a testament to the power of open source tools. You do not just get one team working on your project; everyone is involved, regardless or not they are part of that I.T. team. It’s teamwork, and community; and that is the story of how Grab maintains its reign as South East Asia’s largest and best ride sharing/ride hailing platform.
Source: Red Hat Malaysia