#19 Membuat web berskala besar bersama Wenas Agusetiawan – transkrip

Posted: October 4th, 2009 | 2,599 Comments »

ingin kontribusi membantu teman macet? ketik bagian podcast yang kamu suka di post ini ala WIKI dengan login di facebook connect disamping kanan dan klik edit this. Dengan membantu teman macet, kamu ikut berpartisipasi dalam membuat konten ini lebih mudah diakses untuk orang-orang yang tidak bisa mengkonsumsi audio

RW: Wenas mungkin tidak asing lagi di kuping para netters Indonesia. Wenas dulunya adalah salah satu hacker atau cracker ternama yang ikut membentuk landscape net di awal tahun 2000. Saya skarang bersama Wenas Agusetiawan, sosok di balik Lintasberita.com dan juga katanya mo masuk ke tim kaskus.com

WA: Okay, soalnya jadi kaskus itu ada masalah dengan back end nya kan sekarang

RW: Oh gitu.

WA: Databasenya mereka sering down, terutama orang orang yang berjualan di FJB (forum jual beli)-nya saya sangat kasian sekali. Mereka bermasalah sekali dengan databasenya. Databasenya mereka selalu down itu gitu. Akibatnya dari VBuletin.jadi harus diubah itu.

RW: Jadi kaskus itu sekarang statenya kayak apa si? Soalnya dulu kan dia forum yang sangat besar banget yah, kayanya semua orang pasti tau kakus lah, terus sempet pergantian nama domain dari kaskus.com ke kaskus.us dan kayanya aku personally udah ga pernah ngecek kaskus lagi. Sekarang state nya masih sama yah, by the end of the day masih forum dan focus ke banyak hal yah, general yah, kaya komputer dan ngobrol ngobrol biasa dan sebagainya yah?

WA: Betul skali, kayanya itu mereka emang punya ambisi yang sangat besar contohnya berhubung, sebenernya traffic mereka bertambah setiap harinya. Bertambah besar setiap harinya. Cuman kendala mereka lama lama yaitu back endnya mereka yang menggunakan VB itu yang merupakan software kan ga kuat jadinya harus membikin satu framework sendiri dimana itu akan memecahakan persoalan yang sekarang ini. Soalnya sekarang ini mungkin database mereka bakal menjadi tied box. Sampai suatu saat data base kaskus yang bertambah setiap harinya, bertambah giga itu kan bakalan menjadi pasaran juga di kemudian hari. Nah saya mau memecahkan masalah itu dengan beberapa technology yang akan saya gunakan gitu.

RW: Mau coba share sedikit Wenas?

WA: Mereka kan setiap kali ada posting atau setiap ada enquiry mereka kan bakal meng equiry database yah, tapi tetep ajah mereka ga bakalan kuat untuk menghendel kaskus. Jadi dengan cara yang terbaik adalah pertama itu kan kalau VB database partision itu kan ga bisa yah, istilahnya kalau indexsi misalnya table ini dipisah dengan table yang lain, kan itu VB itu ga bisa yah, jadi memisahkan table tablenya itu di beberapa mesin yah. Jadinya pertama methodnya sih gampang, terus di bagian memory nya saya mau menggunakan technology yang mestinya sudah lama ga catching yah, tapi juga menggunakan yang keuntungan buat memory soalnya memory itu sebenernya sangat cepat sekali untuk dibaca seperti flash disk kan. Flash disk itu kan kenceng skali kan, bahkan lebih kenceng dari hard disk  Ya itu yang akan saya sangat menfaatin.

RW: Jadi sepertinya kedengerannya kaskus bottle heck nya ada di database yah dan karena menggunakan vBulletin itu, databasenya ga bisa di scale out lagi jadi lo pengen bilang bahwa kayanya cara yang paling gampang buat benerin ini adalah bikin suatu custom solution sendiri dimana lo punya full control sama database nya dan lo rencana mau dipecah secara vertical, beda table dan dibeda mesin dan ngegunain caching yang sangat agresif juga, kedengeran gitu yah.

WA: Ini yang menbuat tantangan adalah kaskus itu kan rush update yah, setip saat user bakal reply, membaca, dan juga menulis kan. juga membuat advertising buat kaskus. Software advertising ini juga saya liat satu detiknya kaskus menghandle 60ribu hit per second

RW: Gila banget, infrastucture di blakangnya kaya apaan Nas?

WA: Saya kmaren sempat ke data center mereka, mereka kan punya satu dibisnet kan, ada buka kaskus,us, itu kan mereka berdasarkan coneksinya bisnet yah. Nah itu didalamnya mereka kalau ga salah ada 15 mesin, mungkin kalau ga salah database mereka cuman ada 1, web server mereka ada 5. Nah itu saya liat dari permasalahan utama itu ga tau memo yang dibutuhkan berapa soalnya banyak sekali modu modu di vBulletin yang sangat tidak berfungsi, sangat tidak digunakan soalnya itu bukan custom software sendiri kan. Nah itu juga bisa di trim untuk menjadi solusi problem ini.

