Sabtu, 15 April 2017

NoSQL



NoSQL adalah sebuah konsep mengenai penyimpanan data non-relasional. Berbeda dengan model basis data relasional yang selama ini digunakan, NoSQL menggunakan beberapa metode yang berbeda-beda ( Wikipedia ). Metode ini bergantung dari jenis database yang digunakan. Karena NoSQL sendiri merupakan konsep database, dan pada implementasinya, banyak jenis-jenis dari NoSQL ini.

NoSQL sangat berguna pada data-data yang terus-menerus berkembang, dimana  data tersebut sangat kompleks sehingga sebuah database relational tidak lagi bisa mengakomodir. Salah satu bentuknya adalah ketika suatu data saling berhubungan satu sama lain, maka akan muncul proses duplikasi data. Dimana data saling memanggil ke beberapa permintaan, tambahan data baru, perubahan data, dan lain-lain dengan key yang sama. Karena faktor hubungan antar data yang sama terjadi terus-menerus, mendorong faktor redudansi data, data menjadi berlipat-lipat, dan pada akhirnya akan menyebabkan crash pada database berkonsep RDBMS.

NoSQL menyederhanakan proses yang terjadi dalam sistem basis data relasional. Dimana hal-hal yang menyebabkan redudansi, dihilangkan sehingga trafik server akan seimbang. Penyederhanaan proses ini memungkinkan data direplikasi di banyak server secara mudah dan menjamin ketersediaan data.

Contoh nyata penjelasan diatas bisa teman-teman lihat pada situs jejaring sosial, FACEBOOK.COM. Pernahkah berfikir sebesar apa server penyimpanan facebook dengan anggota ribuan orang tersebut ?. Apabila teman-teman alim, mungkin tidak jadi masalah, tapi bagaimana jika ada yang narsis lalu sering upload foto setiap hari ?, bagaimana kalau setengah dari member facebook adalah orang-orang yang narsis ?, berapa besar ukuran yang dibutuhkan facebook pada servernya ?

Pengelompokan Database NoSql

Secara umum, database noSQL dibagi menurut format penyimpanan dokmentnya . Berikut ini adalah pengelompokan database noSQL berdasarkan model (penyimpanan) datanya:
1. Document Database contohnya MongoDB, seiap satu object data disimpan dalam satu dokumen. Dokumen sendiri bisa terdiri dari key-value, dan value sendiri bisa berupa array atau key-value bertingkat.
2. Graph , Format penyimpanan data dalam struktur graph. Format ini sering dipakai untuk data yang saling berhubungan seperti jejaring social. Contoh database noSQL dengan format ini adalah Neo4J dan FlockDB. FlockDB dipakai oleh twitter.
3. Key – Value,  contoh database jenis ini adalah Apache Cassandra.
4. Object Database. Format database yang disimpan dalam object object, Object disini sama dengan pengertian object di Pemrograman beroreintasi object , Contoh databasenya adalah Db4o.
5. Tipe lainnya adalah tabular, tuple store dan berbagai jenis lain yang tidak terlalu populer.

Kelebihan NoSql

1. NoSQL bisa menampung data yang terstruktur, semi terstruktur dan tidak terstuktur secara efesien dalam skala besar (big data/cloud).
2. Menggunakan OOP dalam pengaksesan atau manipulasi datanya.
3. NoSQL tidak mengenal schema tabel yang kaku dengan format data yang kaku. NoSQL sangat cocok untuk data yang tidak terstruktur, istilah singkat untuk fitur ini adalah Dynamic Schema.
4. Autosharding, istilah sederhananya, jika database noSQL di jalankandi cluster server (multiple server) maka data akan tersebar secara otomatis dan merata keseluruh server.

Kekurangan dari database NoSQL sendiri , minimal bagi saya adalah Hostingnya mahal. beberapa layanan di luar negeri mencharge biaya 100-200USD untuk hosting database noSQL. Selain itu, saya belum pernah menemukan hosting Cpanel yang mendukung database MongoDB atau database noSQL lainnya.

