Catatan Editorial: Artikel ini adalah bagian kedua guest post yang ditulis oleh Dondy Bappedyanto, bekerja pada salah satu penyedia jasa komputasi awan di Indonesia, PT Infinys System Indonesia dengan merek dagang InfinysCloud dan CloudKilat. Tulisan bagian pertama bisa ditengok di tautan ini.
Jadi, bagaimana cara menyiasatinya? Apakah sebuah startup digital harus jor-joran di sisi teknologi dari awal, walaupun pada saat pertama kali go live masih memiliki sedikit pengunjung? Tidak juga dan tidak harus. Memakai aplikasi open source atau berbayar bukanlah suatu dosa bagi sebuah startup. Tentu saja apabila memakai aplikasi yang dibangun sendiri akan lebih afdol, tetapi urusan scaling tadi tidak akan selesai dengan perdebatan memakai aplikasi buatan sendiri atau aplikasi siap pakai, baik itu open source atau yang berbayar. Faktor yang terpenting adalah founder atau CTO (yang kadang-kadang merangkap founder) mengerti batasan dan kelebihan dari aplikasi serta teknologi yang digunakan.
Bagi sebuah startup digital, jangan pernah menganggap aplikasi atau teknologi itu adalah sebuah beban biaya karena hal tersebut sejatinya merupakan investasi yang harus diperlakukan sama dengan bisnis inti. Kalau boleh diibaratkan, layanan/produk merupakan penumpang, sementara teknologi merupakan kendaraan. Penumpang mungkin akan bisa sampai ke tujuan tanpa kendaraan, tapi akan membutuhkan waktu yang lama. Pun dengan kendaraan yang asal-asalan, bukannya sampai ke tujuan tetapi malah terhambat di tengah jalan.
Dengan ilustrasi sebuah startup dengan layanan e-commerce, sebelum melakukan scaling kenali terlebih dahulu aplikasinya. Apakah menggunakan kerangka atau bahasa pemrograman yang banyak dipakai. Hal ini penting karena menyangkut biaya bulanan yang harus dibayarkan. Aplikasi dengan bahasa dan kerangka pemrograman PHP misalnya, akan lebih murah dari sisi operasional di awal karena terdapat banyak penyedia layanan shared hosting yang mendukung PHP ketimbang dengan aplikasi yang menggunakan bahasa dan kerangka pemrograman berbasis NodeJS, Python atau Ruby yang memerlukan VPS atau Cloud Server.
Berikutnya kenali pula sistem database aplikasi tersebut, apakah menggunakan MySQL, PostgreSQL atau malah varian dari NoSQL. Apabila menggunakan shared hosting, apakah penyedia layanan mendukung database yang digunakan tersebut? Idealnya aplikasi dan database berada di server yang berbeda. Kecuali memakai layanan VPS atau Cloud Server, tidak banyak penyedia layanan shared hosting yang mendukung pemisahan antara web server dan database server.
Keuntungan dari pemisahan ini, selain aplikasi dan database tidak perlu lagi berebut resource pada server yang sama, scaling juga menjadi lebih mudah. Web Server dapat diduplikasi kemudian dipasang Load Balancer di depannya. Database Server juga dapat diduplikasi dengan model cluster atau sharding tergantung dari tipe dan merek database yang digunakan. Tentu saja duplikasi ini dengan asumsi aplikasi sudah berada pada server di mana startup tersebut mempunyai kontrol misalnya VPS, Cloud Server atau Dedicated Server, bukan pada shared hosting. Ada shared hosting yang mendukung scaling seperti ini tapi dengan harga yang lumayan mahal.
Ilustrasi di atas merupakan generalisasi dan penyederhanaan skenario yang sering dialami oleh para startup. Untuk berbagai startup dengan berbagai produk atau layanan serta model bisnis yang ada, tentu saja kasusnya akan berbeda-beda. Peranan CTO (atau founder yang merangkap CTO) di sini penting sekali untuk memilih teknologi beserta strategi perkembangannya. Pemilihannya harus mendukung pertumbuhan startup tersebut sesuai dengan pertumbuhan jumlah pengguna atau besarnya bisnis. Jangan sampai terhambat di tengah jalan karena salah memilih atau meremehkan teknologi yang sedang atau akan digunakan.
Dondy Bappedyanto, bekerja pada salah satu penyedia jasa Komputasi Awan di Indonesia, PT Infinys System Indonesia dengan merek dagang InfinysCloud dan CloudKilat. Dondy juga aktif menjadi narasumber ahli dan pembicara di banyak acara IT seputar komputasi awan.
[Ilustrasi foto: Shutterstock]