1. Startups

TipTech #2: Build a "Scalable" Application Architecture a la Ovo Developer Team

Talk to Ovo Chief of Product Albert Lucius

TipTech is a new rubric DailySocial which discusses various tips in product development or startup applications. After previously discussing about product development cycle, this time we had the opportunity to talk with Ovo Chief Product Officer Albert Lucius about the application architecture that scalable.

The purpose of application development is scalable is to support sustainable business growth. As the number of service users increases – sometimes the spikes can be very significant – the expectation is that the product will not degrade in performance, for example, the access will be slow or even die. For this reason, careful planning of system architecture is required.

Since debuting in 2017 as platform loyalty, then transforms to e-wallet, until now has a user base of more than 100 million users; Ovo has an interesting story from the developer's kitchen. Currently, the Ovo service has also been integrated into many other platforms that have large transaction flows – namely Tokopedia and Grab.

We asked Albert about a good system architecture for an application mobile devices.

“In our opinion, the rapid pace of growth in general is very important application is modular and use system feature flags. Because there will be many application components made by various teams. If the system is monolith, it will slow down the rate of development.”

With a modular approach, within an application there is a collection of functional units (called: modules) that can be integrated into a larger application. The application module can analogous as small apps within apps that can be picked up, installed, or reconfigured into other apps. The modules are wrapped in the business logic of the program which is represented in the user interface.

While the concept feature flags important to implement, thus allowing developers to limit/disable some features when a problem occurs, without shutting down the functionality of the app as a whole.

Ovo Chief Product Officer Albert Lucius / Ovo

App integration tips

In addition to considering the two things above, Albert also conveyed the considerations for sharing applications native and webviews to maintain application performance. This will have an impact on the APK size of each app. According to him, this is an important factor, especially when the startup continues to reach a larger scale.

Application native built with a specific programming language that integrates with core application. Temporary application webviews take advantage of the webpage viewer functionality within the app without having to force the user to open browser separated.

On the other hand, integration with third parties is also something that needs to be taken into account technically for applications like Ovo. Albert said that user security is a top priority for companies when integrating. In addition to internal processes and discipline to SOPs, he always recommends doing penetration testing (pen testing) external. There are currently many local and foreign vendors who can help with this process.

Pen-testing is the activity of simulating an attack on the application system. This is an important component in security audits, usually mandatory for applications that contain sensitive data, so that they are not easily compromised or intervened by irresponsible parties – both internal and external.

Stages in pen-testing / Imperva

"Time schedule bug bounty can also help distribute reports bugs which may not be detected by internal processes. Improving the quality of service and security systems (on the side of our application) is also an important factor for user convenience," explained Albert.

Resource management

More Coverage:

A good technology infrastructure must also be handled by qualified human resources to produce the best performance. To manage the work, the right methodology is also needed. However, according to Albert, his company is not fixated on trends that are in the spotlight, suitability with the characteristics of the team is the main consideration.

"It's very important for us to sign a team that really understands scaling infrastructure properly and correctly."

Every developer is also required to produce quality code lines. According to him, there are three indicators that can describe an efficient programming structure, namely an adequate repository system, the concept of best coding practicesand code review solid. Best coding practices become informal rules that must often be expressed through a standard applied in the company, equipped with adequate training.

"System code reviews also very important because more or less HR is easy to make mistakes. Therefore, for startups that are developing, don't forget to do automated testing and unit tests. This is because the larger the scale of the startup, the more developers working in it repository code us, the more mistakes can happen. automated testing will really help reduce human error that can happen," explains Albert.

Application Information Will Show Up Here
Are you sure to continue this transaction?
Yes
No
processing your transactions....
Transaction Failed
try Again

Sign up for our
newsletter

Subscribe Newsletter
Are you sure to continue this transaction?
Yes
No
processing your transactions....
Transaction Failed
try Again