Selain itu, karena bervariasinya produk dan format penyimpanan, berpindah antar satu produk database ke produk noSQL lainnya perlu waktu untuk belajar. Contohnya ketika anda pindah dari MongoDB ke Cassandra, maka anda harus belajar lagi dari awal, berbeda dengan database RDMS.

Reffrensi :
http://blog.randisunarsa.web.id/?p=383
http://www.candra.web.id/pengantar-database-nosql-dan-mongodb/

Jumat, 14 April 2017

Pengantar Komputasi Grid

Pada pembahasan selanjutnya dalam mata kuliah pengantar komputasi modern yaitu komputasi grid atau grid computing. grid computing berbeda dengan komputasi yang telah dibahas pada materi sebelumnya yaitu cloud computing.
Adapun perbedaan diantara kedua komputasi tersebut adalah jika sumber daya pada cloud computing adalah untuk masing - masing pengguna, maka pada sumber daya yang ada pada grid computing dapat digunakan secara bersama - sama untuk melakukan suatu proses komputasi.

Definisi Komputasi Grid

Komputasi Grid (Grid Computing) adalah penggunaan sumber daya yang melibatkan banyak komputer yang terdistribusi dan terpisah secara geografis untuk memecahkan persoalan komputasi dalam skala besar. Seperti halnya pengguna internet yang mengakses berbagai situs web dan menggunakan berbagai protokol seakan-akan dalam sebuah sistem yang berdiri sendiri, maka pengguna aplikasi Grid computing seolah-olah akan menggunakan sebuah virtual komputer dengan kapasitas pemrosesan data yang sangat besar.

Menurut tulisan singkat oleh Ian Foster ada check-list yang dapat digunakan untuk mengidentifikasi bahwa suatu sistem melakukan komputasi grid yaitu :
  • Sistem tersebut melakukan koordinasi terhadap sumberdaya komputasi yang tidak berada dibawah suatu kendali terpusat. Seandainya sumber daya yang digunakan berada dalam satu cakupan domain administratif, maka komputasi tersebut belum dapat dikatakan komputasi grid.
  • Sistem tersebut menggunakan standard dan protokol yang bersifat terbuka (tidak terpaut pada suatu implementasi atau produk tertentu). Komputasi grid disusun dari kesepakatan-kesepakatan terhadap masalah yang fundamental, dibutuhkan untuk mewujudkan komputasi bersama dalam skala besar. Kesepakatan dan standar yang dibutuhkan adalah dalam bidang autentikasi, otorisasi, pencarian sumberdaya, dan akses terhadap sumber daya.
  • Sistem tersebut berusaha untuk mencapai kualitas layanan yang canggih, (nontrivial quality of service) yang jauh diatas kualitas layanan komponen individu dari komputasi grid tersebut.

Latar Belakang Komputasi Grid

Perkembangan kecepatan prosesor berkembang sesuai dengan Hukum Moore, meskipun demikian bandwith jaringan komputer berkembang jauh lebih pesat. Semakin cepatnya jalur komunikasi ini membuka peluang untuk menggabungkan kekuatan komputasi dari sumber-sumber komputasi yang terpisah. Perkembangan ini memungkinkan skala komputasi terdistribusi ditingkatkan lebih jauh lagi secara geografis, melintasi batas-batas domain administrasi yang sudah ada.

Pesatnya perkembangan teknologi komputer di negara-negara maju, membuat para penelitinya semakin haus akan tenaga komputasi yang dapat menjawab tantangan dan permasalahan yang mereka hadapi. Walaupun sudah memiliki supercomputer dengan kapasitas yang sangat tinggi , apa yang sudah ada ini pun dirasa tetap kurang, karena mereka berusaha memecahkan permasalahan yang lebih besar lagi. Setelah semua komputer yg dimiliki seorang "peneliti haus tenaga komputasi" dipergunakan habis-habisan untuk memecahkan masalahnya, setelah berbagai cara untuk memecahkan masalah dicoba, dan dipilih yang paling efisien, tetapi tetap masalahnya belum bisa dipecahkan juga, apa yang harus dia lakukan? Komputasi grid adalah salah satu jawaban dari pertanyaan ini.

Peluang

