Senin, 06 Juni 2016

Tugas Sistem Terdistribusi
Nama : Mochammad Nur Fahmi Firmansyah
NIM : 12410200079

Tugas II Sistem Terdistribusi




1. Buatlah rangkuman materi presentasi yang bagian anda

    Definisi Remote Procedure Call (RPC)
    
    Remote Procedure Call (RPC) adalah Suatu protokol yang menyediakan suatu mekanisme komunikasi antar proses yang mengijinkan suatu program untuk berjalan pada suatu komputer tanpa terasa adanya eksekusi kode pada sistem yang jauh (Remote System). Protokol RPC digunakan untuk membangun aplikasi Client - Server yang terdistribusi. 

    Tujuan Remote Procedure Call (RPC)

    Remote Procedure Call digunakan untuk administrasi sistem sehingga seorang administrator jaringan dapat mengakses sistemnya dan mengelola sistemnya darimana saja, selama sistemnya terhubung ke jaringan.

     Socket Remote Procedure Call (RPC)

        Remote Procedure Call (RPC) menggunakan socket untuk berkomunikasi dengan proses lainnya.

     Cara kerja Remote Procedure Call (RPC)

        Tiap prosedur yang dipanggil dalam Remote Procedure Call, maka proses ini harus berkoneksi dengan server remote dengan mengirimkan semua parameter yang dibutuhkan, menunggu balasan dari server dan melakukan proses kemudian selesai. Proses di atas disebut juga dengan stub pada sisi klien. Sedangkan Stub pada sisi server adalah proses menunggu tiap message yang berisi permintaan mengenai prosedur tertentu.
Contoh aplikasi untuk meremote pada teknik RPC (Remote Procedure Call) adalah menggunakan putty untuk melakukan SSH.

      Kegunaan utama SSH adalah untuk memasuki sistem komputer di tempat lain yang terhubung melalui jaringan dengan cara yang aman. Sedangkan putty adalah software remote console/terminal yang digunakan untuk meremote komputer dengan terhubungnya menggunakan port ssh atau sebagainya.

      Prinsip Remote Procedure Call (RPC)

         
  1. Server menunggu Client.
  2. Client mengirim pesan berisi parameter dan prosedur yang akan dipanggil.
  3. Server membaca parameter dan menjalankan prosedur yang dipanggil.
  4. Client menunggu response.
  5. Server mengirim hasilnya ke client
  6. Client mengirim pesan bersisi parameter dan prosedure yang akan dipanggil.
  7. Server menunggu Client.
  8. proses ini berulang-ulang.
    Kelebihan Remote Procedure Call (RPC)
  •   Relatif mudah digunakan
Pemanggilan remote procedure tidak jauh berbeda dibandingkan pemanggilan local procedure. Sehingga pemrogram dapat berkonsentrasi pada software logic, tidak perlu memikirkan low level details seperti soket, marshalling & unmarshalling.
  • Robust (Sempurna)
Sejak tahun 1980-an RPC telah banyak digunakan dalam pengembanganmission-critical application yg memerlukan scalability, fault tolerance & reliability.

    Kekurangan Remote Procedure Call (RPC)
  • Tidak fleksibel terhadap perubahan.
  • Static relationship between client & server at run-time.
  • Berdasarkan prosedural/structured programming yang sudah ketinggalan jaman dibandingkan OOP.
  •  Kurangnya location transparency. Misalnya pemrogram hanya boleh melakukan pass by value, bukan pass by reference.
  • Komunikasi hanya antara 1 klien & 1 server (one-to-one at a time).
  •  Komunikasi antara 1 klien & beberapa server memerlukan beberapa koneksi yang terpisah.
     Studi Kasus Remote Procedure Call (RPC)
  
        Contoh studi kasus RPC yaitu pada jasa penge-print-an di rental pengetikan yang di dalamnya terdapat 1 komputer server, beberapa komputer client dan sebuah printer yang hanya terhubung dengan server. User dari computer client ingin mencetak data dari komputernya. Biasanya user memindah data dengan bantuan device external seperti disket, flash disk, hard disk, atau cd-rw. Namun dengan RPC hal tersebut akan menjadi lebih efisien.
Solusi : Dengan RPC, untuk mencetak data dari computer client, computer client mengirim pesan “cetak” kepada computer server. Kemudian computer server menerima perintah tersebut dan kemudian menjalankan perintah mencetak data. Setelah itu server mengirimkan pesan pada client berupa informasi “file telah dicetak”
     
