Sabtu, 30 Juni 2018

Paralel Computing Cuda

Parallel Computing

Parallel computing muncul ketika komputer membawa lebih dari satu task secara simultan (bersamaan). Teknik ini dapat
memungkinkan komputer bekerja secara lebih cepat dibandingkan dengna melakukannya secara sekaligus, seperti halnya seseorang dengan dua tangan dapat menyelesaikan lebih banyak pekerjaan dengan orang yang hanya menggunakan satu tangan saja.

Pada dasarnya, program komputer didesain dengan menggunakan sebuah cara di mana tidak memungkinkan parallel computing, yaitu dengan menyelesaikan setiap langkah dalam satu waktu. Untuk program yang melakukan proses dengan cara ini (parallel computing), maka program tersebut didesain untuk dapat membagi task ke dalam task-task yang lebih kecil yang dapat dikerjakan secara individual.


Keuntungan utama parallel computing adalah program dapat melakukan eksekusi secara lebih cepat. Jika hardware komputer yang mengeksekusi sebuah program yang menggunakan parallel computing memiliki arsitekturnya, seperti pada processor (CPU / Central Processing Unit), parallel computing dapat menjadi sebuah teknik yang efisien.


Sebagai sebuah analogi, jika satu orang membawa satu boks dan orang tersebut adalah processor, program yang mengeksekusi secara berurutan hanya dapat membawa satu boks dalam satu waktu. Ketika mengeksekusi dalam paralel, program yang sama dapat terbagi ke dalam dua task berbeda, dan jika terdapat dua processor yang tersedia, maka dapat membawa dua boks dalam waktu yang sama. Dengan melakukan hal ini, orang tersebut dapat membawa boks dan menyelesaikan tugasnya secara lebih cepat.


Programming CUDA


GPU (Graphical Processing Unit) pada awalnya adalah sebuah prosesor yang berfungsi khusus untuk melakukan rendering pada kartu grafik saja, tetapi seiring dengan semakin meningkatnya kebutuhan rendering, terutama untuk mendekati waktu proses yang realtime /sebagaimana kenyataan sesungguhnya, maka meningkat pula kemampuan prosesor grafik tersebut. akselerasi peningkatan teknologi GPU ini lebih cepat daripada peningkatan teknologi prosesor sesungguhnya (CPU), dan pada akhirnya GPU menjadi General Purpose, yang artinya tidak lagi hanya untuk melakukan rendering saja melainkan bisa untuk proses komputasi secara umum.penggunaan Multi GPU dapat mempercepat waktu proses dalam mengeksekusi program karena arsitekturnya yang natively parallel. Selain itu Peningkatan performa yang terjadi tidak hanya berdasarkan kecepatan hardware GPU saja, tetapi faktor yang lebih penting adalah cara membuat kode program yang benarbenar bisa efektif berjalan pada Multi GPU.
CUDA merupakan teknologi anyar dari produsen kartu grafis Nvidia, dan mungkin belum banyak digunakan orang secara umum. Kartu grafis lebih banyak digunakan untuk menjalankan aplikasi game, namun dengan teknologi CUDA ini kartu grafis dapat digunakan lebih optimal ketika menjalankan sebuah software aplikasi. Fungsi kartu grafis Nvidia digunakan untuk membantu Processor (CPU) dalam melakukan kalkulasi dalam proses data.


