Intro cloud computing

Bayangkan anda ditunjuk sebagai penanggung jawab acara arisan di RT anda. Andapun mulai melakukan perencanaan arisan, dan salah satu hal yang harus diperhatikan adalah tempat. Biasanya, arisan dilakukan dirumah sang penanggung jawab acara. Namun ternyata hal itu mustahil, karena peserta arisan tiba-tiba membludak *lebay*. Karena berlebihan jika anda harus membeli tanah/membangun kamar untuk acara tersebut, anda memutuskan untuk menyewa sebuah ruangan didekat komplek anda.

Ketika hendak menyewa tempat tersebut, anda dilanda kekhawatiran mengenai ketersediaan meja, kursi dan perlengkapan lain yang dibutuhkan untuk arisan. Namun ternyata, si penyewa tersebut memiliki paket yang dapat menyediakan perlengkapan tambahan jika dibutuhkan. Akhirnya, andapun tidak perlu pusing. Dengan membayarkan suatu biaya, anda dapat memperoleh ruangan sekaligus peralatannya.

Cloud computing atau biasa disebut cloud serupa seperti tempat tersebut. Ketika kita tidak ingin memecah konsentrasi kita untuk mengurusi permasalahan penyediaan resource (storage, development platform), kita dapat menggunakan cloud untuk menyelesaikan permasalahan tersebut.

Cloud muncul karena semakin berkembangnya teknologi dan meningkatnya kebiasaan+kepercayaan orang terhadap jaringan internet. Secara umum, terdapat beberapa hal yang membuat cloud diminati:

  1. Tidak perlu memikirkan pengelolaan resource.
  2. Memiliki pembayaran subscription/pay-as-you-go/on-demand dengan harga yang relatif kecil dibandingkan dengan resource on-premise yang harus diinvestasikan diawal dengan biaya yang besar.
  3. Ketika kita menyewa suatu resource, kita dapat menambah kapasitas resource ketika dibutuhkan atau melepas resource tersebut jika tidak dibutuhkan.

Cloud memiliki tiga bentuk besar yaitu:

  1. Infrastructure as a Service (Iaas). Bentuk ini menyediakan infrastuktur kepada penggunanya yang dapat berupa storage, server dll.
  2. Platform as a Service (Paas). Bentuk ini menyediakan platform untuk mengembangkan suatu perangkat lunak. Secara kasar, Paas ini dapat menyediakan lingkungan pemrograman seperti PHP atau menyediakan lingkungan pengembangan perangkat lunak tanpa menggunakan bahasa pemrograman (melalui wizard yang disediakan/langkah-langkah tertentu).
  3. Software as a Service (Saas). Bentuk ini menyediakan perangkat lunak kepada pengguna. Contohnya mulai dari email service milik google/yahoo atau perangkat lunak enterprise milik salesforce.com/zoho.

Cloud memiliki beberapa karakteristik seperti multi-tenant, scalable serta konfigurable.

:)

JMS

Posting yang tak sempat terkirim, kirim saja deh :p, maaf kalau isinya ada yang salah.

JMS atau Java Message Service adalah sebuah Java API yang menyediakan fungsi kepada aplikasi untuk membuat, mengirim dan menerima pesan. Java API, yang didesain oleh Sun dan beberapa perusahaan partner, mendefinisikan beberapa interface umum dan semantik yang menyediakan program berbahasa Java untuk komunikasi dengan implementasi messaging lainnya.

JMS API ini meminimalisir konsep yang harus dipelajari oleh programmer untuk menggunakan messaging namun menyediakan cukup fitur-fitur untuk aplikasi messaging yang rumit. JMS API ini menyediakan komunikasi yang tidak hanya loosely coupled namun juga:
-    Asynchronous. Penyedia JMS dapat mengirim pesan kepada client saat pesan itu tiba sehingga client tidak perlu meminta pesan untuk mendapatkannya.
-    Reliable. JMS API dapat meyakinkan bahwa pesan dikirim sekali dan hanya sekali.

