Past & Present Deployment at Tokopedia
In the early years, William Tanuwijaya and Leontinus Alpha used only a single folder to deliver every features or bug fixing file. But after 9 engineers joined in, Tokopedia started to use a GitLab technologies. Wibi and Louis were in-charge for this. Both of them were not satisfied with GitLab’s performance. Wibi used to take care of the developers complaints about release queue, slow load and other tiny errors. For example, once a developer wanted to change a single comma but he already sent the request to Wibi. And the queue to production was delayed because of this tiny error. This kind of things became a major concern because both Wibi and Louis have to handle 50 merge requests every day. This activity took almost 4 hours/day of their time. So, Wibi came up with an idea to make a bot which can manage and take care of all these annoying tasks. Since then, SyncToped was born. There were still a couple of issues, but developers now can release and test their files before releasing it into production (www.tokopedia.com). Since then, Tokopedia deployment uses their own tools using SyncToped. Hats off to Rahadian Wibisono.
Future of Deployment at Tokopedia
Qasim Zaidi, our VP of Engineering then continued the points that were already delivered by Wibi and added a few more. He believed that predicting the future is a hard thing to do, but he also believed that the future is already here; it’s just not evenly distributed. He wanted to: Migrate into new code language.
Qasim mentioned that he wanted to migrate Tokopedia code language into Golang, Node.js and Python.
- Manage the infrastructure Network between Biznet (local) and Amazon Web Service (international)
- Change the expectation
Qasim wanted to make www.tokopedia.com site 100% reliable by introducing zero downtime system. It means that our production site (www.tokopedia.com) will never go down.
Improve the code quality into low risk, incremental, easy to revert, flexible and complete
- Low risk means zero broken code
- incremental and easy to revert means a backup if there’s something broken inside the production.
- Flexible means work for both Perl and Golang
- Complete means work both for code and infrastructure
At the end, Qasim closed the session with a good statement. He said that the only thing we know about the future is that it will be different.
There are some good moments too after the closing statement; a question from audience to Qasim. The question is about how Qasim handle the competition between the giants of internet (AliExpress, Ebay, and others) with Tokopedia. Qasim answered with a humble statement. He said that he just wants to make sure and focus on Tokopedia technology so there will be an improvement that give a good impact in terms of service that Tokopedia gives to the users in Indonesia.