Showing posts with label profesor. Show all posts
Showing posts with label profesor. Show all posts

Sunday, January 9, 2011

Menjelajahi Perangkat Lunak di Balik Facebook

Tantangan besar bagi engineer Facebook adalah menjaga agar situs tetap hidup dan berjalan lancar meskipun menangani hampir setengah miliar pengguna aktif. Artikel ini mencoba melihat beberapa perangkat lunak dan teknik yang mereka gunakan untuk mencapai hal tersebut.
 
http://www.muslimdaily.net/berita/facebook_.jpg
 

Skala tantangan Facebook

Sebelum kita masuk ke hal yang lebih detail, berikut adalah beberapa fakta sebagai gambaran tentang skala tantangan yang harus diurusi Facebook :
  • Facebook melayani 570 miliar tampilan halaman per bulan (menurut Google Ad Planner).
  • Foto di Facebook lebih banyak daripada gabungan semua situs foto lainnya.
  • Lebih dari 3 milyar foto di-upload setiap bulannya.
  • Facebook melayani 1,2 juta foto per detik. Ini tidak termasuk gambar dilayani oleh CDN Facebook.
  • Lebih dari 25 miliar konten (status update, komentar, dll) yang di-share setiap bulan.
  • Facebook memiliki lebih dari 30.000 server (jumlah ini adalah data tahun lalu!)
 

Software di Balik Facebook

Dalam beberapa hal Facebook masih merupakan situs yang berbasis LAMP (sejenisnya), namun diubah dan diperluas operasinya dengan memasukkan banyak elemen dan layanan lain, dan dimodifikasi pendekatannya menjadi seperti yang ada saat ini.
 

Sebagai contoh:

  • Facebook masih menggunakan PHP, tetapi telah dibuat compilernya sehingga dapat diubah menjadi kode asli pada server webnya, sehingga meningkatkan kinerja.
  • Facebook menggunakan Linux, tetapi telah dioptimalkan untuk keperluan sendiri (terutama dalam hal jaringan).
  •  Facebook menggunakan MySQL, tetapi terutama sebagai key-value persistent storage, moving joins and logic ke server web karena optimasinya lebih mudah dilakukan di sana (di "sisi lain" dari memcached).

Lalu ada custom-written systems, seperti Haystack, sebuah object store yang sangat scalable digunakan untuk melayani foto-foto di Facebook yang banyak sekali, atau Scribe, sistem logging yang dapat beroperasi pada skala Facebook.
 
Sekarang mari kita bahas (sebagian dari) perangkat lunak (software) yang digunakan Facebook dalam menyediakan situs jejaring sosial terbesar di dunia.

 

Memcached

Memcached saat ini menjadi salah satu perangkat lunak paling terkenal di internet. Ia merupakan sistem caching memori terdistribusi yang digunakan Facebook (dan banyak situs lainnya) sebagai lapisan caching antara server web dan server MySQL (karena akses database relatif lambat).

Selama bertahun-tahun, Facebook telah berkali-kali melakukan optimasi pada memcached dan perangkat lunak sekitarnya (seperti mengoptimalkan penumpukan jaringan).
 
Facebook menjalankan ribuan server memcached dengan puluhan terabyte data cache pada satu titik waktu. Kemungkinan ini merupakan instalasi memcached terbesar di dunia.

 

HipHop for PHP

PHP, sebagai scripting language, relatif lambat bila dibandingkan dengan kode yang berjalan secara native di server. HipHop mengubah PHP menjadi kode C++ yang kemudian dapat dikompilasi untuk menghasilkan performa yang lebih baik.

Hal ini telah memungkinkan Facebook untuk mengoptimalkan server webnya karena ia sangat bergantung pada PHP untuk melayani konten.
 
Sebuah tim kecil engineer (awalnya hanya tiga orang) di Facebook menghabiskan 18 bulan mengembangkan HipHop, dan sekarang telah di produksi.

 

Haystack