CUDA merupakan singkatan dari Compute Unified Device Architecture, didefinisikan sebagai sebuah arsitektur komputer parallel, dikembangkan oleh Nvidia. Teknologi ini dapat digunakan untuk menjalankan proses pengolahan gambar, video, rendering 3D, dan lain sebagainya.
Singkatnya, CUDA dapat memberikan proses dengan pendekatan bahasa C, sehingga programmer atau pengembang software dapat lebih cepat menyelesaikan perhitungan yang komplek. Bukan hanya aplikasi seperti teknologi ilmu pengetahuan yang spesifik. CUDA sekarang bisa dimanfaatkan untuk aplikasi multimedia. Misalnya meng-edit film dan melakukan filter gambar. Sebagai contoh dengan aplikasi multimedia, sudah mengunakan teknologi CUDA. Software TMPGenc 4.0 misalnya membuat aplikasi editing dengan mengambil sebagian proces dari GPU dan CPU. VGA yang dapat memanfaatkan CUDA hanya versi 8000 atau lebih tinggi.
Keuntungan dengan CUDA sebenarnya tidak luput dari teknologi aplikasi yang ada. CUDA akan mempercepat proses aplikasi tertentu, tetapi tidak semua aplikasi yang ada akan lebih cepat walaupun sudah mengunakan fitur CUDA. Hal ini tergantung seberapa cepat procesor yang digunakan, dan seberapa kuat sebuah GPU yang dipakai. Dan bagian terpenting adalah aplikasi apa yang memang memanfaatkan penuh kemampuan GPU dengan teknologi CUDA. Kedepan seperti pengembang software Adobe akan ikut memanfaatkan fitur CUDA pada aplikasi mereka.Jawaban akhir adalah, untuk memanfaatkan CUDA kembali melihat aplikasi software yang ada. Apakah software yang ada memang mampu memanfaatkan CUDA dengan proses melalui GPU secara penuh. Hal tersebut akan berguna untuk mempercepat selesainya proses pada sebuah aplikasi. Dengan kecepatan proses GPU, aplikasi akan jauh lebih cepat. Khususnya teknologi ilmu pengetahuan dengan ramalan cuaca, simulator pertambangan atau perhitungan yang rumit dibidang keuangan. Sedangkan aplikasi umum sepertinya masih harus menunggu.



Sumber :

  • http://rohmansubscribe.blogspot.com/2018/06/parallel-computing-cuda.html

Jumat, 01 Juni 2018

Quantum Computation

Quantum Computation

Quantum Computation atau komputer kuantum adalah alat hitung yang menggunakan sebuah fenomena mekanika kuantum, misalnya superposisi dan keterkaitan, untuk melakukan operasi data.
Dalam komputasi klasik, jumlah data dihitung dengan bit, dalam komputer kuantum hal ini dilakukan dengan qubit. Prinsip dasar komputer kuantum adalah bahwa sifat kuantum dari partikel dapat digunakan untuk mewakili data dan struktur data, dan bahwa mekanika kuantum dapat digunakan untuk mewakili data dan struktur data, dan bahwa mekanika kuantum dapat digunakan untuk melakukan operasi dengan data ini. Dalam hal ini untuk mengembangkan komputer dengan sistem kuantum diperlukan suatu logika baru yang sesuai dengan prinsip kuantum.

Ide mengenai komputer kuantum ini berasal dari beberapa fisikawan antara lain Charles H. Bennett dari IBM, Paul A. Benioff dari Argonne National Laboratory, Illinois, Davic Deutsch dari Unversity of Oxford, dan Richard P Feynman dari California Institute of Technology (Caltech).

Pada awalnya Feynman mengemukakan idenya mengenai sistem kuantum yang juga dapat melakukan proses penghitungan. Fenyman juga mengemukakan bahwa sistem ini bisa menjadi simulator bagi percobaan fisika kuantum.

Selanjutnya para ilmuwan mulai melakukan riset mengenai sistem kuantum tersebut, mereka juga berusaha untuk menemukan logika yang sesuai dengan sistem tersebut. Sampai saat ini telah dikemukaan dua algoritme baru yang bisa digunakan dalam sistem kuantum yaitu algoritme shor dan algoritme grover.