2. How to generate a client proxy class using a language such as C++ that does not support    reflection, for example from the CORBA interface definition given in your answer to Exercise 5.3.  Give the details of the implementation of one of the methods in this class, which should call the  method doOperation defined in Figure 4.12.

 metode doOperation adalah metode yang digunakan oleh client untuk meminta remote operation

setiap metode proxy adalah hasil dari metode signature yang ada didalam antarmuka IDL misalnya.

  void vote (in string nama, in long nomer); //  Masukan Input bernama nama dengan tipe data string dan input bernama nomer dengan tipe data long


metode equivalent stub di bahasa klien. misalnya bahasa C++ yang di jalankan.

  void vote (const char *vote, int number);

setiap metode dalam interface diberikan nomer. misalnya vote=1, result =2

menggunakan args [char panjang string + ukuran int ] dan marshall dua argumen ke array ini dan memanggil doOperation sebagai berikut

    char*result = doOperation(ref,1,args);


Disini masih di asumsikan bahwa ref adalah variable instansi dari class proxy.  Sebuah metode marshalling yang dihasilkan untuk setiap Jenis argumen yang digunakan .




Refrensi : Distributed Systems, Edition 3: Chapter 5 Solutions ©George Coulouris, Jean Dollimore and Tim Kindberg 2000.

Jumat, 03 Juni 2016

Penerapan Cloud Computing dengan FreeNAS

Cloud Computing
(Network Attched Storage)



Tujuan : Mengenalkan mahasiswa tentang konsep cloud computing
              Mengenalkan pada mahasiswa tentang konfigurasi FreeNAS pada jaringan.


Cloud Computing
  • Definisi
          Cloud Computing (Komputasi Awan) merupakan sebuah model client – server, dikatakan client – server karena terdapat pemberi dan penerima layanan, yang bertugas sebagai pemberi layanan adalah Cloud computing sedangkan penerima / pemakai dari layanan tersebut adalah user / client. Server, storage, network, dan software dapat di remot kapanpun dan dimanapun, karena biasanya cloud computing identic dengan virtualisasi. Cloud Computing dapat diakses mengunakan desktops dan server, notebook, netbook smartphone, Tablets, dll.

Gambar 1 Cloud Computing

  • Komponen Cloud Computing 
          * Clients
          * Services
          * Application
          * Platform
          * Storage
          * Infrastructure
  • Karakteristik Cloud Computing
          * Resources Elasticity                                : Resources yang sudah disediakan oleh cloud computing, dapat bertambah dan berkurang dengan cepat resources tersebut. sehingga pengguna dapat menyewa computing power sebanyak yang dibutuhkan.
          * Measured Service                                    : Service yang disediakan bersifat terukur, provider cloud dapat mengendalikan dan memonitor cloud service. contohnya : access control, resources optimization, keperluan billing.
          * On - Demand Self Service                       : Diakses sesuai keperluan tanpa perlu dilayani oleh pihak lain.
          * Ubiquitos / Broadband Network Access  : Semua kapabilitas dapat diakses oleh client dengan metode yang sudah berlaku.
          * Resource Pooling                                     : Storage, CPU, Memory, Bandwidth dan mesin virtual di berbagai lokasi dapat digunakan oleh banyak client secara bersamaan.
  • Jenis Layanan Cloud Computing
          * Infrastruktur as a Service (IaaS)  : User hanya dapat izin untuk menginstal system operasi,                                             storage, membangun aplikasi sendiri, membuat firewall dan load balance.
                                        contohnya : Amazon Elastic Compute Cloud.
          * Platform as a Service (PaaS)       : User dapat mengontrol sistem operasi, hardware, atau   network secara leluasa.
contohnya : Microsoft Azure Invesment.
          * Software as a Service (SaaS)       : User bisa menggunakan aplikasi namun tidak bisa membuat aplikasi, tidak bisa mengontrol sistem operasi, hardware, dan network. aplikasi ini dapat diakes menggunakan web-browser.
contohnya : Google Doc.
  • Jenis Cloud Computing
          * Private Cloud : Biasanya digunakan untuk lingkungan internal. server cloudnya berada diluar organisasi yang akan digunakannya.
          * Public Cloud  : Cloud yang diakses oleh sembarang user melalui jaringan internet, dan biasanya disebut juga sebagai community cloud.
          * Hybrid Cloud : Merupakan gabungan dari private cloud dan public cloud
  • Keterbatasan dan Kelebihan dari Cloud Computing
          * Keterbatasan yang dimiliki Cloud Computing
              - Cloudnya tidak dapat dilakukan apabila tidak terhubung ke internet.
              - Aplikasi cloud yang berbasis web fiturnya tidak selengkap aplikasi desktop.  
       
         * Kelebihan yang dimiliki Cloud Computing
              - Tidak memerlukan sebuah komputer yang canggih.
              - Booting dan processingnya cepat.
              - Tidak perlu upgrade aplikasi.
              - Dapat diakses dimanapun dan kapanpun.
              - Mengurangi biaya hardware dan software.