Haystack adalah sistem penyimpanan/pencarian foto berkinerja tinggi pada Facebook (Sesungguhnya Haystack adalah sebuah penyimpanan object, sehingga tidak menyimpan foto). Ia mengerjakan kerja berat, ada lebih dari 20 miliar foto yang diunggah di Facebook, dan masing-masing disimpan dalam empat resolusi yang berbeda, menghasilkan lebih dari 80 miliar foto.
 
Dan hal tersebut bukan hanya tentang kemampuan menangani miliaran foto, kinerja juga sangatlah penting. Seperti yang telah disebutkan sebelumnya, Facebook melayani sekitar 1,2 juta foto per detik, angka yang tidak termasuk gambar/foto dilayani oleh CDN Facebook.

 

BigPipe

BigPipe adalah sistem layanan halaman web dinamis yang dikembangkan oleh Facebook. Facebook menggunakannya untuk melayani setiap halaman web dalam beberapa bagian (disebut "pagelets") untuk menghasilkan kinerja yang optimal.
 
Misalnya, jendela chat diambil secara terpisah, feed berita diambil secara terpisah, dan seterusnya. Pagelets ini dapat diambil secara paralel, sehingga kenerja tetap terjaga, dan juga memungkinkan user mengakses situs dengan baik meskipun beberapa bagian dinonaktifkan atau rusak.

 

Cassandra

Cassandra adalah sistem open source yang berfungsi sebagai menejemen database terdistribusi. Facebook kemudian mengembangkannya dengan NoSQL dan menggunakannya untuk fitur Inbox Search. Selain facebook, sejumlah layanan lain juga menggunakannya, misalnya Digg.

 

Scribe

Scribe adalah sistem logging fleksibel yang digunakan secara internal oleh Facebook untuk banyak tujuan. Ia dikembangkan untuk menangani logging pada Facebook, dan secara otomatis menangani kategori logging baru yang muncul.

 

Hadoop dan Hive

 
Hadoop adalah implementasi map-reduce open source yang memungkinkan untuk melakukan perhitungan data dalam jumlah besar. Facebook menggunakannya untuk analisis data (dan seperti yang kita ketahui, Facebook memiliki data dalam jumlah yang besar).

Hive dikembangkan oleh Facebook, dan dengannya dimungkinkan untuk menggunakan query SQL terhadap Hadoop, sehingga lebih mudah bagi non-programmer untuk menggunakannya.
 
Baik Hadoop dan Hive adalah open source dan digunakan oleh sejumlah layanan besar, misalnya Yahoo dan Twitter.

 

Thrift

Facebook menggunakan beberapa bahasa yang berbeda untuk beberapa layanannya. PHP digunakan untuk front-end, Erlang digunakan untuk Chat, Java dan C + + juga digunakan di beberapa tempat (dan mungkin bahasa lainnya juga).

Thrift adalah cross-language framework yang dikembangkan secara internal untuk mengikat semua bahasa yang berbeda tersebut, sehingga memungkinkan komunikasi antar bahasa tersebut. Hal ini memudahkan Facebook untuk pengembangan lintas-bahasanya.

 

Varnish

 
Varnish adalah akselerator HTTP yang bertindak sebagai penyeimbang beban dan juga konten cache yang kemudian dapat dilayani secepat kilat. Facebook menggunakan Varnish untuk melayani foto dan gambar profil, penanganan miliaran permintaan setiap hari. Seperti hampir semua yang digunakan Facebook, Varnish adalah open source.

 

Hal-hal lain yang membantu Facebook berjalan lancar

Kita telah menyebutkan beberapa perangkat lunak yang membangun sistem Facebook dan membantu layanannya dengan benar. Tetapi penanganan sistem sebesar itu merupakan tugas yang kompleks. Berikut adalah hal-hal yang dilakukan Facebook untuk menjaga agar layanannya tetap berjalan lancar.
 
http://www.bjweb.com/internetmarketing/wp-content/uploads/2009/04/make-money-with-facebook.jpg
 

Gradual releases and dark launches

Facebook memiliki sistem yang mereka sebut Gatekeeper yang memungkinkan mereka menjalankan kode yang berbeda untuk sekumpulan pengguna yang berbeda. Ini memungkinkan Facebook untuk melakukan rilis bertahap fitur-fitus baru, pengujian A/B, mengaktifkan fitur tertentu hanya untuk karyawan Facebook, dll.
 
