Tag Archives: scalable

Arsitektur Aplikasi Startup Digital

TipTech #2: Membangun Arsitektur Aplikasi “Scalable” ala Tim Pengembang Ovo

TipTech adalah rubrik baru DailySocial yang membahas berbagai kiat dalam pengembangan produk atau aplikasi startup. Setelah sebelumnya membahas tentang siklus pengembangan produk, kali ini kami berkesempatan untuk berbincang dengan Chief Product Officer Ovo Albert Lucius tentang arsitektur aplikasi yang scalable.

Tujuan dari pengembangan aplikasi yang scalable adalah menunjang pertumbuhan bisnis berkelanjutan. Ketika pengguna layanan semakin bertambah –kadang lonjakannya bisa sangat signifikan—harapannya produk tidak turun performa, misalnya aksesnya jadi lambat atau bahkan mati. Untuk itu diperlukan perencanaan arsitektur sistem yang matang.

Sejak debut pada tahun 2017 sebagai platform loyalty, lalu bertransformasi menjadi e-wallet, hingga sekarang punya basis pengguna mencapai lebih dari 100 juta pengguna; Ovo punya cerita menarik dari dapur pengembang. Saat ini layanan Ovo juga sudah terintegrasi ke banyak platform lain yang memiliki arus transaksi besar –sebut saja Tokopedia dan Grab.

Kepada Albert kami menanyakan tentang bagaimana arsitektur sistem yang baik untuk sebuah aplikasi mobile.

“Menurut kami, dengan cepatnya pertumbuhan secara umum, sangat penting aplikasi bersifat modular dan menggunakan sistem feature flag. Karena akan  banyak komponen aplikasi yang dibuat oleh berbagai tim. Jika sistemnya bersifat monolith, maka akan memperlambat laju pengembangan.”

Dengan pendekatan modular, di dalam sebuah aplikasi terdapat kumpulan unit fungsional (disebut: modul) yang dapat diintegrasikan untuk menjadi aplikasi yang lebih besar. Modul aplikasi tersebut dapat dianalogikan sebagai aplikasi kecil di dalam aplikasi yang dapat diambil, dipasang, atau dikonfigurasi kembali ke aplikasi lain. Modul-modul tersebut terbungkus dalam logika bisnis program yang direpresentasikan dalam antarmuka pengguna.

Sementara konsep feature flag penting diterapkan, sehingga memungkinkan pengembang membatasi/menonaktifkan beberapa fitur saat terjadi masalah, tanpa mematikan fungsi aplikasi secara keseluruhan.

Albert Lucius
Chief Product Officer Ovo Albert Lucius / Ovo

Kiat integrasi aplikasi

Selain mempertimbangkan dua hal di atas, Albert juga menyampaikan tentang konsiderasi pembagian aplikasi native dan webview untuk menjaga performa aplikasi.  Hal tersebut akan berdampak pada ukuran APK dari tiap aplikasi. Menurutnya ini jadi faktor penting, terlebih saat startup terus beranjak mencapai skala yang lebih besar.

Aplikasi native dibangun dengan bahasa pemrograman tertentu yang menyatu dengan core aplikasi. Sementara aplikasi webview memanfaatkan fungsionalitas penampil laman web di dalam aplikasi tanpa harus memaksa pengguna membuka browser terpisah.

Di lain sisi, integrasi dengan pihak ketiga juga menjadi hal yang butuh diperhitungkan secara teknis untuk aplikasi seperti Ovo. Albert menyebutkan, keamanan pengguna menjadi prioritas utama bagi perusahaan ketika melakukan integrasi. Selain proses internal dan disiplin terhadap SOP, ia selalu menyarankan untuk melakukan penetration testing (pen-testing) eksternal. Banyak sekali saat ini vendor lokal maupun luar negeri yang dapat membantu proses ini.

Pen-testing adalah kegiatan menyimulasikan serangan terhadap sistem aplikasi. Ini jadi komponen penting dalam audit keamanan, biasanya wajib dilakukan untuk aplikasi yang menampung data sensitif, agar tidak mudah dibobol atau diintervensi oleh pihak yang tidak bertanggungjawab –baik dari internal maupun eksternal.

pen-testing
Tahapan dalam pen-testing / Imperva

“Program bug bounty juga dapat membantu menyalurkan laporan bugs yang mungkin tidak terdeteksi oleh proses internal. Peningkatan kualitas layanan dan sistem keamanan (di sisi aplikasi kita) juga jadi faktor penting untuk kenyamanan pengguna,” terang Albert.

Pengelolaan sumber daya

Infrastruktur teknologi yang baik juga harus ditangani oleh SDM yang mumpuni untuk menghasilkan performa terbaik. Untuk mengelola pekerjaannya, juga diperlukan metodologi yang tepat. Namun menurut Albert, di perusahaannya tidak terpaku pada tren yang sedang menjadi sorotan, kesesuaian dengan karakteristik tim menjadi pertimbangan utama.