Dalam buku The Grid:Blue Print for a new computing infrastructure dijelaskan bahwa yang dimaksud dengan komputasi grid adalah infrastruktur perangkat keras dan perangkat lunak yang dapat menyediakan akses yang bisa diandalkan, konsisten, tahan lama dan tidak mahal terhadap kemampuan komputasi mutakhir yang tersedia.

"A computational grid is a hardware and software infrastructure that provides dependable, consistent, pervasive, and inexpensive access to high-end computational capabilities."

Seandainya kelak dikemudian hari teknologi yang dibutuhkan untuk mewujudkan visi paradigma komputasi grid ini sudah mapan, peluang akan semakin terbuka bagi kerjasama lintas organisasi, lintas benua dan lintas bangsa. Akan terbuka peluang bagi peneliti di Indonesia yang ingin melakukan komputasi yang sangat rumit, dengan menggunakan supercomputer tercepat di dunia, tanpa harus melakukan investasi besar-besaran dalam bidang teknologi informasi.

Evolusi Grid Computing

Teknologi grid computing merupakan teknologi yang telah dikembangkan dalam waktu yang panjang. Secara evolusi kita melihat pengembangan teknologi sejenis mulai dari Condor, kemudian diikuti oleh PVM (Parallel Virtual Machine) dan MPI (Message Passing Interface) , sampai dengan Globus Toolkit.
Sejak awal, para peneliti di bidang komputasi berkinerja tinggi telah menggunakan dua pendekatan, (1) supercomputer, membangun sebuah komputer dengan teknologi perangkat keras berkinerja tinggi,
(2) multicomputer, membangun sebuah sistem komputer dengan teknologi jaringan interkoneksi dan perangkat lunak. 

Pendekatan pertama umumnya menghasilkan sebuah komputer yang berkinerja tinggi, tetapi berharga amat mahal sehingga hanya dapat dimiliki oleh segelintir pihak saja. 
Pendekatan kedua menghasilkan suatu sistem komputer yang kinerjanya bervariasi sesuai jumlah komputer yang tergabung dan konfigurasi perangkat lunak yang digunakan.

Walaupun harga suatu sistem komputer berkinerja tinggi yang dibangun dengan pendekatan multicomputer lebih terjangkau dibandingkan dengan supercomputer, pemakaiannya masih terbatas. Sistem komputer berbasis jaringan tersebut umumnya diterapkan pada komputer-komputer yang terhubung dalam suatu jaringan lokal (LAN). Salah satu penyebabnya adalah masalah keamanan jaringan yang belum tertangani dengan baik. Selain itu, sistem perangkat lunak pendukung yang memungkinkan komputer-komputer tersebut bekerja sebagai satu kesatuan umumnya memiliki konfigurasi yang kompleks sehingga penggunanya harus memiliki keahlian tersendiri sebelum dapat memanfaatkan sistem komputer tersebut.

Sejalan dengan perkembangan teknologi Internet dan teknologi-teknologi komputer yang berkaitan lainnya seperti protokol komunikasi data, teknologi keamanan jaringan,  teknologi pemgrograman terdistribusi, dan teknologi bahasa pemrograman yang independen terhadap arsitektur komputer maka sistem komputer berkinerja tinggi berbasis jaringan menjadi lebih mudah untuk diimplementasikan dan digunakan.

Contoh Aplikasi Grid Computing


VMWare_VSphere

VMWare vSphere adalah sebuah platform virtualisasi yang digunakan sebagai platform virtualisasi berbagai macam piranti khususnya yang terkait dengan piranti server. Virtualisasi di sini artinya bahwa sebuah piranti fisik, yang biasa kita lihat sebagai bentuk sebuah PC atau yang terkait dengannya, dapat dipecah menjadi beberapa piranti virtual yang masing-masing berdiri sendiri dan mempunyai fungsionalitasnya masing-masing. Tentu saja tidak semua perangkat PC dapat diberikan perlakuan semacam ini.
Hanya perangkat-perangkat khusus seperti Server yang dapat dilakukan perlakukan semacam ini, dengan hasil yang baik.

Reffrensi :
B Nazief - Published Conference Proceedings Style), in Proc. E- …, 2006 - staff.ui.ac.id

Cloud Computing

Pendahuluan?

