1. Startup

Kiat CTO Memilih dan Merencanakan Server untuk Layanannya

Natali Ardianto menceritakan strategi apa saja yang dilakukan untuk membuat Tiket.com memiliki performa dan skalabilitas tinggi

Teknologi bagi startup digital bisa dianalogikan sebagai fondasi pada sebuah bangunan. Fondasi berperan besar dalam membuat bangunan terebut berdiri kokoh. Demikian pula teknologi (tentu bentuknya beragam) dalam menumbuhkan bisnis startup. Sebut saja bagi startup yang memberikan pelayanan melalui sebuah website atau aplikasi, maka sistem server di baliknya – selain aplikasinya itu sendiri – harus memiliki kekuatan yang mumpuni dalam memberikan dukungan.

Hal ini juga berlaku untuk layanan yang memiliki intensitas penggunaan yang tinggi, seperti Tiket.com sebagai salah satu pemimpin bisnis Online Travel Agency (OTA) di Indonesia. Dalam sebuah kesempatan wawancara, Co-Founder dan CTO Tiket.com Natali Ardianto memberikan beberapa tips terkait dengan perencanaan sistem server dan tindakan yang perlu dilakukan dalam disaster recovery. Layanan online Tiket.com sangat bergantung dengan keandalan server dalam menyuguhkan performa kepada pelanggan.

Pertimbangan startup dalam memilih server untuk layanannya

Menurut Natali, berdasarkan pengalamannya dalam mengelola teknologi sejenis, prioritas utama dalam memilih layanan hosting atau server adalah besaran pipa bandwidth. Kemudian pertimbangan yang kedua adalah kemudahan dalam scaling server. Dan yang ketiga baru tentang spesifikasi server. Pipa bandwidth menjadi unsur terpenting, karena bandwidth akan berujung pada kecepatan akses oleh pengguna.

Mengapa bukan kemampuan scaling server dulu? Natali mengatakan jika pun sistem dapat melakukan scaling dengan sangat cepat, namun jika pipa bandwidth yang disediakan kecil pengguna tidak dapat melakukan scaling trafik secara cepat. Dan Natali mengatakan bahwa tidak mudah dan murah untuk melakukan scaling network.

"Scaling server sangat tergantung pada kemampuan hosting dalam mengelola skalabilitas sistemnya, entah itu virtualisasi atau SOP (Standard Operating Procedure) yang sangat bagus ketika ada demand server yang tiba-tiba banyak. Sedangkan spesifikasi server sangat mudah diputuskan, karena spesifikasi saat ini cukup homogen, tidak terlalu banyak variannya. Prosesor Intel, memory DDR4, harddisk drive SSD. Simple."

Lalu ketika berbicara tentang startup umumnya dimulai dari kapabilitas sistem yang kecil, namun di tengah proses kadang lonjakan terjadi begitu saja dengan sangat tinggi. Kadang sistem tidak siap untuk menghadapi, akibatnya sistem mengalami down. Kemungkinan paling buruk justru membuat pengguna kecewa, sehingga traksi justru tidak meningkat tajam.

Sebagai langkah antisipasi, menurut Natali, sebuah startup teknologi memang perlu melakukan perencanaan sejak awal, tidak bisa hanya menganggap penggunaan teknologi cloud akan otomatis scaling dengan sendirinya. Ia menceritakan ketika Tiket.com masih di usia yang sangat dini beroperasi.

"Ketika usia Tiket.com baru live selama 6 bulan, kami sempat mengalami spike yang tinggi ketika ada penjualan konser Big Bang, di mana 6.000 tiket konser terjual dalam 10 menit. Ketika itu webserver yang aktif hanya tiga, namun dikarenakan sudah direncanakan sejak awal, dalam waktu kurang dari 5 menit, saya bisa menambah 10 webserver secara instan hanya dengan menggunakan iPad."

Nyatanya perencanaan ini juga akan menjadi salah satu faktor penentu dalam pemilihan stack teknologi yang akan digunakan dari layanan tertentu. Contohnya pengalaman tersebut kini membawa Tiket.com mampu melakukan skalabilitas sistem dengan baik. Bahkan dikatakan Natali ketika ada 40.000 concurrent user yang mengunjungi situs, seperti ketika penjualan tiket kereta lebaran, tidak terjadi isu dalam sistem karena sudah memanfaatkan teknologi auto-scaling dari provider yang saat ini digunakan Tiket.com.

Perdebatan “klise” yang masih sering terjadi, antara memilih layanan lokal atau internasional

"Jujur untuk saat ini saya memilih provider internasional. Di awal pengembangan Tiket.com, saya pernah meletakkan server di Jakarta. Ketika terjadi DDoS Attack yang massive sebesar 1,1 Gbps selama satu bulan, hosting provider lokal kesulitan untuk mengantisipasi load bandwidth yang besar ini, bahkan akses internasional mereka menjadi mampet karena serangan tersebut. Alhasil ujung-ujungnya situs Tiket.com yang diblokir, agar attacker berhenti."

Setelah dipindahkan ke provider internasional, permasalahan bandwidth tersebut terselesaikan. Bahkan sempat terjadi serangan DDoS sebesar 3,3 Gbps di tahun 2015, namun dapat ditangani tanpa service disruption di layanan Tiket.com.