NAS (Network Attached Storage)

  • Definisi 
           Storage yang diakses oleh beberapa server secara bersamaan dengan menggunakan protokol komunikasi TCP/IP. NAS (Network Attached Storage) perangkat yang dilengkapi dengan hardisk, OS sendiri serta perangkat lunak untuk pengelolaan, dan bertugas untuk menyimpan serta men-share file dalam sebuah jaringan, serta memiliki skalabilitas yang lebih baik karena memiliki sifat yang independen. 
Contoh NAS adalah Seagate Business Storage.

FreeNAS 
  •  Definisi
           Salah satu Operasi system yang berbasis FreeBSD yang didesain khusus untuk membuat NAS atau memfungsikan server / PC agar bisa berfungsi menjadi NAS. biasanya digunakan untuk keperluan Share storage yaitu sebuah volume/partisi hardisk yang digunakan bersama-sama oleh beberapa komputer atau server. 
  • Kelebihan FreeNAS 
          - Ukuran file iso yang cukup kecil sehingga proses installasinya dapat berjalan dengan cepat dan performance sistem tidak terbebani oleh aplikasi yang di pergunakan.
          - Mudah di konfigurasi. FreeNAS mudah dalam pengaturan karena menggunakan web akan tetapi juga bisa menggunakan console terminal.
          - Kelengkapan feature. FreeNAS memiliki  service yang beragam, mulai dari ssh, Ftp, ISCSI, dll.

Langkah - Langkah Penerapan Cloud Computing dengan FreeNAS.

Penerapan cloud computing dengan FreeNAS maka diperlukan file ISO FreeNAS, silahkan mendownload terlebih dahulu disini : FreeNAS (9.10) , apabila belum memiliki VMware Workstation dapat mendownload disini : VMware Workstation
  1. Jalankan VMware Workstation , kemudian pilih  Create New Virtual Machine
  2. Pilih Custom (advanced), kemudian klik Next.
  3. kemudian pada Virtual machine hardware compatibility dibiarkan, langsung klik Next.
  4. Pada install from : pilih Installer disc image file (iso), kemudian klik Browse..., cari file iso FreeNAS yang sudah di siapkan, klik Next. 
  5. Berikan nama Virtual Machine yang akan dibuat sesuai keinginan, contoh “FreeNAS”, lalu pilih Browse untuk menentukan folder penyimpanannya, klik Next.
  6. Pada Processors, beri number of Processornya "2" dan number of cores per processornya "2" jadi total processor coresnya "4", agar tidak lelet, kemudian klik Next.
  7. Berikan Memory for rhe virtual machinenya 1 GB atau lebih, kemudian klik Next.
  8. Pada Network connection pilih " use network address translation (NAT) ", kemudian klik Next.
  9. pada SCSI Controller pilih "LSI Logic (Recommended)", kemudian klik Next.
  10. Pada Virtual disk type pilih "SCSI (Recommended)", kemudian klik Next.
  11. Pada Disk pilih "Create a new virtual disk", kemudian klik Next.
  12. Berikan maximum disk sizenya sebesar 20 GB, pilih "split virtual disk into multiple files", kemudian klik Next.
  13. Pada Disk File biarkan secara default namanya, kemudian klik Next.
  14. Pada Ready to Create Virtual Machine, hilangkan tanda centang pada Power on, kemudian klik Finish
  15. Kemudian masuk ke Edit Virtual Machine Setting, kemudian tekan Add untuk menambahkan Hard Disk.
  16. Pada Hardware types: pilih "Hard Disk", kemudian klik Next.
  17. Pada Virtual disk type pilih "SCSI (Recommended)", kemudian klik Next.
  18. Pada Disk pilih "Create a new virtual disk", kemudian klik Next.
  19. Berikan maximum disk2 sizenya sebesar 20 GB, pilih "split virtual disk into multiple files", kemudian klik Next.
  20. Pada Disk File biarkan secara default namanya, kemudian klik Finish.
  21. kemudian klik OK.
  22. Klik Power on this virtual machine.
  23. Sampai sini tahapan konfigurasi VMware untuk FreeNAS telah siap.