Gatekeeper juga memungkinkan Facebook untuk melakukan sesuatu yang disebut "dark launches", yaitu untuk mengaktifkan unsur-unsur dari fitur tertentu di balik layar sebelum ditayangkan (tanpa sepengetahuan pengguna).

Hal ini berfungsi sebagai tes nyata dan membantu mengekspos kemacetan dan masalah-masalah lain sebelum fitur tersebut secara resmi diluncurkan. Dark launches biasanya dilakukan dua minggu sebelum peluncuran resmi.
 

Profiling of the live system

Facebook memonitor sistemnya secara cermat dan juga memantau kinerja setiap fungsi PHP dalam live production environment. Profiling PHP ini dilakukan dengan menggunakan sebuah tool open source yang bernama XHProf.
 

Gradual feature disabling for added performance

Jika Facebook mengalami masalah kinerja, ada sejumlah tuas yang secara bertahap menonaktifkan fitur kurang penting untuk meningkatkan kinerja fitur utama Facebook.
 
 
Kalau kita perhatikan, ternyata Facebook banyak menggunaka open source untuk membangun sistemnya. Tidak hanya menggunakan, Facebook juga memberikan kontribusi untuk perangkat lunak open source seperti Linux, memcached, MySQL, Hadoop, dan lainnya.

Lebih daripada itu, Facebook juga menjadikan software-software yang dikembangkan secara internal oleh mereka sebagai open source. Contoh proyek open source yang berasal dari Facebook adalah HipHop, Cassandra, Thrift dan Scribe.

Saturday, September 4, 2010

Ciri-Ciri Mahasiswa Calon Profesor

Sosok profesor biasanya di-steriotype-kan sebagai sosok yang sudah beruban dengan kepala botak, kacamata tebal dan pelupa. Lalu bagaimana ciri-ciri mahasiswa yang besoknya menjadi profesor?

1. Di saat temannya tertawa membaca komik Doraemon, dia tertawa begitu membaca buku Kalkulus

2. Yang pasti seperti Gunawan(Gundul-gundul menawan)


3. Mahasiswa normal liburan dengan santai di pantai mahasiswa abnormal liburan dengan berkeliaran di perpustakaan

4. Tidak pernah ikut tawuran waktu SMA

5. Jika dilihat oleh ibu-ibu pasti mereka berkata, “Andai di menjadi anakku..?”

6. Kalau demontrasi selalu jadi mediator sampai polisinya bingung…

7. Bawaanya buku-buku tebal yang bila digunakan untuk melempar anjing bisa minta ampun. Kalo pas kuliah cewek-cewek pada nyegir, tapi kalo pas ujian cewek-cewek pada nempel.

8. Kalau mau meminjam buku harus menerangkan secara panjang lebar, mulai dari Latar Belakang Masalah,Pengertian,Metode Peminjaman…dll,pokoknya seperti mau buat skripsi atau tesis

9. Suka memberi ceramah ke tiap anak kecil yang ditemuinya di jalan.


10. Tampak luar sangat pendiam, tapi begitu muncul di chat-room mendadak jadi ganjen.

11. Telat tertawa bila mendengar lelucon, karena harus berpikir dulu.

12. Hobinya pake bahasa planet and suka ngebingungin maksudnya,misal : hegemoni dapat menimbulkan transparansi politik,berakibat pada timbulnya wacana baru yang berorientasi pada revitalsasi nilai-nilai, oleh karena itu dibutuhkan pandangan yang koheren (bingung khan….)

13. Kuper, tukang cari muka, mata-mata dosen, tukang ngadu he…he…

14. Makanan setiap harinya nasi ama lalapan kutu buku

15. Selalu kelupaan bayar kost

16. Kalau pacaran selalu bawa buku tebal, dan pernyataan cintanya akan menyamai rumus matematika.

17. Orangnya diem angkuh sering nanya kalo lagi gak bisa, tapi kalo lagi bisa di tanya gak mo kasih tau(alias pelittt)

18. Yang pasti Bermutu alias bermuka tua!!!!

