Sabtu, 11 Oktober 2014

Membangun Sistem komputer di Cloud Computing

Definisi Cloud Computing
Cloud computing pada dasarnya adalah menggunakan Internet-based service untuk men-support business process. Kata-kata “Cloud” sendiri merujuk kepada simbol awan yang di dunia TI digunakan untuk menggambarkan jaringan internet (internet cloud). Cloud computing adalah gabungan pemanfaatan teknologi komputer (‘komputasi’) dan pengembangan berbasis Internet (‘awan’).
Cloud/awan merupakan metafora dari internet, sebagaimana awan yang sering digambarkan di diagram jaringan computer, awan (cloud) dalam Cloud Computing juga merupakan abstraksi dari infrastruktur kompleks yang disembunyikannya adalah suatu moda komputasi dimana kapabilitas terkait teknologi informasi disajikan sebagai suatu layanan (as a service), sehingga pengguna dapat mengaksesnya lewat Internet (“di dalam awan”) tanpa pengetahuan tentangnya, ahli dengannya, atau memiliki kendali terhadap infrastruktur teknologi yang membantunya. Menurut jurnal yang dipublikasikan IEEE, Internet Computing / Cloud Computing adalah suatu paradigma dimana informasi secara permanen tersimpan di server internet dan tersimpan secara sementara di komputer pengguna (client) termasuk di dalamnya adalah desktop, komputer tablet, notebook, handheld, sensor-sensor, monitor dan lain-lain.
Cloud Computing” secara sederhana adalah “layanan teknologi informasi yang bisa dimanfaatkan atau diakses oleh pelanggannya melalui jaringan internet”. Komputasi awan adalah suatu konsep umum yang mencakup SaaS, Web 2.0, dan tren teknologi terbaru lain yang dikenal luas, dengan tema umum berupa ketergantungan terhadap Internet untuk memberikan kebutuhan komputasi pengguna. Sebagai contoh, Google Apps menyediakan aplikasi bisnis umum secara sharing yang diakses melalui suatu penjelajah web dengan perangkat lunak dan data yang tersimpan di server.
Wikipedia mendefinisikan cloud computing sebagai “komputasi berbasis Internet, ketika banyak server digunakan bersama untuk menyediakan sumber daya, perangkat lunak dan data pada komputer atau perangkat lain pada saat dibutuhkan, sama seperti jaringan listrik”. 
Gartner mendefinisikannya sebagai “sebuah cara komputasi ketika layanan berbasis TI yang mudah dikembangkan dan lentur disediakan sebagai sebuah layanan untuk pelanggan menggunakan teknologi Internet.”
Forester mendefinisikannya sebagai “standar kemampuan TI, seperti perangkat lunak, platform aplikasi, atau infrastruktur, yang disediakan menggunakan teknologi Internet dengan cara swalayan dan bayar-per-pemakaian.”
Agar lebih mudah membayangkan skema Cloud Computing, silahkan lihat ilustrasi berikut.
Gambar 1 Skema Cloud Computing
Karakteristik Cloud Computing
Bahwa tidak semua aplikasi berbasis web dapat dimasukkan ke dalam kategori cloud computing. Ada lima kriteria yang harus dipenuhi oleh sebuah sistem untuk bisa di masukkan dalam keluarga Cloud Computing, yaitu :
1.                            Swalayan (On Demand Self Service)
Seorang pelanggan dimungkinkan untuk secara langsung “memesan” sumber daya yang dibutuhkan, seperti processor time dan kapasitas penyimpanan melalui control panel elektronis yang disediakan. Jadi tidak perlu berinteraksi dengan personil customer service jika perlu menambah atau mengurangi sumberdaya komputasi yang diperlukan.
2.                            Akses Pita Lebar (Broadband Network Access)
Layanan yang tersedia terhubung melalui jaringan pita lebar, terutama untuk dapat diakses secara memadai melalui jaringan internet, baik menggunakan thin client, thick client ataupun media lain seperti smartphone.
3.                            Sumberdaya Terkelompok (Resource Pooling)
Penyedia layanan cloud, memberikan layanan melalui sumberdaya yang dikelompokkan di satu atau berbagai lokasi data center yang terdiri dari sejumlah server dengan mekanisme multi-tenant. Mekanisme multi-tenant ini memungkinkan sejumlah sumberdaya komputasi tersebut digunakan secara bersama-sama oleh sejumlah user, di mana sumberdaya tersebut baik yang berbentuk fisik maupun virtual, dapat dialokasikan secara dinamis untuk kebutuhan pengguna/pelanggan sesuai permintaan.
Dengan demikian, pelanggan tidak perlu tahu bagaimana dan darimana permintaan akan sumberdaya komputasinya dipenuhi oleh penyedia layanan. Yang penting, setiap permintaan dapat dipenuhi. Sumberdaya komputasi ini meliputi media penyimpanan, memory, processor, pita jaringan dan mesin virtual.
4.                            Elastis (Rapid Elasticity)
Kapasitas komputasi yang disediakan dapat secara elastis dan cepat disediakan, baik itu dalam bentuk penambahan ataupun pengurangan kapasitas yang diperlukan. Untuk pelanggan sendiri, dengan kemampuan ini seolah-olah kapasitas yang tersedia tak terbatas besarnya, dan dapat “dibeli” kapan saja dengan jumlah berapa saja.
5.                            Layanan Yang Terukur (Measured Service)
Sumber daya cloud yang tersedia harus dapat diatur dan dioptimasi penggunaannya, dengan suatu sistem pengukuran yang dapat mengukur penggunaan dari setiap sumberdaya komputasi yang digunakan (penyimpanan, memory, processor, lebar pita, aktivitas user, dan lainnya). Dengan demikian, jumlah sumberdaya yang digunakan dapat secara transparan diukur yang akan menjadi dasar bagi user untuk membayar biaya penggunaan layanan.
Kelebihan Cloud Computing
1.    Tanpa Investasi Awal
Dengan cloud computing, kita dapat menggunakan sebuah layanan tanpa investasi yang signifikan di awal. Ini sangat penting bagi bisnis, terutama bisnis pemula (startup). Mungkin di awal bisnis, kita hanya perlu layanan CRM untuk 2 pengguna. Kemudian meningkat menjadi 10 pengguna.
Tanpa model cloud computing, maka sejak awal kita sudah harus membeli hardware yang cukup untuk sekian tahun ke depan. Dengan cloud computing, kita cukup membayar sesuai yang kita butuhkan.
2.    Mengubah CAPEX menjadi OPEX
Tanpa cloud computing, investasi hardware dan software harus dilakukan di awal, sehingga kita harus melakukan pengeluaran modal (Capital Expenditure, atau CAPEX). Sedangkan dengan cloud computing, kita dapat melakukan pengeluaran operasional (Operational Expenditure, atau OPEX).
Jadi, sama persis dengan biaya utilitas lainnya seperti listrik atau telepon ketika kita cukup membayar bulanan sesuai pemakaian. Hal ini akan sangat membantu perusahaan secara keuangan.
3.    Lentur dan Mudah Dikembangkan
Dengan memanfaatkan Cloud Computing, bisnis kita dapat memanfaatkan TI sesuai kebutuhan. Perhatikan Gambar di bawah untuk melihat beberapa skenario kebutuhan bisnis. Penggunaan TI secara bisnis biasanya tidak datar-datar saja.
Dalam skenario “Predictable Bursting”, ada periode di mana penggunaan TI meningkat tajam. Contoh mudah adalah aplikasi Human Resource (HR) yang pada akhir bulan selalu meningkat penggunaannya karena mengelola gaji karyawan. Untuk skenario “Growing Fast”, bisnis meningkat dengan pesat sehingga kapasitas TI juga harus mengikuti.
Contoh skenario “Unpredictable Bursting” adalah ketika sebuah website berita mendapat pengunjung yang melonjak karena ada berita menarik. Skenario “On and Off” adalah penggunaan TI yang tidak berkelanjutan. Misalnya, sebuah layanan pelaporan pajak, yang hanya digunakan di waktu-waktu tertentu setiap tahun.
Gambar 2 Skenario kebutuhan bisnis
Tanpa layanan cloud computing, ke empat skenario ini akan membutuhkan perencanaan TI yang sangat tidak efisien, karena investasi TI harus dilakukan sesuai kapasitas tertinggi, walaupun mungkin hanya terjadi di saat-saat tertentu. Hal ini dilakukan untuk mencegah terjadi kegagalan layanan pada saat “peak time” tersebut.
Dengan cloud computing, karena sifatnya yang lentur dan mudah dikembangkan (elastic and scalable), maka kapasitas dapat ditingkatkan pada saat dibutuhkan, dengan biaya penggunaan sesuai pemakaian.
4.    Fokus pada Bisnis, bukan TI
Dengan menggunakan Cloud Computing, kita dapat fokus pada bisnis utama perusahaan, dan bukan berkecimpung di dalam pengelolaan TI. Hal ini dapat dilakukan karena pengelolaan TI dilakukan oleh penyedia layanan, dan bukan oleh kita sendiri. Misalnya, melakukan patchingsecurity updateupgrade hardware, upgrade software, maintenance, dan lain-lain.
Apabila kita memiliki tim TI, maka tim tersebut dapat fokus pada layanan TI yang spesifik untuk bisnis kita, sedangkan hal-hal umum sudah ditangani oleh penyedia layanan.
Layanan Cloud Computing
  1. Software as a Service (SaaS)