Walaupun komputer kuantum masih dalam pengembangan, telah dilakukan eksperimen dimana operasi komputasi kuantum dilakukan atas sejumlah kecil Qubit. Riset baik secara teoretis maupun praktik terus berlanjut dalam laju yang cepat, dan banyak pemerintah nasional dan agensi pendanaan militer mendukung riset komputer kuantum untuk pengembangannya baik untuk keperluan rakyat maupun masalah keamanan nasional seperti kriptoanalisis.

Telah dipercaya dengan sangat luas, bahwa apabila komputer kuantum dalam skala besar dapat dibuat, maka komputer tersebut dapat menyelesaikan sejumlah masalah lebih cepat daripada komputer biasa. Komputer kuantum berbeda dengan komputer DNA dan komputer klasik berbasis transistor, walaupun mungkin komputer jenis tersebut menggunakan prinsip kuantum mekanik. Sejumlah arsitektur komputasi seperti komputer optik walaupun menggunakan superposisi klasik dari gelombang elektromagnetik, namun tanpa sejumlah sumber kuantum mekanik yang spesifik seperti keterkaitan, maka tak dapat berpotensi memiliki kecepatan komputasi sebagaimana yang dimiliki oleh komputer kuantum.



Algoritma pada Quantum Computing




Para ilmuwan mulai melakukan riset mengenai sistem kuantum tersebut, mereka juga berusaha untuk menemukan logika yang sesuai dengan sistem tersebut. Sampai saat ini telah dikemukaan dua algoritma baru yang bisa digunakan dalam sistem kuantum yaitu algoritma shor dan algoritma grover.

  • Algoritma Shor

Algoritma yang ditemukan oleh Peter Shor pada tahun 1995. Dengan menggunakan algoritma ini, sebuah komputer kuantum dapat memecahkan sebuah kode rahasia yang saat ini secara umum digunakan untuk mengamankan pengiriman data. Kode yang disebut kode RSA ini, jika disandikan melalui kode RSA, data yang dikirimkan akan aman karena kode RSA tidak dapat dipecahkan dalam waktu yang singkat. Selain itu, pemecahan kode RSA membutuhkan kerja ribuan komputer secara paralel sehingga kerja pemecahan ini tidaklah efektif.

  • Algoritma Grover

Algoritma Grover adalah sebuah algoritma kuantum yang menawarkan percepatan kuadrat dibandingkan pencarian linear klasik untuk list tak terurut. Algoritma Grover menggambarkan bahwa dengan menggunakan pencarian model kuantum, pencarian dapat dilakukan lebih cepat dari model komputasi klasik. Dari banyaknya algoritma kuantum, algoritma grover akan memberikan jawaban yang benar dengan probabilitas yang tinggi. Kemungkinan kegagalan dapat dikurangi dengan mengulangi algoritma. Algoritma Grover juga dapat digunakan untuk memperkirakan rata-rata dan mencari median dari serangkaian angka, dan untuk memecahkan masalah Collision.


Perbandingan Komputasi Klasik dan Quantum

Komputasi klasik bergantung, pada tingkat tertinggi, pada prinsip-prinsip yang diungkapkan oleh aljabar Boolean, beroperasi dengan prinsip gerbang logika 7-mode (biasanya), meskipun mungkin ada hanya dengan tiga mode (yang AND, NOT, dan COPY). Data harus diproses dalam keadaan biner eksklusif pada setiap titik waktu - yaitu, baik 0 (tidak aktif / salah) atau 1 (pada / benar). Nilai-nilai ini adalah digit biner, atau bit. Jutaan transistor dan kapasitor di jantung komputer hanya dapat berada di satu negara pada titik mana pun. Sementara waktu yang diperlukan setiap transistor atau kapasitor baik dalam 0 atau 1 sebelum negara beralih sekarang dapat diukur dalam seperseribu detik, masih ada batas mengenai seberapa cepat perangkat ini dapat dibuat untuk beralih negara. Ketika kita maju ke sirkuit yang lebih kecil dan lebih cepat, kita mulai mencapai batas fisik material dan ambang hukum fisika klasik untuk diterapkan. Di luar ini, dunia kuantum mengambil alih, yang membuka potensi sebesar tantangan yang disajikan.