Cloud Computing? Pasti banyak dari para pembaca yang sudah sering dengar kata tersebut, atau jika belum pernah dengar, mungkin pernah dengar istilah dalam bahasa Indonesia-nya, yaitu “Komputasi Awan”. Ada banyak tulisan dan sudut pandang untuk menjelaskan apa itu Cloud Computing, namun banyak dari penjelasan tersebut yang terlalu teknis, sehingga bagi orang awan akan kesulitan untuk memahaminya. Tulisan ini sengaja dibuat untuk mempermudah orang awam memahami Cloud Computing. Diharapkan setelah membaca tulisan ini, para pembaca akan bisa memahami dasar pengetahuan mengenai Cloud Computing dengan lebih mudah.  

Apa itu Cloud Computing

Secara umum, definisi cloud computing (komputasi awan) merupakan gabungan pemanfaatan teknologi komputer (komputasi) dalam suatu jaringan dengan pengembangan berbasis internet (awan) yang mempunyai fungsi untuk menjalankan program atau aplikasi melalui komputer – komputer yang terkoneksi pada waktu yang sama, tetapi tak semua yang terkonekasi melalui internet menggunakan cloud computing.
Teknologi komputer berbasis sistem Cloud ini merupakan sebuah teknologi yang menjadikan internet sebagai pusat server untuk mengelola data dan juga aplikasi pengguna. Teknologi ini mengizinkan para pengguna untuk menjalankan program tanpa instalasi dan mengizinkan pengguna untuk mengakses data pribadi mereka melalui komputer dengan akses internet.

Manfaat Cloud Computing

Setelah penjabaran definisi singkat diatas tentu penggunaan teknologi dengan sistem cloud cukup memudahkan pengguna selain dalam hal efisiensi data, juga penghematan biaya. Berikut manfaat manfaat yang dapat dipetik lewat teknologi berbasis sistem cloud:
1. Semua Data Tersimpan di Server Secara Terpusat
Salah satu keunggulan teknologi cloud adalah memungkinkan pengguna untuk menyimpan data secara terpusat di satu server berdasarkan layanan yang disediakan oleh penyedia layanan Cloud Computing itu sendiri. Selain itu, pengguna juga tak perlu repot repot lagi menyediakan infrastruktur seperti data center, media penyimpanan/storage dll karena semua telah tersedia secara virtual.
2. Keamanan Data
Keamanan data pengguna dapat disimpan dengan aman lewat server yang disediakan oleh penyedia layanan Cloud Computing seperti jaminan platform teknologi, jaminan ISO, data pribadi, dll.
3. Fleksibelitas dan Skalabilitas yang Tinggi
Teknologi Cloud menawarkan fleksibilitas dengan kemudahan data akses, kapan dan dimanapun kita berada dengan catatan bahwa pengguna (user) terkoneksi dengan internet. Selain itu, pengguna dapat dengan mudah meningkatkan atau mengurangi kapasitas penyimpanan data tanpa perlu membeli peralatan tambahan seperti hardisk. Bahkan salah satu praktisi IT kenamaan dunia, mendiang Steve Jobs mengatakan bahwa membeli memori fisik untuk menyimpan data seperti hardisk merupakan hal yang percuma jika kita dapat menyimpan nya secara virtual/melalui internet.
4. Investasi Jangka Panjang
Penghematan biaya akan pembelian inventaris seperti infrastruktur, hardisk, dll akan berkurang dikarenakan pengguna akan dikenakan biaya kompensasi rutin per bulan sesuai dengan paket layanan yang telah disepakati dengan penyedia layanan Cloud Computing. Biaya royalti atas lisensi software juga bisa dikurangi karena semua telah dijalankan lewat komputasi berbasis Cloud.
Penerapan Cloud Computing telah dilakukan oleh beberapa perusahaan IT ternama dunia seperti Google lewat aplikasi Google Drive, IBM lewat Blue Cord Initiative, Microsoft melalui sistem operasi nya yang berbasis Cloud Computing, Windows Azure dsb. Di kancah nasional sendiri penerapan teknologi Cloud juga dapat dilihat melalui penggunaan Point of Sale/program kasir.
Salah satu perusahaan yang mengembangkan produknya berbasis dengan sistem Cloud adalah DealPOS. Metode kerja Point of Sale (POS) ini adalah dengan mendistribusikan data penjualan toko retail yang telah diinput oleh kasir ke pemilik toko retail melalui internet dimanapun pemilik toko berada.  Selain itu, perusahaan telekomunikasi ternama nasional, Telkom juga turut mengembangkan sistem komputasi berbasis Cloud ini melalui Telkom Cloud dengan program Telkom VPS dan Telkom Collaboration yang diarahkan untuk pelanggan UKM (Usaha Kecil-Menengah).