Sebagai konsumen individual, kita sebenarnya sudah akrab dengan layanan cloud computing melalui Yahoo Mail, Hotmail, Google Search, Bing, atau MSN Messenger. Contoh lain yang cukup populer adalah Google Docs ataupun Microsoft Office Web Applications yang merupakan aplikasi pengolah dokumen berbasis internet.
Di dunia bisnis, kita mungkin familiar dengan SalesForce.com atau Microsoft CRM yang merupakan layanan aplikasi CRM. Di sini, perusahaan tidak perlu setup hardware dan software CRM di server sendiri. Cukup berlangganan SalesForce.com maupun Microsoft CRM, kita bisa menggunakan aplikasi CRM kapan dan dari mana saja melalui internet. Kita tidak perlu melakukan investasi server maupun aplikasi. Kita juga akan selalu mendapat aplikasi terbaru jika terjadi upgrade. Intinya, kita benar-benar hanya tinggal menggunakan aplikasi tersebut. Pembayaran biasanya dilakukan bulanan, dan sesuai jumlah pemakai aplikasi tersebut. Dengan kata lain, pay as you go, pay per use, per seat.
Nah, semua layanan ini, dimana suatu aplikasi software tersedia dan bisa langsung dipakai oleh seorang pengguna, termasuk ke dalam kategori Software as a Services (SaaS). Secara sederhana, kita langsung mengkonsumsi layanan aplikasi yang ditawarkan.
  1. Platform as a Service (PaaS)