Komputer Quantum, sebaliknya, dapat bekerja dengan gerbang logika dua mode: XOR dan mode yang akan kita sebut QO1 (kemampuan untuk mengubah 0 menjadi superposisi 0 dan 1, gerbang logika yang tidak bisa ada dalam komputasi klasik) . Dalam komputer kuantum, sejumlah partikel unsur seperti elektron atau foton dapat digunakan (dalam praktiknya, keberhasilan juga telah dicapai dengan ion), dengan muatan atau polarisasi keduanya bertindak sebagai representasi 0 dan / atau 1. Setiap partikel-partikel ini dikenal sebagai bit kuantum, atau qubit, sifat dan perilaku partikel-partikel ini membentuk dasar komputasi kuantum. Dua aspek yang paling relevan dari fisika kuantum adalah prinsip-prinsip superposisi dan belitan.
     
   Superposisi
Pikirkan qubit sebagai elektron dalam medan magnet. Spin elektron mungkin baik sejajar dengan bidang, yang dikenal sebagai keadaan spin-up, atau berlawanan dengan lapangan, yang dikenal sebagai keadaan spin-down. Mengubah spin elektron dari satu keadaan ke keadaan lainnya dicapai dengan menggunakan pulsa energi, seperti dari laser - katakanlah kita menggunakan 1 unit energi laser. Tetapi bagaimana jika kita hanya menggunakan setengah unit energi laser dan benar-benar mengisolasi partikel dari semua pengaruh eksternal? Menurut hukum kuantum, partikel kemudian memasuki superposisi keadaan, di mana ia berperilaku seolah-olah berada di kedua negara secara bersamaan. Setiap qubit yang digunakan dapat mengambil superposisi dari 0 dan 1. Dengan demikian, jumlah perhitungan yang dapat dilakukan oleh komputer kuantum adalah 2 ^ n, di mana n adalah jumlah qubit yang digunakan. Sebuah komputer kuantum yang terdiri dari 500 qubit akan memiliki potensi untuk melakukan 2 ^ 500 perhitungan dalam satu langkah. Ini adalah angka yang luar biasa - 2 ^ 500 adalah atom yang jauh lebih banyak daripada yang ada di alam semesta yang dikenal (ini adalah pemrosesan paralel yang benar - komputer klasik saat ini, bahkan yang disebut prosesor paralel, masih hanya benar-benar melakukan satu hal pada satu waktu: hanya ada dua atau lebih dari mereka melakukannya). Tetapi bagaimana partikel-partikel ini berinteraksi satu sama lain? Mereka akan melakukannya melalui belitan kuantum.

   Entanglement
Entanglement Partikel (seperti foton, elektron, atau qubit) yang berinteraksi di beberapa titik mempertahankan jenis koneksi dan dapat terjerat satu sama lain secara berpasangan, dalam proses yang dikenal sebagai korelasi. Mengetahui keadaan spin dari satu partikel yang terjerat - naik atau turun - memungkinkan seseorang untuk mengetahui bahwa spin dari pasangannya berada dalam arah yang berlawanan. Yang lebih menakjubkan adalah pengetahuan yang, karena fenomena superpostisi, partikel yang diukur tidak memiliki arah putaran tunggal sebelum diukur, tetapi secara simultan dalam keadaan spin-up dan spin-down. Keadaan spin dari partikel yang diukur diputuskan pada saat pengukuran dan dikomunikasikan ke partikel yang berkorelasi, yang secara bersamaan mengasumsikan arah putaran berlawanan dengan yang diukur partikel. Ini adalah fenomena nyata (Einstein menyebutnya "tindakan seram di kejauhan"), mekanisme yang tidak bisa, seperti yang dijelaskan oleh teori apa pun - itu harus diambil sebagai diberikan. Belitan kuantum memungkinkan qubit yang dipisahkan oleh jarak yang luar biasa untuk berinteraksi satu sama lain secara instan (tidak terbatas pada kecepatan cahaya). Tidak peduli seberapa besar jarak antara partikel-partikel yang berkorelasi, mereka akan tetap terjerat selama mereka diisolasi.

