Lecture 15: Cloud Computing Modified from Mark Baker
Apakah Cloud Computing? Cloud Computing adalah istilah umum yang digunakan untuk menggambarkan kelas baru komputasi berbasis jaringan yang terjadi melalui Internet, pada dasarnya langkah dari Utility Computing koleksi / kelompok hardware terintegrasi dan jaringan, perangkat lunak dan infrastruktur internet (disebut platform). Menggunakan Internet utk komunikasi dan transportasi menyediakan layanan hardware, software dan jaringan kepada klien Platform ini menyembunyikan kompleksitas dan detail mengenai infrastruktur mendasar dari pengguna dan aplikasi dengan menyediakan antarmuka grafis yang sangat sederhana atau API (Applications Programming Interface).
Apakah Cloud Computing? Selain itu, platform menyediakan pada layanan permintaan, yang selalu, kapan saja dan di mana saja. Bayar sesuai kebutuhan dan penggunaan, skala elastis naik dan turun dalam kapasitas dan fungsi Perangkat keras dan layanan perangkat lunak yang tersedia untuk umum perusahaan publik, perusahaan dan pasar bisnis
Rangkuman Cloud Cloud computing mrpk istilah umum yang digunakan untuk merujuk kpd pengembangan berbasis Internet dan layanan Sejumlah karakteristik mendefinisikan data cloud, layanan aplikasi dan infrastruktur: Remote host: Jasa atau data yg di-host pada infrastruktur remote. Ubiquitous: Jasa atau data yg tersedia dari mana saja. Terkomodifikasi: Hasilnya adlh komputasi utilitas model mirip dgn tradisional yg utilitas tradisional, seperti gas dan listrik - Anda membayar untuk apa yg Anda inginkan!
Arsitektur Cloud
Apakah Cloud Computing Sumber daya komputasi dikonfigurasi bersama Akses jaringan On-demand Ditetapkan oleh Penyedia Jasa Applications Services Computer Network Storage (Database) Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. cloud computing customers do not own the physical infrastructure. Cloud computing users avoid capital expenditure (CapEx) on hardware, software, and services when they pay a provider only for what they use. Low shared infrastructure and costs, low management overhead, and immediate access to a broad range of applications SERvers Adopted from: Effectively and Securely Using the Cloud Computing Paradigm by peter Mell, Tim Grance
Karakteristik Cloud Computing Karakteristik umum : Skale Masif Resilient Computing Homogenitas Distribusi Geografis Virtualisasi Beroientasi Layanan Software Biaya Rendah Keamanan Tingkat lanjut Karakteristik penting : ScalabilityInfrastructure capacity allows for traffic spikes and minimizes delays. ResiliencyCloud providers have mirrored solutions to minimize downtime in the event of a disaster. This type of resiliency can give businesses the sustainability they need during unanticipated events. Homogeneity: No matter which cloud provider and architecture an organization uses, an open cloud will make it easy for them to work with other groups, even if those other groups choose different providers and architectures. On-demand self-service. A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service’s provider. Broad network access. Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs). Resource pooling. Multi-tenant model.. There is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter). Examples of resources include storage, processing, memory, network bandwidth, and virtual machines. Rapid elasticity. Capabilities can be rapidly and elastically provisioned, in some cases automatically, to quickly scale out and rapidly released to quickly scale in. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be purchased in any quantity at any time. Measured Service. Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). On Demand Self-Service Akses Jaringan Luas Elastisitas Cepat Tandon Sumberdaya Layanan Terukur Adopted from: Effectively and Securely Using the Cloud Computing Paradigm by peter Mell, Tim Grance
Model Layanan Cloud Google App Engine Software as a Service (SaaS) Platform as a Service (PaaS) Infrastructure as a Service (IaaS) SalesForce CRM LotusLive Google App Engine IaaSdelivers computer infrastructure, typically a platform virtualization environment, as a service. Rather than purchasing servers, software, data center space or network equipment, clients instead buy those resources as a fully outsourced service. PaaSdeliver a computing platform where the developers can develop their own applications. SaaSis a model of software deployment where the software applications are provided to the customers as a service. Adopted from: Effectively and Securely Using the Cloud Computing Paradigm by peter Mell, Tim Grance
SaaS Maturity Model Level 1: Ad-Hoc/Custom – One Instance per customer Level 2: Dapat dikonfigarasi per pelanggan Level 3: Dapat dikonfigarasi & Multi-Tenant-Efficient Level 4: Skalable, Dapat dikonfigarasi & Multi-Tenant-Efficient Source: Frederick Chong and Gianpaolo Carraro, “Architectures Strategies for Catching the Long Tail”
Perbedaan Layer pada Cloud Computing Application Service (SaaS) Application Platform Server Platform Storage Platform Amazon S3, Dell, Apple, ... 3Tera, EC2, SliceHost, GoGrid, RightScale, Linode Google App Engine, Mosso, Force.com, Engine Yard, Facebook, Heroku, AWS MS Live/ExchangeLabs, IBM, Google Apps; Salesforce.com Quicken Online, Zoho, Cisco
Layer Layanan Cloud Computing Services Deskripsi Layanan2 Aplikasi Pengembangan Platform Storage Hosting Layanan - layanan bisnis lengkap seperti : PayPal, OpenID, OAuth, Google Maps, Alexa Fokus Aplikasi Aplikasi - software berbasis Cloud yang menghilang-kan kebutuhan untuk instalasi lokal seperti Google Apps, Microsoft Online Pengembangan - platform pengembangan perangkat lunak yang digunakan untuk membangun aplikasi cloud kustom berbasis (PAAS & SAAS) seperti Salesforce Platform – Cloud berbasis platform, biasanya dengan menggunakan virtualisasi, seprti Amazon ECC, Sun Grid Storage – Data storage or cloud based NAS seperti CTERA, iDisk, CloudNAS Fokus Infrastructur Hosting – Pusat-pusat data fisik sepertinya dijalankan oleh IBM, HP, NaviSite, dst.
Karakteristik Dasar Cloud “Tanpa-kebutuhan-untuk-tahu" dalam hal rincian yang mendasari infrastruktur, aplikasi antarmuka dengan infrastruktur melalui API. “Fleksibilitas dan elastisitas" memungkinkan sistem ini untuk meningkat dan turun memanfaatkan sumber daya dari semua jenis : CPU, penyimpanan, kapasitas server, load balancing, dan database “Membayar sebanyak digunakan dan diperlukan" jenis komputasi utilitas dan “selalu on, di mana saja! Dan tempat" jenis jaringan berbasis komputasi.
Basic Cloud Characteristics Cloud transparan bagi pengguna dan aplikasi2, mereka dpt dibangun dlm berbagai cara Produk2 bermerek, proprietary open source, hardware / software, atau just off-the-shelf PCs. Umumnya, mereka dibangun pada kluster server PC dan komponen2 off-the-shelf plus Open Source software combined with in-house applications and/or system software.
Software as a Service (SaaS) SaaS adalah model penyebaran perangkat lunak di mana aplikasi host sebagai layanan yang diberikan kepada pelanggan di seluruh Internet. Saas mengurang beban pemeliharaan/dukungan perangkat lunak namun pengguna melepaskan kendali atas versi dan persyaratan perangkat lunak. Istilah yang digunakan dalam bidang ini meliputi Platform as a Service (PaaS) dan Infrastructure as a Service (IaaS)
Virtualization Virtual workspaces: An abstraction of an execution environment that can be made dynamically available to authorized clients by using well-defined protocols, Resource quota (e.g. CPU, memory share), Software configuration (e.g. O/S, provided services). Implement on Virtual Machines (VMs): Abstraction of a physical host machine, Hypervisor intercepts and emulates instructions from VMs, and allows management of VMs, VMWare, Xen, etc. Provide infrastructure API: Plug-ins to hardware/support structures Hardware OS App Hypervisor Virtualized Stack
Virtual Machine Monitor (VMM) / Hypervisor Virtual Machines VM technology allows multiple virtual machines to run on a single physical machine. App App App App App VM VM VM Xen Guest OS (Linux) Guest OS (NetBSD) Guest OS (Windows) VMWare UML Virtual Machine Monitor (VMM) / Hypervisor Denali Hardware etc. Performance: Para-virtualization (e.g. Xen) is very close to raw physical performance!
Virtualization in General Advantages of virtual machines: Run operating systems where the physical hardware is unavailable, Easier to create new machines, backup machines, etc., Software testing using “clean” installs of operating systems and software, Emulate more machines than are physically available, Timeshare lightly loaded systems on one host, Debug problems (suspend and resume the problem machine), Easy migration of virtual machines (shutdown needed or not). Run legacy systems!
What is the purpose and benefits? Cloud computing enables companies and applications, which are system infrastructure dependent, to be infrastructure-less. By using the Cloud infrastructure on “pay as used and on demand”, all of us can save in capital and operational investment! Clients can: Put their data on the platform instead of on their own desktop PCs and/or on their own servers. They can put their applications on the cloud and use the servers within the cloud to do processing and data manipulations etc.
Cloud-Sourcing Mengapa menjadi “Big Deal” : Kepentingan: Menggunakan penyedia skala tinggi/biaya rendah, Setiap saat / tempat akses melalui browser web, Skalabilitas cepat , biaya tambahan dan berbagi beban, Bisa melupakan kebutuhan utk fokus pada lokal TI Kepentingan: Kinerja, keandalan, dan SLAs, Kendali data, dan paramter2 layanan, Fitur2 dan pilihan Aplikasi, Interaksi diantara penyelenggara Cloud, Tiada standard API – campuran SOAP dan REST! Privasi, keamanan, pemenuhan, kepercayaan …
Beberapa Penawaran Komersial Cloud
Taksonomi Cloud http://www.opencrowd.com/assets/images/views/views_cloud-tax-lrg.png
Penyimpanan Cloud Beberapa perusahaan web besar kini memanfaatkan fakta bahwa mereka memiliki kapasitas penyimpanan data yang dapat disewa oleh orang lain. memungkinkan data disimpan jauh untuk sementara cache pada komputer desktop, ponsel atau internet-linked perangkat. Amazon’s Elastic Compute Cloud (EC2) dan Simple Storage Solution (S3) adalah contoh terkenal Mechanical Turk
Amazon Simple Storage Service (S3) Penyimpanan tak terbatas. Membayar untuk apa yang Anda gunakan: $ 0,20 per GByte utk transfer data, $ 0.15 per Gbyte/bulan untuk penyimpanan data, Update Keduakalinya: 1TBytes, 40.000 download dalam 24 jam - $ 200,
Utility Computing – EC2 Amazon Elastic Compute Cloud (EC2): Elastic, marshal 1 to 100+ PCs via WS, Machine Specs…, Fairly cheap! Powered by Xen – a Virtual Machine: Berbeda dari Vmware dan VPC menggunakan "para-virtualisasi" di mana OS dimodifikasi untuk penggunaan khusus hiper-call: Kontribusi Hardware oleh Intel (VT-x/Vanderpool) dan AMD (AMD-V). Mendukung "Live Migration" dari mesin virtual antara host Linux, Windows, OpenSolaris Management Console/AP
EC2 – Basics Memuat gambar Anda ke S3 dan mendaftarkannya. Boot gambar anda dari Web Service. Membuka port yang dibutuhkan untuk gambar Anda. Hubungkan ke gambar Anda melalui SSH. Jalankan aplikasi Anda …
Opportunities and Challenges Penggunaan Cloud menyediakan sejumlah peluang : Hal ini memungkinkan layanan yang akan digunakan tanpa pemahaman tentang infrastruktur mereka. Cloud computing bekerja menggunakan skala ekonomi : Ini berpotensi menurunkan biaya pengeluaran untuk perusahaan pemula, karena mereka tidak lagi perlu membeli perangkat lunak mereka sendiri atau server. Biaya akan menyesuaikan harga permintaan. Vendor dan penyedia layanan mengklaim biaya dengan kemantapan aliran pendapatan yang berkelanjutan. Data dan jasa layanan disimpan jarak jauh namun dapat diakses dari “manapun”.
Peluang dan Tantangan Secara paralel telah ada reaksi terhadap cloud computing: Penggunaan komputasi cloud berarti ketergantungan pada orang lain dan yang mungkin bisa membatasi fleksibilitas dan inovasi : Yang lain yang kemungkinan menjadi perusahaan internet besar seperti Google dan IBM, yang mungkin memonopoli pasar. Beberapa berpendapat bahwa penggunaan superkomputer adalah kembali ke waktu komputasi mainframe bahwa PC bereaksi menentang. Keamanan bisa membuktikan menjadi masalah besar : Hal ini masih belum jelas seberapa aman keluar-bersumber data dan ketika menggunakan layanan data kepemilikan tidak selalu jelas. Ada juga isu-isu yang berkaitan dengan kebijakan dan akses : Jika data Anda disimpan di luar negeri yg kebijakannya hrs Anda patuhi? Apa yang terjadi jika server down? Bagaimana Anda kemudian mengakses file? Ada beberapa kasus dari pengguna yg terkunci dari akun dan kehilangan akses ke data. Freedom of Information == FOI
Keuntungan Cloud Computing Biaya komputer lebih murah : Anda tak perlu komputer bertenaga tinggi dan berharga mahal utk menjalankan web berbasis komputasi awan ini aplikasi. Karena aplikasi berjalan di cloud, bukan di PC desktop, PC desktop Anda tidak perlu kekuatan pemrosesan/ruang hard disk yang diminta oleh perangkat lunak desktop tradisional. Bila Anda menggunakan aplikasi berbasis web, PC Anda bisa menjadi lebih murah, dengan hard disk yang lebih kecil, lebih sedikit memori, prosesor yang lebih efisien ... Bahkan, PC Anda dlm skenario ini bahkan tidak membutuh-kan drive CD atau DVD, karena tidak ada program perangkat lunak harus dimuat dan tidak ada file dokumen perlu disimpan.
Keuntungan Cloud Computing Peningkatan kinerja: Dengan program besar yg memonopoli memori komputer Anda, Anda akan melihat kinerja yg lebih baik dari PC Anda. Komputer di boot sistem komputasi cloud dan berjalan lebih cepat karena mereka memiliki program yang lebih sedikit dan proses dimuat ke memori … Penurunan biaya software : Alih-alih membeli aplikasi perangkat lunak yang mahal, Anda bisa mendapatkan sebagian besar dari apa yang Anda butuhkan secara gratis! - sebagian besar komputasicloud saat ini aplikasi, seperti Google Docs suite. Lebih baik daripada membayar untuk perangkat lunak komersial yang sama - yang mungkin saja justifikasi untuk beralih ke aplikasi cloud
Keuntungan Cloud Computing Update perangkat lunak secara Instan : - Keuntungan lain utk komputasi awan adalah bahwa Anda tak lagi dihadapkan dengan memilih antara perangkat lunak usang dan biaya upgrade yg tinggi. - Ketika aplikasi berbasis web, update terjadi secara otomatis - Tersedia waktu berikutnya Anda login ke cloud. - Ketika mengakses sebuah aplikasi berbasis web, Anda mendapatkan versi terbaru - Tanpa perlu membayar untuk men-download atau upgrade. Peningkatan kompatibilitas format dokumen . - Anda tidak perlu khawatir tentang dokumen yang Anda buat pada mesin Anda yang kompatibel dengan aplikasi pengguna lain 'atau OS - Ada berpotensi tidak kompatibel format yang ada ketika semua orang berbagi dokumen dan aplikasi di awan. Another advantage to cloud computing is that you are no longer faced with choosing between obsolete software and high upgrade costs. When the application is web-based, updates happen automatically available the next time you log into the cloud. When you access a web-based application, you get the latest version without needing to pay for or download an upgrade. Improved document format compatibility. You do not have to worry about the documents you create on your machine being compatible with other users' applications or OSes There are potentially no format incompatibilities when everyone is sharing documents and applications in the cloud.
Keuntungan Cloud Computing Ketidakterbatasan kapasitas penyimpanan: Cloud computing menawarkan penyimpanan hampir tak terbatas. Saat harddisk komputer Anda 1 TByte kecil dibandingkan dengan ratusan Pbytes tersedia di cloud. Peningkatan keandalan data: Tidak seperti komputer desktop, di mana jika crash hard disk dan menghancurkan semua data berharga Anda, sebuah komputer menerjang di awan seharusnya tidak mempengaruhi penyimpanan data Anda. jika crash komputer pribadi Anda, semua data masih di luar sana di awan, masih dapat diakses Dalam dunia di mana beberapa pengguna PC desktop yang individu mem-back up data mereka secara teratur, komputasi cloud adalah sebuah platform komputasi data-aman!
Keuntungan Cloud Computing Akses Dokumen Universal: Itu tidak masalah dengan komputasi awan, karena tidak bisa mengambil dokumen Anda selain oleh Anda. Sebaliknya, mereka tinggal di cloud, dan Anda dapat mengaksesnya kapan pun Anda memiliki komputer dan koneksi internet Dokumen yang langsung tersedia dari manapun Anda berada Ketersediaan versi terbaru: Ketika Anda mengedit dokumen di rumah, bahwa versi diedit adalah apa yang Anda lihat ketika Anda mengakses dokumen di tempat kerja. Cloud host selalu versi terbaru dari dokumen Anda selama Anda terhubung, Anda tidak berada dalam bahaya memiliki versi kuno
Keuntungan Cloud Computing Kolaborasi kelompok lebih mudah: Berbagi dokumen mengarah langsung ke kolaborasi yang lebih baik. Banyak pengguna melakukan hal ini karena merupakan keuntungan penting dari komputasi awan beberapa pengguna dapat berkolaborasi dgn mudah pada dokumen dan proyek Kebebasan perangkat. Anda tidak lagi ditambatkan ke sebuah komputer atau jaringan. Perubahan ke komputer, aplikasi dan dokumen mengikuti Anda melalui cloud. Pindah ke perangkat portabel, dan aplikasi Anda dan dokumen masih tersedia.
Kerugian/Kelemahan Cloud Computing Membutuhkan koneksi internet konstan: Cloud computing adalah mustahil jika Anda tidak dapat terhubung ke Internet. Karena Anda menggunakan Internet untuk menyambung ke kedua aplikasi Anda dan dokumen, jika Anda tidak memiliki koneksi Internet Anda tidak dapat mengakses apapun, bahkan dokumen Anda sendiri. Sebuah koneksi internet mati berarti tidak ada pekerjaan dan di daerah di mana koneksi internet sedikit atau inheren tidak dapat diandalkan, ini bisa menjadi kesepakatan-breaker.
Kerugian/Kelemahan Cloud Computing Tidak bekerja dengan baik pd koneksi kecepatan rendah : Demikian pula, koneksi internet kecepatan rendah, seperti yang ditemukan dengan dial-up layanan, membuat komputasi awan yang menyakitkan di terbaik dan sering tidak mungkin. Aplikasi berbasis web memerlukan banyak bandwidth untuk men-download, seperti halnya dokumen besar. Fitur mungkin terbatas: Situasi ini akan berubah, tapi hari ini banyak aplikasi berbasis web hanya tidak sebagai fitur lengkap seperti desktop berbasis aplikasi mereka. Misalnya, Anda dapat melakukan lebih banyak dengan Microsoft PowerPoint dibandingkan dengan penawaran Google Presentation berbasis web.
Kerugian/Kelemahan Cloud Computing Dapat melambat : Bahkan dengan koneksi cepat, aplikasi berbasis web kadang-kadang bisa lebih lambat dari mengakses sebuah program perangkat lunak yang sama pada PC desktop Anda. Segala sesuatu tentang program ini, dari antarmuka ke dokumen saat ini, harus dikirim bolak-balik dari komputer Anda ke komputer di cloud. Jika server awan kebetulan didukung pada saat itu, atau jika Internet mengalami hari yang lambat, Anda tidak akan mendapatkan akses instan mungkin Anda harapkan dari aplikasi desktop.
Kerugian/Kelemahan Cloud Computing Data yang disimpan mungkin tidak aman: Dengan komputasi awan, semua data disimpan di awan. Pertanyaan-pertanyaan ini Seberapa aman awan? Dapatkah pengguna yang tidak sah mendapatkan akses ke data rahasia Anda? Data yang tersimpan dapat hilang: Secara teoritis, data yang tersimpan di awan aman, direplikasi di beberapa mesin. Tapi pada kesempatan bahwa data Anda pergi hilang, Anda tidak memiliki cadangan fisik atau lokal. Sederhananya, mengandalkan awan menempatkan Anda pada risiko jika awan memungkinkan Anda turun.
Kerugian/Kelemahan Cloud Computing HPC Systems: Tidak jelas bahwa Anda dapat menjalankan menghitung-intensif aplikasi HPC yang menggunakan MPI / OpenMP! Penjadwalan adalah penting dengan jenis aplikasi seperti yang Anda ingin semua VM untuk menjadi ko-lokasi untuk meminimalkan latency komunikasi! Kekhawatiran Umum: Setiap sistem cloud menggunakan protokol yang berbeda dan API yang berbeda tidak mungkin untuk menjalankan aplikasi berbasis cloud antara sistem Amazon telah menciptakan DB sendiri sistem (tidak SQL 92), dan sistem alur kerja (banyak sistem alur kerja yang populer di luar sana) sehingga aplikasi normal Anda akan harus disesuaikan untuk mengeksekusi pada platform ini.
Masa Depan Banyak kegiatan longgar dikelompokkan bersama di bawah komputasi awan sudah pernah terjadi dan aktivitas komputasi terpusat bukanlah fenomena baru Grid Computing adalah pendekatan penelitian yang dipimpin terakhir terpusat Namun ada kekhawatiran bahwa adopsi mainstream komputasi awan dapat menyebabkan banyak masalah bagi pengguna Banyak sistem open source baru muncul bahwa Anda dapat menginstal dan menjalankan di cluster lokal Anda harus mampu menjalankan berbagai aplikasi pada sistem ini