Sekarang masuk pada tahapan Penginstallan FreeNAS dan Konfigurasi FreeNAS
  1. Pilih "1. Install/Upgrade", kemudian klik OK.
  2. Pilih harddisk yang akan di install, tekan spacebar untuk mencentang, pilih yang da0, lalu klik OK.
  3. Pilih Yes untuk memulai proses installasi FreeNAS ke harddisk.
  4. Masukkan password untuk user "root", lalu klik OK.
  5. Selanjutnya tunggu installasi selesai hingga muncul tampilan dibawah ini. lalu klik OK.
  6. Pilih "3. Reboot System", lalu pilih OK
  7. Tunggu saat proses restart hingga muncul tampilan seperti dibawah ini. maka FreeNAS siap untuk digunakan . defaultnya FreeNAS akan memberikan IP Address dari DHCP.
  8. Buka IP address yang telah didapat pada web browser anda, hingga muncul tampilan seperti dibawah ini , lalu masukkan username "root" dan password yang sudah dibuat tadi, lalu klik Log In.
  9. Berikut ini adalah tampilan awal dari FreeNAS yang sudah di install.
  10. tahapan setting VMware, Install FreeNAS sudah selesai. Sekarang masuk pada tahapan konfigurasi FreeNAS.
  11.  Masuk pada tab Services, pilih iSCSI, kemudian klik Setting.
  12. Kemudian masuk pada tab Portal, lalu klik add portal. berikan comment "misalkan portal" pada IP Address pilih IP Address yang sesuai dengan IP FreeNAS, kemudian klik OK.
  13. Masuk Pada tab Initiators, lalu klik add initiators, berikan comment "misalkan init", kemudian klik OK.
  14. Masuk pada tab Authorized Access klik add Authorized Access, berikan user "misalkan user1" dan Secret sebanyak 12 angka. kemudian klik OK.
  15. Masuk pada tab target klik add target, berikan target name "misalkan target", pada portal grop pilih "1 (portal)", pada initiator pilih "1 (init)", kemudian klik OK.
  16. Masuk pada tab Extent klik add extent, berikan name "misalkan extent", pada device pilih da1 (20 GB) dan pada comment berikan "misalkan extent", kemudian klik OK.
  17. Masuk pada tab Associated Targets lalu klik add target/extent, pada target pilih target, sedangkan pada extent pilih extent kemudian klik OK.
  18. Kembali ke tab Services kemudian di ON kan iSCSInya. 
  19. Masuk ke settingan FTP centang allow root login kemudian tekan OK, dan di ON kan FTPnya.
  20. Masuk ke settingan SSH centang allow login as root with password kemudian centang OK, dan di ON kan SSHnya.
Selesai sudah Install FreeNAS dengan konfigurasi SSH, FTP, dan iSCSI. sekarang konfigurasi antara pc dengan FreeNAS apakah sudah terkoneksi atau tidak.
  1. Untuk mencoba iSCSI buka aplikasi iSCSI Initiator pada OS windows anda.
  2. pada tab Targets isi dengan IP Address FreeNAS lalu Klik Quick Connect.
  3. maka akan muncul tampilan bahwa sudah connected, kemudian klik Done
  4. Masuk ke Disk Management, kemudian klik OK.
  5. Klik kanan pada unallocated di disk 1 kemudian pilih New Simple Volume, dan tekan next,next saja pada tampilan New Simple Volume hingga Klik Finish muncul kemudian klik Finish.
  6. Lihat pada Computer ada tidak harddisk yang baru di tambahkan jika ada maka akan muncul seperti gambar dibawah ini. sampai sini settingan iSCSI sudah berhasil.
  7. Kemudian Cek Ftp menggunakan WinSCP Login, masukkan Host namenya "IP FreeNAS", user namenya "root", passwordnya yang sudah buat diawal, lalu klik Login.
  8. Pada tampilan Warning, klik Yes.
  9. jika berhasil maka akan muncul seperti gambar dibawah ini. sampai sini FTP sudah berhasil.
  10. Kemudian cek SSH dengan menggunakan Putty, masukkan IP FreeNAS pada hostname, lalu klik Open.
  11. Pada PuTTY Security Alert klik Yes.
  12. Masuk dengan user "root" dan password yang sudah dibuat diawal tadi, kemudian tekan enter. sampai sini SSH juga sudah berhasil.
  13. sampai sini sudah berhasil melakukan penerapan cloud compunting menggunakan FreeNAS, <SELAMAT>
Jika ingin melihat video mulai dari awal dapat dilihat dibawah ini.tetapi mohon maaf audionya kurang begitu jelas.