Bab 1 Prolog A. Tentang Cloud Computing Apa itu cloud computing? Beberapa pembaca sering kali menanyakan hal ini. Ada banyak sudut pandang yang menjelaskan tentang cloud computing atau komputasi awan (dalam bahasa Indonesia) ini. Tulisan ini sebagai pengantar bagaimana memahami tentang komputasi awan dari konsep atau kasus sederhana yang sering kita temui di kehidupan sehari-hari. Harapannya setelah membaca ini, pembaca lebih paham dan dengan mudah menerapkan teknologi ini. Anda pernah ke hotel untuk menyewa salah satu atau beberapa kamar di sana? Jika sudah, maka sebagai konsumen hotel yang baik, dengan hanya kita mengisi form registrasi, durasi lama beberapa waktu tertentu, maka kita sudah diperkenankan untuk menikmati semua fasilitas yang ada di hotel tersebut. Sementara di sisi lain, billing (tagihan) akan berjalan dan menunggu untuk dibayar sampai dengan Anda check out dari hotel tersebut. Ketika pagi hari sudah dipersiapkan breakfast untuk Anda, maka Anda tak perlu memikirkan untuk berapa banyak mereka membuat masakan pagi hari itu, berapa lama mereka memasak, dan berapa biaya yang perlu disediakan untuk mempersiapkan masakanmasakan itu. Yang jelas Anda tinggal menikmati apa yang tersaji di sana. Begitu juga ketika adanya aliran listrik di kamar Anda, The Power of ownCloud
1
tentunya Anda tak perlu juga memikirkan berapa voltase/watt hotel itu berlangganan listrik ke PLN, teknik mengalirkan listrik dengan pembatasan tertentu ke semua kamar yang ada di kawasan hotel itu, tak perlu pusing Anda memikirkan hal itu. Karena jika Anda butuh lampu, maka semua sakelar di kamar Anda sudah ready untuk dinyalakan atau dimatikan. Jika suatu waktu Anda butuh untuk menambah kamar karena keluarga Anda akan menginap juga di sana, Anda tinggal mengontak bagian receptionist dan fasilitas serupa sudah siap untuk Anda nikmati dalam beberapa saat. Begitu mudahnya, bukan? Ilustrasi sederhana di atas itu untuk memudahkan pembahasan kita tentang cloud computing ini. Jika dalam suatu kantor atau organisasi Anda yang saat ini memiliki satu server komputer untuk meng-handle semua kebutuhan pegawai di kantor Anda. Nah, saat waktu tertentu ternyata disimpulkan butuh server baru di sana, maka dengan konsep virtualisasi cloud computing ini, maka untuk menambah server baru, tidak perlu membeli hardware baru, mengalokasikan waktu tambahan untuk setup server baru, dan tentu saja tenaga teknisi tak perlu banyak terforsir di sana. Dengan cloud computing, server baru bisa di-setup dengan hanya klakklik saja, dan dalam waktu kurang lebih 20 menit, server baru sudah siap untuk dipakai. Sederhananya, Anda akan hemat waktu, energi, dan biaya. Menurut Onno W. Purbo (Onno: 2011), perbedaan cloud computing dengan server konvensional, terutama: • Secara fisik berupa kumpulan hardware/server yang tersambung dalam sebuah jaringan (LAN/WAN). Tetapi, dari sisi pengguna dapat melihat sebagai sebuah komputer besar. • Idealnya tidak ada batasan dengan kapasitas processor, kapasitas hard disk, dan kapasitas memory. 2
Dedy Setyo Afrianto
• • •
•
Idealnya tidak ada batasan dengan berapa jumlah “hosting” server yang berjalan di belakangnya. Menambahkan sebuah “hosting” hanya membutuhkan waktu beberapa menit saja. Jika ada kekurangan resource (sumber daya), baik itu processor, hard disk, maupun memory, kita dapat dengan mudah sekali menambahkan server tambahan dan langsung dapat berintegrasi ke jaringan cloud. Butuh waktu sekitar 20 menit untuk menyiapkan server kosong/baru untuk dapat berintegrasi ke jaringan cloud.
Sedangkan sumber dari National Institute of Standard Technology (NIST) memberikan syarat ada beberapa karakteristik cloud computing: 1. On Demand Self Service Pelanggan dapat melakukan upgrade kemampuan server sendiri tanpa melibatkan teknisi khusus, termasuk di dalamnya mengatur waktu server dan kapasitas server. 2. Broad Network Access Dapat diakses melalui jaringan standar, serta dapat melayani akses dari berbagai platform dan device, apakah itu komputer, laptop, smartphone, tablet, dan sebagainya. 3. Resource Pooling Sumber daya komputasi yang disediakan dapat melayani banyak user sekaligus. 4. Rapid Elasticity Kapabilitas dari server yang disiapkan bisa dipakai secara dinamis sesuai dengan tingkat kebutuhan.
The Power of ownCloud
3
5.
Measured Service Tersedia layanan yang dapat digunakan untuk memonitor penggunaan resource, apakah itu hard disk, memory, processor. Berapa persenkah yang telah terpakai, dan berapa persen yang masih ready untuk digunakan.
Layanan Cloud Computing Berikut ini adalah kategori layanan cloud computing yang tersedia jika Anda berminat dalam pengimplementasiannya: 1. Infrastructure As A Services (IAAS) Menggunakan layanan IAAS, user dapat dengan mudah menggunakan hardware seperti hard disk, memory, processor untuk semaksimal mungkin digunakan dalam pekerjaan. Contoh penyedia layanan IAAS: Amazon EC2, Rackspace Cloud, Windows Azure, ownCloud, dan sebagainya. Keuntungan dari IAAS ini adalah kita tidak perlu membeli komputer fisik dan konfigurasinya secara rumit. Dalam buku ini akan diuraikan lebih lanjut tentang ownCloud sebagai IAAS. 2.
Platform As A Service (PAAS) Pada layanan ini, user dapat dengan mudah layaknya menyewa rumah beserta lingkungannya. Pemeliharaan “rumah” ini (sistem operasi, network, database engine, framework aplikasi, dan lain-lain) menjadi tanggung jawab dari penyedia layanan. Contoh penyedia layanan PAAS: Amazon Web Service, Windows Azure, dan GoogleApp Engine. Keuntungan dari PAAS ini adalah developer bisa langsung fokus pada aplikasi yang sedang dikembangkan tanpa harus berpikir bagaimana lingkungan (environment) berjalan.
4
Dedy Setyo Afrianto
3.
Software As A Service (SAAS) Merupakan layanan di mana user dapat menggunakan software yang terletak di server provider seperti layaknya user menggunakan software yang berada di komputernya masingmasing. Contoh dari layanan SAAS ini antara lain adalah: • Layanan produktivitas: Office365, GoogleDocs, Adobe Creative Cloud, dan sebagainya. • Layanan e-mail: Gmail, YahooMail, LiveMail, dan sebagainya. • Layanan social network: Facebook, Twitter, Tagged, dan sebagainya. • Layanan instant messaging: YahooMessenger, Skype, GTalk, dan sebagainya.
B. Sekilas ownCloud Perusahaan dengan nama ownCloud inilah yang membidani lahirnya ownCloud sejak tahun 2011. Didirikan oleh pakar open source yang berpengalaman bertahun-tahun, Frank Karlitschek bersama Markus Rex memimpin tim yang ahli pada bidangnya masing-masing dalam pengembangannya. Dengan slogan “Your Cloud, Your Data, Your Way!” ownCloud yang merupakan salah satu perangkat lunak berbagi berkas gratis (lisensi AGPL) dan bebas disertai juga edisi bisnis dan edisi perusahaan, menyediakan pengamanan yang baik, memiliki tata cara yang baik bagi pengguna aplikasi untuk membagi dan mengakses data yang secara terintegrasi dengan perangkat teknologi informasi yang tujuannya mengamankan, melacak, dan melaporkan penggunaan data. Dengan belasan fungsi yang sudah terintegrasi dan akan terus berkembang, di antaranya:
The Power of ownCloud
5
• • • • • • • • • • • • •
Akses, sinkronisasi, dan sharing data User interface yang menarik Recovery file yang telah ter-delete Pencarian yang cepat Dokumentasi user Melacak versi file Manajemen kontak Manajemen kalender/agenda External storage Galeri gambar dan video Mengubah theme Pembuka dokumen dan masih banyak yang lainnya di http://ownCloud. org/features/
Dengan beragamnya fungsi ini, maka pantaslah bahwa ownCloud termasuk sistem yang dapat diandalkan dalam lingkungan Anda.
C. Studi Kasus Lapangan Agar memiliki persepsi yang sama dalam membangun dan mengimplementasikan sistem ini, penerapan ownCloud memang dilatarbelakangi oleh kebutuhan di lingkungan saya. Perlu diketahui bahwa kami tinggal di sebuah kompleks pendidikan/boarding school di Serang, Banten. Kawasan ini teramat luas secara geografis (plus minus 30 hektar), untuk menuju titik terjauhnya pun dengan berjalan kaki akan lumayan melelahkan karena kontur bidang yang berbukitbukit. Kawasan siswa putra dan putri pun terpisah dan kami para pengajarnya juga tinggal sekompleks di sini kira-kira 6
Dedy Setyo Afrianto
500-an lebihlah penghuni kawasan kami. Denahnya saya ilustrasikan seperti ini (saya ambilkan foto perancangan jaringan kami, sama saja kok ). Dan kabar baiknya, semua wireless/jaringan telah terhubung hampir 100% di semua titik strategis. So, saya anggap ini potensi yang harus dimanfaatkan.
Gambar 1.1 Ilustrasi peta dan pemanfaatan di lingkungan kami
Saya sering memikirkan untuk mencari jalan bagaimana agar penyimpanan data dapat dilakukan secara terpusat dari berbagai macam sumber, kontributor, sehingga setiap file user dapat dikelola dengan mudah, reliable, dan dinamis, sehingga pertukaran data dapat dilakukan dengan mudah, cepat, dan praktis! Ditambah lagi dengan sistem ini tidak membutuhkan koneksi internet untuk mengaksesnya sehingga akses user The Power of ownCloud
7
tidak membutuhkan bandwith internet dan dana tambahan untuk membeli pulsa modem. Nah, begitu ceritanya, semoga pemahaman saat ini sudah sama ya. Terus, apa lagi yang dipersiapkan?
D. Persiapan Server, Koneksi, dan Software Pengalaman saya menggunakan ownCloud ini nyaris sebenarnya tak merepotkan untuk urusan hardware, karena untuk saat ini rasanya hardware jenis ini sudah sangat terjangkau sekali, spesifikasi server minimal seperti ini: Hardware: • CPU 2.0 GHz • RAM 1 GB • HARD DISK 30 GB • OS: Linux Ubuntu 12.04 32 bit, Versi Desktop atau Server Koneksi: Min. 512 Mbps (hanya untuk proses instalasi saja)
8
Dedy Setyo Afrianto
Bab 2 Instalasi dan Konfigurasi ownCloud di Server Anda A. Tahapan Instalasi Ayo kita mulai! Sebelum kita mulai, dalam artikel ini harapannya Anda telah terbiasa dengan lingkungan Linux (wabil khusus Ubuntu). Jika belum, niscaya akan mudah kok, asalkan ada syarat 3 “tetap”. Tetap semangat, tetap membaca, tetap mencoba…, hehe . Yang dipersiapkan: 1. Siapkan kopi/teh hangat dan camilan untuk santai sejenak…, anggap saja setiap step ini adalah proses relaksasi akhir pekan Anda…, hehe . 2. Siapkan 1 PC sudah ter-install Ubuntu 12.04 dengan baik, atau jika Anda telah akrab virtualisasi dengan virtualbox bisa juga. Apakah boleh versi Linux yang lain? Silakan saja, namun saya tidak menanggung jika tidak berhasil, hehe. Bagi yang mau download silakan http://buku.dedysetyo.net. Spec PC-nya cukup prosesor min 2.0 GHz, HD min 30 GB, dengan RAM min 1 GB, lebih dari itu akan lebih sip. 3. Setting IP lokal pada PC ini, misalkan pada tutorial ini diset 192.168.0.10. 4. Koneksi internet dengan baik pada PC tadi, ini hanya dibutuhkan saat instalasi saja untuk download modulThe Power of ownCloud
9
buku pelengkap. Setelah selesai, praktis kita tidak butuh koneksi internet untuk akses ke cloud kita. Langkah-langkahnya: 1. Masuk pada terminal (CTRL+ALT+T) kemudian login dengan akun root Anda. 2. Lakukan update dengan perintah “apt-get update”, tunggu sampai proses selesai, makin cepat koneksi Anda maka makin cepat proses ini selesai. 3. Install-kan paket-paket yang dibutuhkan untuk web server-nya: apache, php5, json, curl, dan sebagainya. Ketikkan perintah ini kemudian enter (pastikan semua paket ter-install dengan baik): apt-get install apache2 php5 php5-json php5-gd php5-sqlite curl libcurl3 libcurl3-dev php5-curl php5common php-xml-parser 4. Download script php setup-ownCloud.php lewat http://buku.dedysetyo.net, kemudian letakkan pada folder /var/www. 5. Akses server-nya dengan buka browser, ketikkan: http://192.168.0.10/setup-ownCloud.php 6. Berikutnya akan muncul seperti ini:
Gambar 2.1 Pengecekan Dependency Program
10
Dedy Setyo Afrianto