Sering terjadi, suatu aplikasi software yang sifatnya package tidak dapat memenuhi kebutuhan proses bisnis kita. Demikian pula dengan SaaS, di mana aplikasi yang ditawarkan sebagai layanan tidak sesuai dengan proses bisnis kita. Nah, pada skenario ini, kita dapat menggunakan jenis layanan yang disebut Platform as a Service (PaaS).
Pada PaaS, kita membuat sendiri aplikasi software yang kita inginkan, termasuk skema database yang diperlukan. Skema itu kemudian kita pasang (deploy) di server-server milik penyedia jasa PaaS. Penyedia jasa PaaS sendiri menyediakan layanan berupa platform, mulai dari mengatur server-server mereka secara virtualisasi sehingga sudah menjadi cluster sampai menyediakan sistem operasi di atasnya. Alhasil, kita sebagai pengguna hanya perlu memasang aplikasi yang kita buat di atasnya.
Jika kita adalah perusahaan pembuat software, PaaS juga memberi alternatif lain. Alih-alih memasang software di server konsumen, kita bisa memasang software tersebut di server milik penyedia layanan PaaS, lalu menjualnya ke konsumen dalam bentuk langganan. Dengan kata lain, kita membuat sebuah SaaS.
Singkatnya, dengan PaaS, kita membangun aplikasi kita sendiri di atas layanan PaaS tersebut. Adapun contoh vendor penyedia layanan Paas adalah Microsoft Azure dan Amazon Web Services.
  1. Infrastructure as a Service (IaaS)