"Sebagai gambaran, saat ini saya memiliki server di Jakarta, dengan bandwidth dedicated rasio 1:1 2 Mbps, biayanya Rp 4 juta tiap bulannya. Di Singapura, server saya diberi bandwidth 100 Mbps gratis. Jika di-upgrade menjadi 1 Gbps, cukup menambah biaya kurang lebih Rp 260 ribu tiap bulannya. Bedanya jauh sekali bukan."

Dan yang lebih ironis bagi Natali, hop count dari Jakarta-Singapura bisa lebih sedikit ketimbang Jakarta-Jakarta. Terjadi mismanage yang cukup kritis di routing network Indonesia saat ini.

Konsep high availability dan scalability sebagai strategi meningkatkan keandalan sistem

Hal ini terkait dengan strategi sebuah sistem online yang sudah mapan dan memiliki traksi pengguna yang tinggi untuk meminimalkan terjadinya down-time atau kegagalan sistem lainya. Perencanaan yang dilakukan oleh CTO Tiket.com ialah menggunakan konsep high availability dan scalability. High availability berarti selalu tersedia setiap saat. Caranya dengan memiliki jumlah lebih dari sepasang untuk masing-masing sistem. Load balancer sepasang, web server sepasang, database sepasang, cache system sepasang dan seterusnya.

Ketika salah satu server mati, masih ada server lainnya yang mengambil alih load server. Bahkan jika perlu, lokasi data center pun dipisah, sehingga jika terjadi disaster, entah itu power outtage, hardware malfunction atau bahkan bom nuklir, masih ada sistem lain di lokasi berbeda.

"Saya bahkan pernah diceritakan oleh teman provider hosting internasional, bahwa jarak antar dua data center dia sekian kilometer. Alasannya? Agar jika ada pesawat menghantam data center yang pertama, maka ledakannya tidak akan mengganggu data center yang kedua."

Scalability sendiri harus dilakukan oleh kita sendiri sebagai pengguna. Ketika mendesain sebuah sistem, harus bisa distributed, dikarenakan dari server bisa berbeda-beda. Namun walau pun berbeda-beda lokasi, namun datanya sama persis satu dengan yang lainnya. Scalability ini yang paling rumit dan kompleks, umumnya kita belajar berdasarkan pengalaman.

Untuk melakukan duplikasi sistem tersebut kadang terkendala dengan perhitungan investasi dalam bisnis. Seringkali mendengar cerita, bahwa tim teknologi kadang kesulitan meyakinkan kepada CEO (terutama yang memiliki latar belakang non-teknis) untuk mau membayar lebih pada kebutuhan tersebut. Nyatanya ketika tidak terjadi kegagalan sistem, penambahan jumlah server atau pengutusan staf khusus untuk mengelola backup terlihat seperti buang-buang energi dan sumber daya. Tidak terjadi di semua bisnis, namun tak sedikit yang menghadapi.

"Jujur saja, saya juga dulu pernah melaluinya juga, selama dua tahun servernya hanya satu. Waktu itu jumlah server baru ditambahkan ketika saya laporkan ke investor tentang kondisi saya."

Solusi yang bisa dilakukan berdasarkan pengalaman Natali menghadapi situasi yang sama adalah dengan meminta rekan yang lebih dipandang dan dikenal pula oleh CEO untuk membantu mengingatkan risiko yang sedang dihadapi. Mungkin juga diberikan artikel-artikel terkait mengenai sistem yang down karena tidak scaling.

Cita-cita memiliki data center sendiri untuk startup

CTO Tiket.com mengatakan bahwa pihaknya sama sekali tidak berencana membangun data center sendiri. Ia cukup puas memanfaatkan teknologi cloud computing. Harga lebih murah, pengelolaan mudah, karena hanya mengurus software di masing-masing server, tidak perlu terlalu pusing dengan urusan networking, redundancy network dan lain sebagainya. Dengan pertumbuhan teknologi yang sangat pesat, sistem menjadi semakin kompleks. Jangan sampai kita turut disibukkan dengan hardware yang failing, memory yang corrupt, harddisk yang rusak.

Bayangkan jika kita memiliki server sendiri, dan storage disk-nya rusak, kita harus sudah punya stock untuk mengganti hardware yang lama. Belum lagi kalau kita hendak meng-upgrade server.

"Saya dulu pernah memiliki server fisik sendiri, dan ketika saya hendak meng-upgrade jumlah prosesor saya, ternyata heat sink server tersebut bentuknya khusus dan hanya tersedia di Singapura. Alhasil saya memesan heat sink tersebut ke Singapura, bermasalah di bea cukai karena dianggap barang mewah, dan baru sampai di tangan saya dua bulan kemudian. Bayangkan, hanya untuk upgrade prosesor butuh dua bulan."

Natali pun turut menegaskan bahwa teknologi cloud itu bukan hanya virtualisasi saja.

"Saya sendiri memanfaatkan teknologi baremetal cloud. Artinya, server saya fisik, tanpa virtualisasi. Namun yang cloud adalah network-nya, dan juga pricing-nya yang diukur per jam maupun per bulan. Bahkan ketika saya matikan server tahun lalu, dan saya memesan server baru, dengan spesifikasi yang lebih tinggi, saya bisa mendapatkan harga yang sama. Kenapa bisa demikian? Karena adanya Moore's Law. Kemampuan prosesor naik 2 kali lipat tiap 2 tahun."
Application Information Will Show Up Here
Are you sure to continue this transaction?
Yes
No
processing your transaction....
Transaction Failed
Try Again

Sign up for our
newsletter

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