19. Begitu dikasih lihat site porno, komentarnya : wah, dia bisa sakit, sebab berpakaiannya tidak higienis, dan akan banyak kuman-kuman sebangsa…

20. Pelajaran Kalkulus selalu hadir 15 menit sebelum belajar dimulai, padahal teman-temannya nggak mau masuk ruangan.

21. Lebih tertarik dengan buku tentang wanita daripada dengan wanita itu sendiri, dengan alasan bahwa ia dapat menguasai buku itu hanya semalam tetapi perlu banyak malam untuk menguasai wanita sebenarnya.

22. Kalo nyari pacar yang bisa diajak diskusi

23. Nggak takut pakai pakaian hitam karena nggak takut ketombe(botak sich)

24. Biasanya kalo makan pilih soto ayam … apa sih kok nggak nyambung yah …

25. Kalo diajak ngomong cuman senyum-senyum saja,diajak makan cuman senyum-senyum, diajak berkencan cuman senyum-senyum.

26. Kalo cari pacar pake rumus pytagoras. Kalo buat anak pake mutasi gen ato kloning. Kalo mo mati musti baca user guide dulu.

27. Bantalnya keras semua ,soalnya isinya buku, dan hal inilah yang menyebabkan rambut botak.

28. Biasanya tergolong COMARA (Cowok mata rabun)

29. Koleksi buku kuliahnya ngalah-ngalahin koleksi buku perpustakaan kampus.

30. Dia akan pasang iklan yang bunyinya “Dicari Super Babu yang mampu mengurusi segalanya (nyisir rambut, nyuci baju, ngerapiin kamar, atau mandiin kalau perlu…)”, karena dia enggak sempet ngurus diri.

31. Kalo ditanya selalu ngejawab tapi jawabannya bikin bingung.

32. Pilih salah satu…..
a. Kalo jalan miring
b. Nggak punya sisir (nggak pernah nyisir/nggak punya rambut)
c. Ke WC nongkrong bawa buku (mahasiswa biasa bawa rokok Dji Sam Soe)
d. A,B dan C benar.

33. Yang nggak seneng ama orang ngobrol pas kuliah tapi seneng diem saat jam kosong (nah.lu….)

34. Selalu melewati tiga tahap STMJ dengan sukses, yaitu:
1.Semester Tiga Masih Jomblo
2.Semester Tujuh Masih Jomblo(juga)
3.Sudah Tamat (eh..)Masih Jomblo

35. Pakai celana sebawah lutut, pakai kacamata tebalnya kaya kaca riben dan kalau melihat kacamatanya selalu diturunin dulu

36. Akan terangsang kalau ada buku yang besar, tebal plus mantap.

37. Selalu memulai pembicaraan dengan, “Anda seharusnya menyadari..bla bla .. bla.., dan begitulah seharusnya terjadi”.

38. Suka ngumpulin catatan teman buat dijadiin diktat lalu dijual.

39. Kalau mau masuk WC selalu pakai rumus V = S x t, dan ketika keluar WC pintunya terlihat rusak.

40. Kepalanya botak, jidatnya nonjol ke depan, giginya ompong dan matanya besar.

41. Mahasiswa yang berjenis kelamin cowok, soalnya kalau jenis kelaminnya cewek namanya mahasiswi

42. Penyendiri,sok tahu,pendiam, yang jelas IPnya boo,nggak kejangkau ama kita-kita biar belajar 7 hari 7 malam. Anehnya biar ketawa-ketawa,dia bisa di atas 3.5,sialan nggak?

43. Sering bolak-balik ke apotik buat beli obat penumbuh rambut

44. Kalau kuliah banyak nanya, tapi kalo ujian banyak nyontek.

45. Berkacamata sangat tebal (minus 20), dan berperut gendut.

46. Rambutnya suka rontok, botak jidat, lalu otak no. 2 yang penting penampilan,biar bisa gaet artis untuk perbaikan keturunan.

47. Nggak pernah pacaran dan kikuk sama yang namanya cewek. Nggak pernah ada di rumah karena selalu nggak punya rumah. Anti nasakom (nasib IP, satu koma).