RW: Terus nanti lo rencananya untuk framework yang baru ini bakal di built pake flatform apa? vBulletion itu php kan yah?

WA: Ini php tapi saya juga menggunakan python atau C++, saya masih mikir. Tapi jadi saya mau membikin phython atau C++ untuk caching nya saya mau membuat sendiri jadi technologynya bakal di focuskan untuk kaskus saja gitu.

RW: oh wow, keren sekali. Ini bakal ada challenge yang besar mungkin di hal migration kali yah karena kaskus dengan 60ribu request per detik tentunya mereka ga bisa afford buat ada down time sama skali kan. Udah mulai mikir strategy gimana buat transisi pelan pelan dari sisi vBulletin untuk pindah ke framework yang baru ini atau mungkin malah nanti bakal langsung pindah?

WA: Saya mau mencoba dimana section yang paling sibuk yaitu launch. Saya akan nge test itu software disana. Jadi saya pengen tau kemampuan software saya sejauh apa, jadi di uji cuman 1 section itu ajah. Sekarang ini yang saya rencanakan itu yah, itu ga bakal memakan database sama sekali, bahkan saya sudah meng test kemampuan punya saya memory caching itu. Kenapa kaskus mau menggunakan saya karena sudah ada bukti di advertising system saya kan. Advertising system saya itu hanya menggunakan satu mesin dimana udah di test di kaskus yang 40-50ribu per detik dengan hanya menggunakan satu mesin.

RW: Ini yang namanya memory caching itu?

WA: Iyah, memory caching technology, semacem in cache. Saya juga lagi membikin advertising system, yah seperti google essence lah ya. Saya menggunakan memory technology saya disitu untuk caching dan juga untuk display advertising dan juga untuk picture cachingnya, ada photo lah ya, terus ada juga untuk perhitungan cpm dan cpc advertising advertising itu loh Pak. Saya test di kaskus dengan hanya menggunakan 1 mesin jadi kaya istilahnya mesin ini lawan dengan 30 mesin yang dengan hit gitu Oak. Dan itu berbahan bagus sekali, makanya saya bangga sekali dengan momory caching ini.

RW: Itu ada tips trick apa yang lo pake Nas, bisa sampai dari 30 mesin lo cuman butuh 1 mesin untuk nyamain performance 30 mesin?

WA: Ini caching sangat pengaruh.

RW: Jadi intinya lo ga mau hit database sama skali yah, semuanya in memory ajah?

WA: Iyah di memory, jadi istilahnya kita menggunakan. misalnya saya sering membicarakan kenapa youtube bisa bertahan dan lain lain itu saya coba brainstorm untuk kaskus. Sebebernya ada tips untuk kaskus yang bisa saya bocorkan, skarang kita melihat forum itu. Bapak bisa baca forum itu halaman brapa ajah pak?

RW: Paling awal dari satu, kedua, kalau kebanyakan langsung lompat ke terakhir ajah kan

WA: Iyah anggap ajah kaya gitu, ga mungkin orang baca tengah tengah itu. Yang di tengah tengah itu istilahnya data yang non aktif ya Pak. Data non aktif itu harusnya ditaro dimana, mungkin di xml dimana yang tidak pakai, mungkin di database itu ga masalah soalnya itu jarang di qeuiry sama orang. Sedangkan yang depan itu sendiri yang sering di qeuiry sama orang, itu seharusnya dibuat caching,

RW: Jadi lo sebenernya intinya kekuatan performance framework lo itu dari sisi lo bisa menentuin dari sisi secara mendetail apa yang bisa di cache apa yang usah di cache dengan tujuan lo meninggikan hits yah supaya ga banyak miscache nya yah.

WA: Ya, supaya efficient lah istilahanya, Dan juga kita melihat prilaku user juga. Saya juga lagi membikin istilahnya data mining. Sebenernya itu juga ga dibutuhkan yah, cuman istilahnya dan juga advertising system saya juga bisa mirip data punya user, jadi istilahnya user ini serving as gimana, anggap saja di kaskus juga bisa di gunakan dalam context ini Pak. Kalau misalnya orang ini tendency nya membuka bagian jual beli nya atau bagian olah raga, kita kan tau orang bakal buka ini terus di jem gini. Itu bakal jadi, istilahnya memory yang banyak bisa di assign di category tertentu, Misalnya anggapnya bapak dari Australia, Australia kan pagi, disini mungkin di Indo malem. Jadi Australia malam, indo pagi, Oke contohnya kan perbedaan waktu, itu digunakan untuk efficiency Pak. tapi kaya youtube juga menggunakan itu, misalnya dari orang user Indonesia tendency nya menbuka video dangdut iyah kan. dibagian mesin sini dikasih ke video dangdut ajah. Kita collect data juga gitu.

