Motivasi: Masalah Provisioning Tradisional
Andaikan punya ide inovatif untuk sebuah layanan baru:
- Butuh capital outlay besar untuk hardware.
- Butuh SDM terampil untuk mengoperasikan & memelihara sistem.
- Ada risiko over-provisioning — sistem baru ternyata tidak sepopuler harapan (kapasitas terbuang).
- Ada risiko under-provisioning — kehilangan calon pengguna karena kapasitas kurang.
Cloud computing memungkinkan mulai kecil dan tumbuh sesuai kebutuhan (start small and grow).
Realita Dunia Nyata (Utilisasi)
- Utilisasi server rata-rata hanya 5%–20%.
- Beban puncak (peak workload) bisa melebihi rata-rata 2–10 kali lipat.
- User cenderung provisioning untuk beban puncak (boros).
- Beban puncak bisa terjadi berdasarkan waktu (mis. lonjakan foto sharing setelah liburan, atau lonjakan drop/add dua minggu awal semester).
Untuk task batch-oriented besar: menyewa 1000 server selama 1 jam biayanya tidak lebih dari 1 server selama 1000 jam — derajat elastisitas ini belum pernah ada sebelumnya dalam sejarah IT.
Definisi Cloud Computing
Istilah umum yang mendeskripsikan kelas baru komputasi berbasis jaringan yang berjalan di atas Internet — kelanjutan dari Utility Computing; sekumpulan hardware, software, dan infrastruktur internet yang terintegrasi & terjaring (disebut platform).
- Menggunakan internet untuk komunikasi & transport, menyediakan layanan hardware/software/networking ke klien.
- Platform menyediakan layanan on-demand yang selalu aktif, di mana saja, kapan saja.
- Pay for use — bayar sesuai penggunaan.
- Elastic — bisa scale up/down kapasitas & fungsionalitas.
Tiga Aspek Baru (New Aspects)
- The illusion of infinite computing resources on demand — tidak perlu khawatir provisioning jauh-jauh hari.
- The elimination of up-front commitment oleh pengguna cloud — mulai kecil dan tumbuh.
- Pay for resources on a short-term basis sesuai kebutuhan — mendorong konservasi (reward conservation).
Key Enablers
- Konstruksi & operasi datacenter skala sangat besar berbasis commodity-computer di lokasi berbiaya rendah.
- Statistical multiplexing untuk meningkatkan utilisasi (“to each according to his needs”) — bervariasi seiring waktu, berbeda dari hosting tradisional.
- Virtualisasi komputasi, penyimpanan, dan komunikasi.
Kategori Layanan Cloud: SaaS, PaaS, IaaS
| Kategori | Definisi | Contoh | Fleksibilitas |
|---|---|---|---|
| SaaS (Software as a Service) | Pengguna langsung memakai aplikasi tanpa mengelola infrastruktur/platform | Dropbox, Salesforce | Hampir tidak fleksibel — sebatas kustomisasi tema & API |
| PaaS (Platform as a Service) | Platform untuk membangun & mengembangkan aplikasi tanpa mengelola server | Google AppEngine, Microsoft Azure | AppEngine: paling tidak fleksibel (platform domain-spesifik, auto-scaling, proprietary megastore). Azure: moderat fleksibel (platform pengembangan software language independent) |
| IaaS (Infrastructure as a Service) | Infrastruktur virtual (server, storage) untuk mendukung aplikasi | Amazon EC2 | Sangat fleksibel — hardware virtual machine, kelola dari kernel ke atas (general purpose computing) |
Semakin ke bawah (SaaS → PaaS → IaaS), semakin fleksibel tapi juga semakin besar tanggung jawab pengelolaan yang dipikul pengguna.
Top 10 Obstacles to Cloud Computing
- Business continuity & service availability — apakah provider cloud bertahan lama? Bisakah mencegah single point of failure dengan lebih dari satu provider?
- Data lock-in — penyimpanan cloud pada dasarnya proprietary; developer SaaS sulit memindahkan data ke cloud lain. Solusi: standarisasi API data.
- Data confidentiality/auditability — keamanan jadi salah satu keberatan paling sering (mis. regulasi HIPAA, Sarbanes-Oxley); pada dasarnya tidak lebih sulit dari datacenter tradisional.
- Data transfer bottlenecks — biaya transfer data ($100–150/TB); mengirim disk fisik kadang lebih murah.
- Performance unpredictability — berbagi resource (terutama I/O jaringan/disk) antar virtual machine menyebabkan variabilitas performa.
- Scalable storage — tantangan riset terbuka: sistem storage yang memenuhi ekspektasi durability, high availability, dan kemampuan query data, sekaligus scale elastis (mis. AWS EBS/SimpleDB, Azure SQL Data Services, AppEngine Megastore/BigTable, proyek NoSQL open source).
- Bugs in large-scale distributed systems — kompleksitas skala besar bisa menyebabkan kegagalan tak terduga (mis. kasus Amazon 2011: sejumlah kecil data hilang tak dapat dipulihkan sepenuhnya).
- Scaling quickly — pay-as-you-go untuk storage & bandwidth; tapi AWS mengenakan biaya per jam untuk instance yang dipakai (meski idle) — tantangannya scale cepat naik/turun tanpa melanggar SLA.
- Reputation fate sharing — satu pengguna “nakal” bisa merusak reputasi seluruh provider (mis. IP EC2 masuk blacklist spam; FBI merazia data center karena satu penyewa, berdampak ke penyewa lain yang tidak bersalah).
- Software licensing — lisensi software tradisional membatasi komputer tempat software berjalan (bukan model pay-as-you-go); vendor besar (Microsoft, IBM) mulai menawarkan skema pay-as-you-go.
SOA dan Cloud Computing
“While you can certainly leverage a cloud without practicing SOA, and you can leverage SOA without leveraging cloud computing, the real value of cloud computing is the ability to use services, data, and processes that can exist outside of the firewall…” — David S. Linthicum
Nilai inti dari konvergensi SOA + Cloud: kemampuan memakai service, data, dan proses yang bisa berada di luar firewall organisasi — cloud memperluas jangkauan SOA melampaui batas perusahaan.
Flashcard
flashcards Sebutkan 3 aspek baru (new aspects) cloud computing :: (1) Ilusi resource komputasi tak terbatas on-demand, (2) Eliminasi komitmen di muka (mulai kecil dan tumbuh), (3) Bayar resource jangka pendek sesuai kebutuhan (reward conservation). Sebutkan 3 key enabler cloud computing :: Datacenter skala sangat besar berbasis commodity-computer di lokasi murah, statistical multiplexing untuk tingkatkan utilisasi, dan virtualisasi komputasi/storage/komunikasi. Jelaskan perbedaan SaaS, PaaS, IaaS beserta contohnya :: SaaS = pakai aplikasi langsung tanpa kelola infrastruktur (Dropbox, Salesforce, hampir tak fleksibel); PaaS = platform bangun aplikasi tanpa kelola server (Google AppEngine, Azure, fleksibilitas rendah-moderat); IaaS = infrastruktur virtual server/storage (Amazon EC2, sangat fleksibel, general purpose). Mengapa “1000 server selama 1 jam” bisa sama biayanya dengan “1 server selama 1000 jam” jadi nilai jual utama cloud untuk batch job? :: Karena elastisitas cloud memungkinkan penyewaan resource sesuai durasi kebutuhan aktual tanpa komitmen kapasitas tetap — derajat elastisitas ini dianggap belum pernah ada sebelumnya dalam sejarah IT. Sebutkan 5 dari Top 10 Obstacles to Cloud Computing :: Business continuity & service availability, Data lock-in, Data confidentiality/auditability, Data transfer bottlenecks, Performance unpredictability (juga: Scalable storage, Bugs in large-scale distributed systems, Scaling quickly, Reputation fate sharing, Software licensing). Apa itu “Reputation fate sharing” sebagai obstacle cloud computing? :: Aktivitas buruk satu pengguna cloud (mis. spam, investigasi hukum) bisa berdampak negatif ke semua penyewa lain di provider yang sama, walau mereka tidak bersalah. Apa nilai inti konvergensi SOA dan Cloud Computing menurut Linthicum? :: Kemampuan memakai service, data, dan proses yang bisa berada di luar firewall organisasi — bukan berarti SOA butuh cloud atau sebaliknya, tapi keduanya saling melengkapi. Berapa kisaran utilisasi server rata-rata dan rasio beban puncak vs rata-rata menurut estimasi dunia nyata? :: Utilisasi rata-rata 5%-20%, beban puncak bisa melebihi rata-rata 2-10 kali lipat.