Karakteristik Cloud Computing

Menurut NIST (National Institute of Standards and Technology), terdapat 5 karakteristik sehingga sistem tersebut disebut Cloud Computing, yaitu: 
1. Resource Pooling
Sumber daya komputasi (storage, CPU, memory, network bandwidth, dsb.) yang dikumpulkan oleh penyedia layanan (service provider) untuk memenuhi kebutuhan banyak pelanggan (service consumers) dengan model multi-tenant. Sumber daya komputasi ini bisa berupa sumber daya fisik ataupun virtual dan juga bisa dipakai secara dinamis oleh para pelanggan untuk mencukupi kebutuhannya.
2. Broad Network Access
Kapabilitas layanan dari cloud provider tersedia lewat jaringan dan bisa diakses oleh berbagai jenis perangkat, seperti smartphone, tablet, laptop, workstation, dsb.
3. Measured Service
Tersedia layanan untuk mengoptimasi dan memonitor layanan yang dipakai secara otomatis. Dengan monitoring sistem ini, kita bisa melihat berapa resources komputasi yang telah dipakai, seperti: bandwidth , storage, processing, jumlah pengguna aktif, dsb. Layanan monitoring ini sebagai bentuk transparansi antara cloud provider dan cloud consumer. 
4. Rapid Elasticity
Kapabilitas dari layanan cloud provider bisa dipakai oleh cloud consumer secara dinamis berdasarkan kebutuhan. Cloud consumer bisa menaikkan atau menurunkankapasitas layanan. Kapasitas layanan yang disediakan ini biasanya tidak terbatas,dan service consumer bisa dengan bebas dan mudah memilih kapasitas yang diinginkan setiap saat.
5. Self Service 
Cloud Consumer bisa mengkonfigurasikan secara mandiri layanan yang ingin dipakai melalui sebuah sistem, tanpa perlu interaksi manusia dengan pihak cloud provider. Konfigurasi layanan yang dipilih ini harus tersedia segera dan saat itu juga secara otomatis.

Kelima karakteristik Cloud Computing tersebut harus ada di service provider jika ingin disebut sebagai penyedia layanan Cloud Computing. Salah satu saja dari layanan tersebut tidak terpenuhi, maka penyedia layanan tersebut belum/tidak pantas disebut sebagai cloud provider.

Layanan Cloud Computing

Setelah pengguna mengetahui karakteristik dari Cloud Computing, berikutnya akan dibahas jenis-jenis layanan dari Cloud Computing. NIST sendiri membagi jenis layanan Cloud Computing menjadi tiga sebagai berikut:
1. Software as a Service (SaaS)
SaaS adalah layanan dari Cloud Computing dimana pelanggan dapat menggunakan software (perangkat lunak) yang telah disediakan oleh cloud provider. Pelanggan cukup tahu bahwa perangkat lunak bisa berjalan dan bisa digunakan dengan baik. 
Contoh dari layanan SaaS ini antara lain adalah :
- Layanan produktivitas: Office365 GoogleDocs, Adobe Creative Cloud, dsb.
- Layanan email: Gmail, YahooMail, LiveMail, dsb.
- Layanan social network:  Facebook, Twitter, Tagged, dsb. 
- Layanan instant messaging: YahooMessenger, Skype, GTalk, dsb.
Selain contoh di atas, tentu masih banyak lagi contoh yang lain.  Dalam perkembangannya, banyak perangkat lunak yang dulu hanya bisa dinikmati dengan menginstal aplikasi tersebut di komputer kita (on-premise) mulai bisa dinikmatidengan layanan Cloud Computing. Keuntungan dari SaaS ini adalah kita tidak perlu membeli lisensi software lagi. Kita tinggal berlangganan ke cloud provider dan tinggal membayar berdasarkan pemakaian.