Secara bersama-sama, superposisi kuantum dan belitan menciptakan kekuatan komputasi yang sangat ditingkatkan. Di mana register 2-bit di komputer biasa dapat menyimpan hanya satu dari empat konfigurasi biner (00, 01, 10, atau 11) pada waktu tertentu, register 2-qubit di komputer kuantum dapat menyimpan keempat angka secara bersamaan, karena setiap qubit mewakili dua nilai. Jika lebih banyak qubit ditambahkan, peningkatan kapasitas diperluas secara eksponensial.

   Pemrograman Quantum
Mungkin yang lebih menarik daripada kekuatan komputasi kuantum adalah kemampuan yang ditawarkan untuk menulis program dengan cara yang benar-benar baru. Sebagai contoh, komputer kuantum dapat menggabungkan urutan pemrograman yang akan berada di sepanjang garis "mengambil semua superposisi dari semua perhitungan sebelumnya" - sesuatu yang tidak berarti dengan komputer klasik - yang akan memungkinkan cara yang sangat cepat untuk memecahkan masalah matematika tertentu. , seperti faktorisasi dalam jumlah besar, salah satu contoh yang kita diskusikan di bawah ini.

Ada dua keberhasilan penting sejauh ini dengan pemrograman kuantum. Yang pertama terjadi pada tahun 1994 oleh Peter Shor, (sekarang di AT & T Labs) yang mengembangkan algoritma kuantum yang dapat secara efisien menghitung jumlah besar. Ini berpusat pada sistem yang menggunakan teori angka untuk memperkirakan periodisitas sejumlah besar urutan. Terobosan besar lainnya terjadi dengan Lov Grover of Bell Labs pada tahun 1996, dengan algoritma yang sangat cepat yang terbukti paling cepat untuk mencari melalui basis data yang tidak terstruktur. Algoritma ini sangat efisien sehingga hanya membutuhkan, rata-rata, sekitar akar N kuadrat (di mana N adalah jumlah total elemen) pencarian untuk menemukan hasil yang diinginkan, dibandingkan dengan pencarian dalam komputasi klasik, yang rata-rata membutuhkan N / 2 pencarian.

   Permasalahan - Dan Beberapa Solusi
Hal di atas terdengar menjanjikan, tetapi ada rintangan luar biasa yang masih harus diatasi. Beberapa masalah dengan komputasi kuantum adalah sebagai berikut:

  • Interferensi - Selama fase perhitungan perhitungan kuantum, gangguan sekecil apa pun dalam sistem kuantum (misalkan foton nyasar atau gelombang radiasi EM) menyebabkan komputasi kuantum runtuh, sebuah proses yang dikenal sebagai de-koherensi. Komputer kuantum harus benar-benar terisolasi dari semua gangguan eksternal selama fase perhitungan. Beberapa keberhasilan telah dicapai dengan penggunaan qubit di medan magnet yang intens, dengan penggunaan ion.
  • Koreksi kesalahan - Karena benar-benar mengisolasi sistem kuantum telah terbukti sangat sulit, sistem koreksi kesalahan untuk perhitungan kuantum telah dikembangkan. Qubit bukanlah bit data digital, sehingga mereka tidak dapat menggunakan koreksi kesalahan konvensional (dan sangat efektif), seperti metode triple redundant. Mengingat sifat komputasi kuantum, koreksi kesalahan sangat penting - bahkan kesalahan tunggal dalam perhitungan dapat menyebabkan validitas seluruh komputasi runtuh. Ada banyak kemajuan di bidang ini, dengan algoritma koreksi kesalahan dikembangkan yang menggunakan 9 qubit (1 komputasi dan 8 pemasyarakatan). Baru-baru ini, ada terobosan oleh IBM yang membuat dengan total 5 qubit (1 komputasi dan 4 pemasyarakatan).
  • Ketaatan Output - Terkait erat dengan dua di atas, mengambil data output setelah perhitungan kuantum adalah risiko lengkap merusak data. Dalam contoh komputer kuantum dengan 500 qubit, kita memiliki peluang 1 dalam 2 ^ 500 untuk mengamati output yang tepat jika kita mengukur output. Jadi, yang diperlukan adalah metode untuk memastikan bahwa, segera setelah semua perhitungan dibuat dan tindakan pengamatan berlangsung, nilai yang diamati akan sesuai dengan jawaban yang benar. Bagaimana ini bisa dilakukan? Ini telah dicapai oleh Grover dengan algoritma pencarian databasenya, yang bergantung pada bentuk "gelombang" khusus dari kurva probabilitas yang melekat pada komputer kuantum, yang memastikan, setelah semua perhitungan selesai, tindakan pengukuran akan melihat status kuantum mengurai jawaban yang benar.