RW: Jadi pake trend analysis buat nentuin caching strategy yang tepat untuk setiap regional yah. Kembali jadi lo kayanya dapet data dari sisi strategy nya ngambil granular banget antara vertical businessnya, which is launch dan sebagainya atau dari usernya atau dari regional dan lo nentuin apa yang paling tepat untuk di caching untuk situasi seperti itu yah. Aku cuman penasaran ga ada solusi third party yang sudah tersedia dipasar soalnya kalau dalam .net sudah ada banyak caching solution yang ada dipasaran. Tapi untuk dalam dunia Linux, open source dan sebagainya, ga ada third party yang bisa dipake?

WA: Ini ada, name cache kan. Name cache ini juga fungsinya sama, basicly mereka menggunakan   itu istilahnya IMPU emang itu kaya pipe yang paling cepat untuk memo management itu. namanya IMPU pak. Cuman IMPU itu sering membikin computer jadi hang gitu soalnya kadang dia ga bisa kalau capasitas memo mesin ini over flow. Ya kalau punya saya ini, bisa ada controlnya. dikhususnya buat web development gitu, kalau lintasberita masih belon.

RW: Mumpung lagi menyebut lintasberita ni, kita bahas tentang lintasberita. Cerita sedikit lintasberita itu apa,

WA: Sebenernya kejadiannya tuh seperti ini, dulu tuh lintasberita tuh memakai open source yah, yang kaya open source book social marking gitu lah. Terus saya tuh sangat tidak puas, dan mereka tuh kebetulan temen saya. Dan saya mau dikasi saham, okay lah, maksudnya saya juga sekarang juga sekalian pengalaman yah. Saya kepikiran kalau harusnya saya bikin dari nol gitu, akhirnya saya bener bener bikin dari 0 code. Saya bikin semuanya sendiri, makanya skarang jadi lintasberita gitu.

RW: Dan lintasberita belon make teknik caching caching yang keren seperti sekarang ini yah

WA: Oh itu mereka masih memakai caching yang biasa, cuman name cache. Sebetulnya name cache saya sudah mengerti, makanya saya bisa bikin software yang lebih bagus dari itu. Memang lintasberita memakai name cache gitu, sangat tidak efficient sekali itu, terutama commentingnya yah masih belon efficient.

RW: Tadi kan kita sempet ngobrol sebelon mulai wawancara yah bahwa Wenas pernah kerja di Electronic Art yah. Gimana tuh pengalamannya?

WA: Tidak ada yang special, berhubung saya cuman junior developer yah Pak

RW: Oh gitu, seperti kerja kantor biasa ajah?

WA: Yah istilahanya, mereka kan pake C sharp yah, dan saya ngerti C sharp sedikit sedikit,

RW: Electronic Art pake C sharp buat bikin game nya?

WA: Iya.

RW: Tapi tetep di compile ke .net dan sebagainya, apa mereka punya compiler sendiri?

WA: Mereka punya compiler sendiri yang khusus.

RW: Jadi bener bener compilernya semua propriety tapi bahasanya ajah pake C sharp gitu yah.

WA: Iyah betul.

RW: Berarti semua framework nya juga propriery bukan pake .Net sama sekali?

WA: Ga ga, engine nya itu kan digabungin dengan team engine mereka. Sebenernya sama semua ga ada system. Memang mereka bikin semuanya sendiri dari awal, jadi ga terlalu rumit Pak.

RW: Wenas, dulu ngerjain project apa pas di IE?

WA:

RW: wow, dan ngerjain bagian apanya?

WA: Cuman bagian sedikit Pak.

RW: Jadi ada bagian sama physic engine nya gitu dong?

WA: Istilahnya saya kan problem solver yah, istilahnya saya suka mecahin problem yang belon pernah dipecahin sama orang, saya paling suka itu.

RW: Terus Wenas ada apa lagi yang mau dibahas bisa di share sama teman teman yang lain?

WA: Saya pernah mencoba Ruby on Rail yah. Itu kan mereka menggunakan, sebenernya tuh cuman over hype. Skarang anggapnya coder nya sendiri mengaku, mereka sering nge restart mereka punya web server. Saya emang pernah coba Ruby on Rail, emang itu berat skali Pak. Saya ga tertarik dengan Ruby on Rail, saya tertariknya dengan python dan caching dan infrastructure dasarnya lah, tertarik dengan ke efficiency. Saya melihat sendiri dengan good software design dan kemauan tinggi untuk mengembangkan itu system, ga ada yang ga mungkin

RW: Design design apa yang lo harus pikirin supaya dapet performance yang sangat efficient?

WA: Jangan selalu menggunakan software yang sudah ada. Tendency orang itu menggunakan emang sesuatu yang sudah ada, Orang itu selalu brepangsaka kalau Ruby on Rail itu bisa digunakan untuk website yang emang sangat serius dengan ebusiness. Jadi kita harus melihat dari sisi business juga, kalau tuh business anda emang berhubungan dengan internet,dengan seach engine. Kalau dikasih dengan framework, itu sangat tidak cocok sekali kan. Nah kalau misalnya website company yang biasa, misalnya company besi atau company tambang kalau punya website, kalau pake Ruby on Rail sangat cocok. Jadi designnya tergantung dengan kebutuhannya gitu Pak.

RW: Oke, on that note, makasi banget sudah ngobrol dengan temanmacet.com