2. Platform as a Service (PaaS)
PaaS adalah layanan dari Cloud Computing kita bisa menyewa “rumah” berikut lingkungannya, untuk menjalankan aplikasi yang telah dibuat. Pelanggan tidak perlu pusing untuk menyiapkan “rumah” dan memelihara “rumah” tersebut. Yang penting aplikasi yang dibuat dapat berjalan dengan baik. Pemeliharaan “rumah” ini (sistem operasi, network, database engine, framework aplikasi, dll) menjadi tanggung jawab dari penyedia layanan. 

Sebagai analogi, misalkan ingin menyewa kamar hotel, kita tinggal tidur di kamar yang sudah disewa, tanpa peduli bagaimana “perawatan” dari kamar dan lingkungan kamar. Yang terpenting adalah, suasananya nyaman untuk digunakan. Jika suatu saat dibuat tidak nyaman, maka pelanggan dapat pindah ke hotel lain yang lebih bagus layanannya.  Contoh penyedia layanan PaaS: Amazon Web Service, Windows Azure, dan GoogleApp Engine.

Keuntungan dari PaaS bagi  pengembang dapat fokus pada aplikasi yang sedang dikembangkan tanpa harus memikirkan “rumah” untuk aplikasi, dikarenakan ahl tersebut sudah menjadi tanggung jawab cloud provider. 

3. Infrastructures as a Service (IaaS)
IaaS adalah layanan dari Cloud Computing sewaktu kita bisa “menyewa” infrastruktur IT (unit komputasi, storage, memory, network, dsb). Dapat didefinisikan berapa besar unit komputasi (CPU), penyimpanan data (storage), memory (RAM), bandwidth , dan konfigurasi lainnya yang akan disewa. Untuk lebih mudahnya, layanan IaaS ini adalah seperti menyewa komputer yang masih kosong. Kita sendiri yang mengkonfigurasi komputer ini untuk digunakan sesuai dengan kebutuhan kita dan bisa kita install sistem
operasi dan aplikasi apapun diatasnya.
Contoh penyedia layanan IaaS : Amazon EC2, Rackspace Cloud, Windows Azure, dsb.
Keuntungan dari IaaS ini adalah kita tidak perlu membeli komputer fisik, dan konfigurasi komputer virtual tersebut dapat diubah (scale up/scale down) dengan mudah. Sebagai contoh, saat komputer virtual tersebut sudah kelebihan beban, kita bisa tambahkan CPU, RAM, Storage, dsb. dengan segera.

Untuk lebih memudahkan pemahaman mengenai model cloud computing, perhatikan gambar transformasi dari on-premise model ke cloud model dibawah ini:
Gambar : Transformasi on-premise model ke Cloud model

Deployment Model Cloud Computing

Setelah kita tahu jenis layanan dari cloud computing, sekarang kita bahas tentang deployment model dari cloud computing. Menurut NIST, ada empat deployment model dari cloud computing ini, yaitu:
1. Public Cloud
Adalah layanan Cloud Computing yang disediakan untuk masyarakat umum. Pengguna bisa langsung mendaftar ataupun memakai layanan yang ada. Banyak layanan Public Cloud yang gratis, dan ada juga yang perlu membayar untuk bisa menikmati layanannya.
Contoh Public Cloud yang gratis: GoogleMail, Facebook, Twitter, Live Mail, dsb.
Contoh Public Cloud yang berbayar: Sales Force, Office365, GoogleApps, dsb.
Keuntungan :
Pengguna tidak perlu berinvestasi untuk merawat serta membangun infrastruktur, platform, ataupun aplikasi. Kita tinggal memakai secara gratis (untuk layanan yang gratis) atau membayar sebanyak pemakaian (pay as you go). Dengan pendekatan ini, kita bisa mengurangi dan merubah biaya Capex (Capital Expenditure) menjadi Opex (Operational Expenditure).
Kerugian :
Sangat tergantung dengan kualitas layanan internet (koneksi) yang kita pakai. Jika koneksi internet mati, maka tidak ada layanan yang dapat diakses. Untuk itu,  perlu dipikirkan secara matang infrastruktur internetnya.