Meskipun ada banyak masalah yang harus diatasi, terobosan dalam 15 tahun terakhir, dan terutama di 3 terakhir, telah membuat beberapa bentuk komputasi kuantum praktis tidak tidak layak, tetapi ada banyak perdebatan mengenai apakah ini kurang dari satu dekade lagi atau seratus tahun ke depan. Namun, potensi yang ditawarkan teknologi ini menarik minat yang luar biasa baik dari pemerintah maupun sektor swasta. Aplikasi militer termasuk kemampuan untuk memecahkan kunci enkripsi melalui pencarian kekerasan, sementara aplikasi sipil berkisar dari pemodelan DNA ke analisis ilmu material kompleks. Potensi inilah yang dengan cepat meruntuhkan penghalang pada teknologi ini, tetapi apakah semua hambatan dapat dipatahkan, dan kapan, adalah pertanyaan terbuka.



Sumber :
  • https://id.wikipedia.org/wiki/Komputer_kuantum
  • http://bingbengbeng.blogspot.co.id/2018/05/quantum-computation.html


Jumat, 20 April 2018

Cloud Computing dan Grid Computing


Hasil gambar untuk cloud computing dan grid computing




Definisi Cloud Computing

Apakah Cloud Computing ?

Anda mungkin mulai sering mendengar istilah “cloud” atau “cloud computing”, tetapi masih belum terlalu mengerti ‘binatang’ apa cloud itu sebenarnya. Sebagian orang menganggap cloud adalah semacam teknik virtualisasi komputer, sehingga satu atau beberapa komputer bisa dibuat menjadi banyak virtual komputer. Ada juga yang menganggap cloud tidak ada bedanya dengan VPS (virtual private server), di mana VPS ini adalah teknologi yang sudah ada dari beberapa tahun yang lalu. Pada dasarnya pendapat tersebut tidak sepenuhnya salah, karena virtualisasi memang merupakan salah satu komponen dari cloud computing.

Tetapi pengertian cloud sebenarnya lebih dari itu. Cloud computing adalah kumpulan dari beberapa computing resources yang terintegrasi menjadi satu dan di-delivered melalui web. Cloud computing juga didasarkan pada teknologi grid computing, yaitu membuat skalabilitas suatu sistem computing menjadi sangat besar dengan cara menggabungkan beberapa computing resources menjadi satu resource.

Bisa dikatakan cloud computing adalah grid computing + virtualisasi


Perbedaan Cloud dan Grid computing

- Komputasi Grid lebih menekankan pada‘resources sharing’

- Fokus komputasi grid adalah kepada kemampuan memindahkan beban kerja ke lokasi sumber daya yang memerlukan. 