Ada kasus ketika konfigurasi yang disediakan oleh penyedia PaaS tidak sesuai dengan keinginan kita. Kita berniat menggunakan aplikasi yang memerlukan konfigurasi server yang unik dan tidak dapat dipenuhi oleh penyedia PaaS. Untuk keperluan seperti ini, kita dapat menggunakan layanan cloud computing tipe Infrastructure as a Service (IaaS).
Pada IaaS, penyedia layanan hanya menyediakan sumber daya komputasi seperti prosesor, memori, dan storage yang sudah tervirtualisasi. Akan tetapi, penyedia layanan tidak memasang sistem operasi maupun aplikasi di atasnya. Pemilihan OS, aplikasi, maupun konfigurasi lainnya sepenuhnya berada pada kendali kita.
Jadi, layanan IaaS dapat dilihat sebagai proses migrasi server-server kita dari on-premise ke data center millik penyedia IaaS ini. Para vendor cloud computing lokal rata-rata menyediakan layanan model IaaS ini, dalam bentuk Virtual Private Server.
3.2     Kendali dan Tanggung Jawab Layanan
Perbedaan SaaS, PaaS dan IaaS dapat dilihat dari sisi kendali atau tanggung jawab yang dilakukan oleh vendor penyedia jasa layanan cloud maupun customer. Pada gambar 3, di jelaskan stack (jenjang) teknologi komputasi dari Networking naik hingga ke Application. Di situ juga dijelaskan sampai di stack mana suatu vendor layanan cloud memberikan layanannya, dan mulai dari jenjang mana konsumen mulai memegang kendali dan bertanggung jawab penuh pada stack di atasnya.
Gambar 3 Skema kendali dan tanggung jawab layanan
Mulai dari kanan, pada SaaS, seluruh stack merupakan tanggung jawab penyedia layanan cloud. Konsumen benar-benar hanya mengkonsumsi aplikasi yang disediakan.Pada PaaS, penyedia layanan cloud bertanggung jawab mengelola Networking hingga Runtime. Konsumen memiliki kendali dan bertanggung jawab membuat aplikasi dan juga skema database-nya.
Pada IaaS, penyedia layanan Cloud bertanggung jawab untuk Networking hingga Virtualization. Konsumen sudah mulai bertanggung jawab untuk Operating System ke atas.Sebagai perbandingan, di gambar juga ditunjukkan arsitektur tradisional on-premise (bukan cloud), alias semua ada di data center kita. Di sini kita bertanggung jawab untuk seluruh stack, dari Networking hingga Application.

Membangun Cloud Di Linux
Konfigurasi DNS agar eyeOS bisa diakses oleh komputer client :

  • Buka terminal (Applications -> Accessories -> Terminal)
  • Masuk ke direktori /etc/bind/ dengan syntax #cd /etc/bind/ lalu edit file named.conf#mcedit named.conf
  • Scroll ke halaman paling bawah lalu edit menjadi seperti berikut
  • Copy file db.local ke forward dengan perintah #cp db.local forward dan edit file forward#mcedit forward
  • Lalu edit menjadi seperti berikut
  • Setelah selesai mengedit copy file forward ke reverse#cp forward reverse lalu edit file reverse,#mcedit reverse
  • Lalu edit file reverse menjadi seperi berikut
  • Setelah selesai jangan lupa save (F2) dan untuk keluar dari editor mc tekan F10, lalu keluar dari direktori /etc/bind/ dengan perintah #su - dan restart service bind9 dengan perintah#/etc/init.d/bind9 restart dan lakukan pengujian dengan perintah #dig www.purnama.com
  • Jika muncul tampilan seperti ini maka anda telah berhasil melakukan konfigurasi DNS
  • Download eyeOS klik disini, lalu simpan eyeOS di direktori /home/nama_user_anda/, copy file eyeOS ke direktori /var/www/ dengan perintah #cp /home/nama_user_anda/eyeOS_1.8.5.0-3.zip /var/www/, masuk ke direktori /var/www/, #cd /var/www/ dan ekstrak file eyeOS #unzip eyeOS_1.8.5.0-3.zip

  • Untuk melihat hasil ekstrak file eyeOS ketik #ls, lalu edit virtualhost agar eyeOS bisa tampil di web browser #mcedit /etc/apache2/sites-available/default
  • Lalu edit menjadi seperti berikut
  • Lalu keluar dari direktori /var/www/ , #su -, rubah hak akses eyeOS chmod -R 777 /var/www/eyeOS, #chown -R 777 /var/www/eyeOS, lalu restart service apache2,#/etc/init.d/apache2 restart
Instalasi Database MySQL : 
  • Ketik #apt-get install mysql-server phpmyadmin php5 untuk menginstall Database MySQL
  • Lalu isikan password untuk user root
  • Lalu isikan lagi passwordnya
  • Lalu pilih apache2 untuk web servernnya
  • Buka web browser anda lalu ketik http://domainanda/phpmyadmin, lalu login dengan user root
  • Lalu buat database dengan nama eyeOS
  • Lalu ketikan di address bar browser anda www.domainanda.com/eyeOS untuk melakukan instaltasi eyeOS
  • Jika instalasi berhasil maka anda akan diarahkan ke halaman login eyeOS
  • Dan berikut tampilan eyeOS

Uji coba di komputer client


  • Buka web browser lalu ketik pada address bar www.domainanda/eyeOS dan anda akan dihadapkan pada halaman login eyeOS, isikan data yang diperlukan
  • Berikut tampilan eyeOS di komputer client

Tidak ada komentar:

Posting Komentar