2. Private Cloud
Adalah layanan cloud computing yang disediakan untuk memenuhi kebutuhan internal dari organisasi/perusahaan. Biasanya departemen IT akan berperan sebagai service provider (penyedia layanan) dan departemen lain menjadi service consumer. Sebagai service provider, tentu saja Departemen IT harus bertanggung jawab agar layanan bisa berjalan dengan baik sesuai dengan standar kualitas layanan yang telah ditentukan oleh perusahaan, baik infrastruktur, platform, maupun aplikasi yang ada.
Contoh layanannya:
- SaaS : Web Application, Mail Server, Database Server untuk keperluan internal. 
- PaaS : Sistem Operasi + Web Server + Framework + Database yang untuk internal.
- IaaS : Virtual machine yang bisa di-request sesuai dengan kebutuhan internal.

Keuntungan :
Menghemat bandwidth internet ketika layanan itu hanya diakses dari jaringan internal.Proses bisnis tidak tergantung dengan koneksi internet, akan tetapi tetap saja tergantung dengan koneksi jaringan lokal (intranet). 
Kerugian :
Investasi besar, karena kita sendiri yang harus menyiapkan infrastrukturnya.Butuh tenaga kerja untuk merawat dan menjamin layanan berjalan dengan baik.

3. Hybrid Cloud
Adalah gabungan dari layanan Public Cloud dan Private Cloud yang diimplementasikan oleh suatu organisasi/perusahaan. Dalam Hybrid Cloud ini, kita bisa memilih proses bisnis mana yang bisa dipindahkan ke Public Cloud dan proses bisnis mana yang harus tetap berjalan di Private Cloud.
Contohnya:
Perusahaan A menyewa layanan dari GoogleApp Engine (Public Cloud) sebagai “rumah” yang dipakai untuk aplikasi yang mereka buat. Di negara tersebut ada aturan kalau data nasabah dari sebuah perusahaan tidak boleh disimpan pada pihak ketiga. Untuk menaati peraturan yang ada, data nasabah dari perusahaan A tetap disimpan pada database mereka sendiri (Private Cloud), dan aplikasi akan melakukan konektifitasnya ke database internal tersebut.
Perusahaan B menyewa layanan dari Office365 (Public Cloud). Karena perusahaan B tersebut sudah mempunyai banyak user yang tersimpan di Active Directory yang berjalan di atas Windows Server mereka (Private Cloud), akan lebih efektif kalau Active Directory tersebut dijadikan identity untuk login ke Office365.
Keuntungan :
Keamanan data terjamin karena data dapat dikelola sendiri (hal ini TIDAK berarti penyimpan data di public cloud tidak aman, ya). Lebih leluasa untuk memilih mana proses bisnis yang harus tetap berjalan di private cloud dan mana proses bisnis yang bisa dipindahkan ke public cloud dengan tetap menjamin integrasi dari keduanya. 
Kerugian : 
Untuk aplikasi yang membutuhkan integrasi antara public cloud dan private cloud, infrastruktur internet harus dipikirkan secara matang.

4. Community Cloud
Adalah layanan Cloud Computing yang dibangun eksklusif untuk komunitas tertentu, yang consumer-nya berasal dari organisasi yang mempunyai perhatian yang sama atas sesuatu/beberapa hal, misalnya saja standar keamanan, aturan, compliance, dsb. Community Cloud ini bisa dimiliki, dipelihara, dan dioperasikan oleh satu atau lebih organisasi dari komunitas tersebut, pihak ketiga, ataupun kombinasi dari keduanya.
Keuntungan :
Bisa bekerja sama dengan organisasi lain dalam komunitas yang mempunyai kepentingan yang sama. Melakukan hal yang sama bersama-sama tentunya lebih ringan daripada melakukannya sendiri.
Kerugian :
Ketergantungan antar organisasi jika tiap-tiap organisasi tersebut saling berbagi sumber daya.

Reffrensi :
A Budiyanto - Komunitas Cloud Computing Indonesia, 2012 - cloudindonesia.or.id