- Cloud computing lebih menekankan pada kepemilikan (proprietary), setiap pengguna cloud bisa mendapatkan sumber daya pribadi dari cloud, yang disediakan oleh service provider tertentu dan pengguna tidak perlu berkontribusi dalam penyediaan sumber daya.

- Komputasi Grid menekankan pada tugas-tugas komputasi yang sensitif dan sulit untuk yang berskala otomatis. 

- Cloud computing menekankan pada aplikasi transaksi, suatu permintaan dengan jumlah besar dan terpisah-pisah, dan dapat untuk skala otomatis atau semiotomatis.


Distributed Computing dalam Cloud Computing


Distributed Computing adalah suatu bentuk dari parallel computing yang berkaitan dengan sistem hardware dan software yang memiliki lebih dari satu elemen pemrosesan atau storage element, concurent process, atau multiple program berjalan di bawah pengendalian yang ketat. Pada distributed computing suatu program dipecah ke beberapa bagian yang dijalankan secara bersamaan pada banyak komputer yang berkomunikasi melalui jaringan. 

Distributed computing dapat berjalan secara simultan tetapi program yang di distribusikan sering harus sesuai dengan lingkungan yang heterogen, link jaringan dari berbagai latency dan kegagalan-kegagalan di jaringan atau komputer yang tidak diprediksi.


Map Reduce dan NoSQL (Not Only SQL)

Map reduce merupakan framework pemrograman yang berfungsi untuk processing data yang berukuran besar yang biasa digunakan untuk komputasi terdistribusi pada banyak computer. 

NoSQL adalah istilah yang dikenal untuk merujuk pada kelas yang luas dari DBMS yang di identifikasikan dengan tidak mematuhi aturan pada model RDBMS yang banyak digunakan dan tidak dibangun terutama dengan table dan umumnya tidak menggunakan SQL untuk memanipulasi data, sehingga sering ditafsirkan sebagai “tidak hanya SQL”.


Studi Kasus penerapan Cloud Computing pada layanan SaaS


Seperti namanya, Paas adalah layanan yang menyediakan modul-modul siap pakai yang dapat digunakan untuk mengembangkan sebuah aplikasi, yang tentu saja hanya bisa berjalan di atas platform tersebut. Paas memfokuskan aplikasi dimana developer tidak usah memikirkan tentang hardware dan tetap fokus pada application development-nya tanpa harus mengkhawatirkan operating system, infrastructure scaling, load balancing dan lainnya. Pengembang membuat aplikasi pada platform penyedia melalui internet. Penyedia PaaS dapat menggunakan API, portal situs web atau perangkat lunak gateway diinstal pada komputer pelanggan. Seperti juga layanan SaaS, pengguna Paas tidak memilliki kendali terhadap sumber daya komputasi dasar seperti memory, media penyimpangan, processing power dan lain-lain, yang semuanya diatur oleh provide layanan ini. Pionir di area ini adalah Google AppEngine, yang menyediakan berbagai tools untuk mengembangkan aplikasi di atas platform Google, dengan menggunakan bahasa pemrograman phyton da Django. Kemudian salesforce juga menyediakan layanan PaaS melalui Force.com, menyediakan modul-modul untuk mengembangkan aplikasi di atas platform salesforce yang menggunakan bahasa Apex.


Dan mungkin yang jarang sekali diketahui, bahwa Facebook juga bisa dianggap menyediakan layanan PaaS, yang memungkinkan kita untuk membuat aplikasi diatasnya. Salah satu yang berhasil menangguk untuk besar dari layanan PaaS Facenook adalah perusahaan bernama Zynga. Aplikasi tersebut adalah Farmville yang cukup popular di Facebook



Sumber :
http://www.cozy.co.id/tentang-cloud/definisi-cloud.html
http://saridr.blogspot.com/2013/04/cloud-computing.html
http://prichallean.blogspot.com/2013/02/cloud-computing-pemanfaatan-teknologi.html