“Sangat penting untuk kami dalam merekrut tim yang betul-betul paham scaling infrastruktur secara baik dan benar.”

Setiap pengembang juga dituntut untuk menghasilkan baris konde yang berkualitas. Menurutnya ada tiga indikator yang dapat menggambarkan susunan pemrograman yang efisien, yakni sistem repositori yang memadai, konsep best coding practice, dan code reveiw yang solid. Best coding practice menjadi aturan informal yang harus sering diutarakan melalui sebuah standar yang diterapkan di perusahaan, dilengkapi dengan pelatihan yang memadai.

“Sistem code review juga sangat penting karena sedikit banyak SDM mudah membuat kesalahan. Oleh karena itu untuk startup yang sedang berkembang, jangan lupa untuk melakukan automated testing dan unit testing. Hal ini dikarenakan semakin membesarnya skala startup, semakin banyak developer yang bekerja di code repository kita, semakin banyak kesalahan dapat terjadi. Automated testing akan sangat membantu mengurangi human-error yang dapat terjadi,” jelas Albert.

Application Information Will Show Up Here

Menentukan Skalabilitas Startup

Saat ini mungkin Anda sedang merencanakan untuk melancarkan skalabilitas bisnis startup, dengan alasan yang beragam dan tentunya untuk kemajuan dari startup itu sendiri. Skalabilitas menjadi langkah yang idealnya wajib dilakukan oleh sebuah startup untuk bisa mendapatkan profit dan valuasi yang besar jumlahnya, namun demikian menurut artikel yang ditulis di blog pribadi Jon Westenberg, tidak semua startup harus memaksakan proses skalabilitas untuk startup mereka.

Ketika beberapa startup atau perusahaan teknologi lainnya telah berhasil melalui skalabilitas dengan cara tertentu, belum tentu proses tersebut ideal dan sesuai untuk bisnis Anda. Masih banyak proses dan aspek lain yang bisa dicermati untuk kemajuan dari startup Anda, seperti yang diungkapkan oleh Jon Westenberg,

“Memang benar saat ini kebanyakan dari venture capital enggan untuk berinvestasi kepada startup yang tidak memiliki ruang untuk proses skalabilitas, namun asumsi ini masih diperdebatkan kebenarannya, semua pilihan kembali lagi kepada Anda pemilik startup untuk menentukan pilihan yang tepat.”

Sebelum Anda memutuskan untuk mendirikan sebuah startup coba perhatikan 3 poin penting berikut:

1.Apakah startup akan menghasilkan uang?
2.Apakah startup yang didirikan bisa memberikan Anda kebanggaan?
3.Apakah Anda menikmati bekerja di startup?

Kesimpulan dari 3 poin di atas adalah, sejauh mana bisnis yang Anda jalankan bisa menghasilkan, seberapa besar aset yang Anda miliki bisa memberikan rasa bangga dan prestise untuk Anda sebagai seorang Founder dan tentunya Anda harus menikmati semua proses, pekerjaan serta rencana yang akan diwujudkan di startup milik Anda.

Bisnis yang tepat adalah bisnis yang ingin Anda ciptakan

Saat ini kebanyakan pemilik startup beranggapan untuk bisa mengembangkan startup proses skalabilitas harus bisa dilancarkan. Untuk bisa mewujudkan rencana tersebut berbagai cara pun dilakukan, mulai dari mempekerjakan tim dalam jumlah yang besar hingga membangun kantor yang dilengkapi dengan fasilitas  beragam dan teknologi paling canggih.

Namun demikian jika saat ini Anda masih belum bisa mewujudkan semua hal tersebut, fokuslah kepada growth, pendapatan dan ketahanan dari bisnis yang Anda miliki. Skalabilitas tidak melulu menjadi target utama Anda untuk mengembangkan bisnis.

“Membangun bisnis yang benar adalah bukan yang diinginkan oleh semua orang namun yang Anda (Founder) inginkan, bisnis yang bisa Anda lihat perkembangannya dalam waktu 10 hingga 15 tahun kedepan, bisnis yang Anda impikan dan memiliki masa depan dan potensi yang cerah dalam jangka panjang.”

Datacenter Scalable Solutions Diperkenalkan Dalam Dell User Forum 2015

Pada bulan Maret 2007, Data Center Solutions dirilis Dell buat menjawab permintaan perusahaan-perusahaan spesialis web dan jejaring sosial terbesar di dunia. Pasar sudah banyak berubah sejak DCS diperkenalkan. Kini konsumen dari telekomunikasi, perminyakan, hingga organisasi riset menuntut produk serupa, tapi tanpa fitur-fitur yang terlalu terspesialisasi. Continue reading Datacenter Scalable Solutions Diperkenalkan Dalam Dell User Forum 2015