Spesifikasi JMS dapat dilihat di <a href=”http://java.sun.com/products/jms/”>sini</a>.

p2p

p2p

Sebelum adanya JMS API, kebanyakan proses messaging mendukung salah satu pendekatan point-to-point atau publish/subscribe. Spesifikasi JMS menyediakan domain yang berbeda untuk setiap pendekatan tersebut dan mendefinisikannya untuk setiap domain. JMS provider standalone dapat mengimplementasikan satu atau keduanya. Sedangkan J2EE provider dapat menyediakan keduanya. Pada kenyataannya implementasi JMS API mendukung baik point-to-point ataupun publish/subscribe, dan JMS client menggunakan kedua domain tersebut dalam aplikasi yang sama. Dengan cara ini JMS API memperluas kekuatannya dan fleksibilitasnya sebagai produk messaging.

Untuk membentuk suatu aplikasi JMS, terdapat model programming JMS API dengan bagian sebagai berikut:
-    Administer object, objek ini ada dua yaitu connection factories dan destinations. Connection factories adalah objek yang digunakan untuk membuat koneksi dengan provider. Connection factory ini mengenkapsulasi beberapa konfigurasi koneksi yang telah didefinisikan oleh administrator. Sepasang connection factories sudah terkonfigurasi sebelumnya dalam J2EE SDK dan dapat diakses ketika awal servis dijalankan. Connection factory merupakan instan dari QueueConnectionFactory atau TopicConnectionFactory interface. Destinations adalah objek yang digunakan client untuk menentukan target pesan bagi yang mengirim dan sumber pesan bagi yang memerlukan pesan.
-    Connection membungkus koneksi virtual dengan penyedia JMS (JMS provider). Koneksi dapat merepresentasikan soket TCP/IP terbuka antara client dan penyedia servis daemon. Koneksi digunakan untuk membuat satu atau lebih session. Seperti connection factories, connection memiliki dua bentuk yaitu implementasi QueueConnection atau TopicConnection.
-    Session adalah conteks untuk membuat dan mendapatkan pesan. Session didapatkan dari connection yang sudah ada.
-    Message producer adalah objek yang dibuat oleh session dan digunakan untuk mengirim pesan ke destination. Untuk point-to-point bentuk implementasi producernya adalah Queue-Sender interface. Untuk publish/subscrib adalah TopicPublisher interface.
-    Message consumer adalah objek yang digunakan oleh session dan digunakan untuk mengirim pesan ke tujuan. Message consumer ini menyediakan kepada JMS client untuk mendaftarkan dirinya ke interest pada destination dengan penyedia JMS. Penyedia JMS mengelola pengiriman pesan dari destination ke consumer yang terdaftar pada destination itu.
-    Message adalah format yang dikirim pada JMS.

Whatever you think, think the opposite

“Whatever you think, think the opposite” merupakan kalimat yang sederhana namun sangat sulit untuk dilakukan oleh sebagian besar orang. Kalimat ini berasal dari sebuah buku motivasi yang saya lupa isi (sudah lama bacanya, hehe) dan pengarangnya (kalau tidak salah Paul Arden), silahkan google sendiri untuk mengetahuinya, hehe.

Saya sendiri mencoba untuk melakukan ini kadang-kadang. Awalnya sulit, karena pada dasarnya saya orang yang memiliki pemikiran sedikit tertutup (kekeuh kalo bahasa sundanya), namun lama-lama hal tersebut memberikan pemikiran lain yang sebelumnya tidak terpikirkan.

Namun kalau terlalu terjebak pada kalimat tersebut, malah kita bisa-bisa tidak konsisten. Terkadang kita malah menjadi ragu untuk melakukan sesuatu. Karena ada beberapa hal yang memang harus kita lakukan tanpa berfikir. Kita memang harus memikirkan hal yang berlawanan, namun harus tetap berfikir rasional.

Follow

Get every new post delivered to your Inbox.