Anda di halaman 1dari 75

E-Book Cloud Computing

Mengembangkan Solusi Cloud


dengan PaaS

ver. : 1. 3

Dikembangkan oleh :

Email : cs@meruvian.org
Phone : 021-985 644 17

Kode : MRVCC01
MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Daftar Isi
Daftar Isi .......................................................................................................................................... 2

Bagian 1.Cloud Computing


1.1 Pengertian Cloud Computing ..................................................................................................... 3
1.2 Tradisional Hosting vs Cloud .................................................................................................... 3
1.3 Manfaat Cloud Computing ......................................................................................................... 6
1.4 Resiko Cloud Computing ............................................................................................................ 7

Bagian 2. Jenis-jenis Layanan Cloud


2.1 IaaS (Infrastructure as a Service) ................................................................................................ 9
2.2 PaaS (Platform as a Service) ....................................................................................................... 10
2.2.1 OpenShift..................................................................................................................... ...... 10
2.2.2 Windows Azure ......................................................................................................... ....... 15
2.2.3 CloudFoundry .................................................................................................................... 19
2.2.4 Jelastic ........................................................................................................................ ....... 21
2.2.5 CloudBees .................................................................................................................. ....... 24
2.2.6 DotCloud .................................................................................................................... ....... 27
2.3 SaaS (Software as a Service) ...................................................................................................... 29

Bagian 3. Cloud Database


3.1 Pengertian Cloud Database ......................................................................................................... 31
3.2 SQL ............................................................................................................................................ 31
3.3 NoSQL ........................................................................................................................................ 34

Bagian 4. Implementasi PaaS


4.1 Yama Overview ........................................................................................................................... 38
4.2 Deploy Yama di OpenShift ......................................................................................................... 39
4.3 Deploy Yama di CloudFoundry .................................................................................................. 45
4.4 Deploy Yama di Jelastic .............................................................................................................. 48
4.5 Deploy Yama di DotCloud .......................................................................................................... 52
4.6 Deploy Yama di Azure ................................................................................................................ 58
4.7 Deploy Yama di CloudBees ........................................................................................................ 71

Lampiran A : Pengantar Meruvian Integrated Platform(MIP) versi.1.0 .................................. 75

Created by Meruvian Cloud Team 2


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Bab 1
Cloud Computing

1.1 Pengertian Cloud Computing

Cloud Computing merupakan sebuah paradigma baru dalam dunia komputasi.Secara sederhana
cloud computing dapat diartikan sebagai teknologi yang menggunakan layanan ataupun produk yang
disediakan oleh provider dengan basis internet.
Cloud Computing ini merupakan kumpulan dari beberapa computing resource yang terintegrasi
sehingga menjadikannya sebagai layanan yang mempunyai skalabilitas tinggi.

1.2 Traditional Hosting vs Cloud

Terkadang user perlu memikirkan beberapa pertimbangan dalam memutuskan apakah user
akan menggunakan sistem Cloud atau Hosting untuk penyimpanan data user.
Pada sub bab ini user akan terlebih dahulu membahas jenis-jenis hosting dan cloud sehingga user
dapat menentukan sistem mana yang paling efisien untuk user gunakan.
a. Web Hosting / Tradisional Hosting
Ada beberapa tipe dari Web hosting / Tradisional Hosting, diantaranya :

1. Shared Hosting
Share Hosting adalah sebuah hosting yang digunakan user untuk menyewa disk space dari sebuah
server yang server tersebut dibagi dan dishare dengan user-user atau website-website yang lain.Tipe
hosting ini merupakan tipe hosting paling banyak tersedia di internet karena mudah di dapatkan dari

Created by Meruvian Cloud Team 3


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

provider dengan harga yang sangat terjangkau.


Namun pada shared hosting user akan sering menemukan kasus seperti di bawah ini:
• Ketika website / aplikasi lain dalam satu shared hosting bekerja dengan proses yang sangat
besar, maka akan berdampak pada turunnya performa dari web atau aplikasi yang user simpan
di dalam shared hosting yang sama dengan website / aplikasi tersebut.
• Ketika suatu waktu ada sebuah website / aplikasi yang menyebabkan sistem crash, maka
seluruh server akan mengalami crash pula.

2. Virtual Private Server (Virtual Dedicated Server)


Virtual Private Server adalah sebuah metod untuk membagi sebuah resource dari server menjadi
beberapa virtual server.Sedangkan Virtual Private Server Hosting (VPS Hosting) adalah sebuah
layanan hosting yang menggunakan Virtual Private Server.Pada tipe hosting ini, meskipun user berada
pada satu server dengan akun yang lain, namun user dapat mengisolasi environment dari server yang
user punya.Semisal ada satu akun yang servernya bermasalah, maka selama server utama tidak
mengalami masalah, VPS yang user punya pun tidak akan terganggu.
Beberapa teknologi yang sering digunakan untuk virtualisasi al :Xen,UML,OpenVZ, dll

3. Dedicated Server
Tipe hosting yang ini merupakan tipe hosting yang menyediakan satu server utuh untuk sebuah
akun.Tipe ini layaknya user membeli satu hardware dari sebuah provider wajar jika tipe Dedicated
Server mempunyai harga lebih mahal dibandingkan dengan VPS ataupun Shared Hosting.

b. Cloud Hosting
Cloud Hosting merupakan layanan hosting yang terhubung pada banyak server.Dengan skalabilitas ini
user tidak perlu khawatir akan kinerja dari server seperti halnya pada layanan hosting tradisional.
Dengan cloud computing ini memungkinkan user memiliki resource server yang tak terbatas.user
dapat mengurangi atau menambah resource dengan mudah tanpa mengganggu proses yang sedang
berjalan.

Created by Meruvian Cloud Team 4


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Seperti halnya Web Hosting, Cloud Hosting pun mempunyai beberapa tipe yaitu :
• IaaS (Infrastructure as Service), yaitu bentuk dari layanan cloud yang menawarkan
infrastructure termasuk di dalamnya hardware komputer, networking ataupun storage.
• PaaS (Platform as Service), yaitu layanan cloud yang menawarkan platform yang user
butuhkan untuk membuat aplikasi.Layanan PaaS biasanya berupa desain aplikasi,
development, deployment dan hosting.
• SaaS (Software as Service), yaitu sebuah layanan cloud yang menawarkan software sebagai
layanan untuk klien.

c. Perbedaan Tradisional Hosting dan Cloud Hosting


Terdapat beberapa perbedaan mencolok antara WebHosting dan Cloud Hosting.

• Billing
Pada Web Hosting, provider akan menawarkan tagihan dengan metode flat.Mereka tidak
perduli berapa resource yang akan user gunakan.Berbeda dengan metode pembayaran dari
Cloud Hosting, provider cloud hosting menawarkan pembayaran sesuai resource yang
digunakan oleh klien.Semakin banyak resource yang digunakan maka semakin besar pula
biayannya. Begitupun sebaliknya.

• Skalabilitas
Web Hosting pada umumnya tidak mengenal skalabilitas, jika sebuah server utama down,
maka sistem lain juga mengalami hal serupa.Berbeda dengan Cloud Hosting yang
memberdayakan banyak server dalam beroperasi, jika satu server down, maka server lain yang
akan menggantikan posisi dari server yang bermasalah tersebut.
• Elastisitas
Misalkan user akan menambah kapasitas memory atau hardisk pada hosting yang user
gunakan, pada Web Hosting penambahan resource baru akan membutuhkan waktu yang cukup
lama karena mereka memerlukan beberapa prosedur – prosedur tertentu dan tidak menutup
kemungkinan server akan down dalam beberapa waktu selama proses penambahan.Namun hal

Created by Meruvian Cloud Team 5


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

ini berbeda dengan Cloud Hosting.Di Cloud Hosting menambah atau mengurangi resource
merupakan hal yang sangat lumrah.Hal ini bisa dilakukan oleh user dengan waktu yang sangat
cepat berkat adanya elastisitas yang dimiliki oleh Cloud Hosting

Lalu manakah yang lebih bagus antara Cloud Hosting dan Tradisional Hosting ? Semuanya kembali
kepada kebutuhan user. Jika user ingin meminimalisasi biaya dengan berjalannya aplikasi yang
berjalan dengan skala besar, tentu Cloud Hosting jadi pilihan yang bijak.Namun jika user ingin
menyimpan data sensitif atau aplikasi yang tidak membutuhkan skalabilitas misalnya, Tradisional
Hosting bisa menjadi pilihan.

1.3 Manfaat Cloud Computing

Tidak diragukan lagi, manfaat adanya cloud computing ini begitu besar baik ditinjau dari sisi
finansial ataupun dari sisi efisiensi. Adapun beberapa keuntungan dengan adanya cloud computing
ini, meliputi :

• Efisiensi
Dengan adanya cloud computing ini end user tidak memerlukan lagi masalah infrastruktur
karena semua infrastruktur telah disediakan oleh provider. Dengan mekanisme ini pengelolaan
waktu untuk development menjadi lebih banyak.

• Mobility
Semua resource yang tersimpan di dalam komputasi awan akan dapat diakses dimanapun
selama user terhubung dengan internet.

• Pembiayaan sesuai dengan pemakaian


Dengan mekanisme cloud computing ini, pembiayaan adalah sesuai dengan apa yang user
gunakan.Apa yang user pakai itulah yang user bayar.Hal ini yang menjadi salah satu pembeda

Created by Meruvian Cloud Team 6


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

antara traditional hosting dan mekanisme cloud computing

• Meningkatkan Availability
System Cloud telah di desain dengan kemampuan high availability. Dengan adanya fitur ini
data atau aplikasi yang anda simpan di cloud akan di replika ke beberapa server sehingga data
anda tetap aman karena jika suatu waktu server mengalami crash, maka server lain akan
menggantikan peranan dari satu server tersebut.

1.4 Resiko Cloud Computing

Pada penjelasan sebelumnya telah dibahas mengenai beberapa manfaat adanya teknologi cloud
computing ini.Namun disamping itu semua, user perlu mengetahui beberapa resiko ketika user
memilih untuk mengadopsi sistem cloud computing, seperti :

• Security
Karena pada cloud computing semua sistem berbasis internet, maka tidak menutup
kemungkinan adanya cyber attack yang menyerang sebuah sistem cloud. Jika serangan mereka
berhasil bukan tidak mungkin data-data major perusahaan user akan bocor ke publik yang
pastinya akan memberikan dampak negatif bagi perusahaan user.

• Data Ownership
Ketika user menyimpan data pada sebuah sistem cloud computing, bagaimanakah kepemilikan
dari data tersebut? Mungkin secara kasat mata data tersebut masih menjadi milik user, namun
bagaimana jika suatu ketika provider mengalihkan bisnis mereka ke bisnis yang lain? Sehingga
kepemilikan data masih bersifat ownership. Dan user hanya sebatas menyewa sebuah tempat
storage didalam sistem cloud computing.

• Availability
Dengan user menyimpan data pada sistem cloud computing, user telah memandatkan sebuah
data ke dalam sistem mereka. Namun apa yang terjadi jika suatu waktu provider mengalami

Created by Meruvian Cloud Team 7


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

kendala mungkin masalah bencana alam, atau yang lainnya? Sehingga keberadaan data sangat
sensitif terhadap keberadaan server cloud computing.

Created by Meruvian Cloud Team 8


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Bab 2
Jenis-Jenis Layanan Cloud

Pada bab sebelumnya user telah menyinggung sedikit tentang jenis-jenis cloud yang ada, mulai
dari Iaas, PaaS sampai dengan SaaS. Namun pada bab ini akan dijelaskan mengenai pembagian cloud
secara lebih detail.

2.1. IaaS (Infrastructure as a Service)

IaaS adalah layanan Cloud Computing yang usernya dapat menyewa infrastruktur komputasi
mulai dari storage,memory,network,dll. Sebagaimana konsep pada cloud computing yang memberikan
elastisitas, user bisa mengatur spesifikasi masing-masing komponen yang akan user gunakan.user
dapat menambah atau mengurangi komponen dengan mudah.
Misalnya ketika data storage dari layanan yang user sewa sudah melewati batas kapasitas maksimu,
user dapat menambahkan storage, atau CPU dengan mudah tanpa mengganggu proses yang sedang
berjalan.
Contoh penyedia layanan IaaS antara lain : Rackspace, Amazone Web Service, IBM, Openstack,
Bluelock, dll

Created by Meruvian Cloud Team 9


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

2.2. PaaS (Platform as a Service)

PaaS adalah layanan Cloud Computing yang providernya menyediakan platform untuk
memudahkan user dalam mengembangkan sebuah sistem, termasuk di dalamnya environtment, sistem
operasi, database dan keperluan-keperluan lain yang berguna dalam development system.

Dalam hal ini user akan membahas lebih fokus tentang implementasi PaaS. Pada bab selanjutnya akan
dibahas mengenai langkah-langkah deployment aplikasi di beberapa PaaS yang tersedia di internet.
Beberapa PaaS yang akan user bahas nanti meliputi :

2.2.1. OpenShift

Openshift adalah platform sistem Cloud Computing yang merupakan produk dari Redhat,
Aplikasi ini dapat dijalankan dan digunakan secara open source dan tersedia di Github bernama
OpenShift Origin. Developer dapat menggunakan Git untuk mendeploy aplikasi web dengan bahasa
pemrogaman yang berbeda di atas platform. Openshift juga menyediakan layanan untuk

Created by Meruvian Cloud Team 10


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

perbaikan(maintaince). (http://en.wikipedia.org/wiki/OpenShift).

Openshift merupakan Platform as a Service (PaaS), dengan automatic scalability yang


mendukung aplikasi web dengan developed Java EE, Node.js, Python, PHP, Perl dan Ruby. Termasuk
beberapa database seperti MongoDB, Openshift merupakan PaaS pertama yang mendukung Java EE 6
Full di Cloud, terintegrasi dengan developer tools seperti aplikasi lifecycle, termasuk integrasi dengan
Eclipse.

Beberapa Fitur terbaru seperti mendeploy kode tanpa JBOSS Developer Studio, menggunakan
fitur Java seperti EJB3.1 dan JMS, dapat memanfaatkan web yang sederhana dan konfigurasi dengan
command-line dan Administrasi, berjalan di beberapa framework Java di web, mobile, HTML5 dan
aplikasi yang kompleks.

Openshift berjalan seperti pada bagan di atas, setiap aplikasi akan berjalan di atas aplikasi
Jboss AS7, dan dijalankan pada sistem operasi RHEL + SELinux yang berjalan di sistem Cloud
Computing yaitu Amazon EC2.

Created by Meruvian Cloud Team 11


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Setiap user akan diberikan domain yang berakhirkan *.rhcloud.com dengan satu namespace
dengan banyak nama aplikasi.

Beberapa pendukung OpenShift adalah aplikasi-aplikasi yang sudah familiar dengan para user,
seperti Jboss, PHP, Perl, Jenkins, MySQL dan lain-lain.
Dua unit dasar fungsi dalam Openshift adalah Broker dan Cartridge. Broker adalah fungsi yang
menyediakan antarmuka dan Cartridge adalah fungsi yang menyediakan aplikasi framework.

A. Broker
Semua aktifitas manajemen aplikasi, seperti login, DNS, kondisi aplikasi dan lain-lain diatur
dalam fungsi ini, Interaksi antar user dan Broker dilakukan baik menggunakan Konsol Web, CLI, Java
Client, Jboss tools dengan menggunakan REST based API.

B. Cartridge
Cartridge menyediakan fungsionalitas yang digunakan untuk menjalankan aplikasi. Banyak
cartridge yang tersedia untuk mendukung bahasa pemrogaman seperti Jboss, PHP, Ruby serta
Cartridge database seperti PostgreSQL, mySQL, dan MongoDB.

Created by Meruvian Cloud Team 12


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

C. Scalability

Openshift mendukung aplikasi manual scaling. Untuk membuat aplikasi scalable, dibutuhkan 2
gear/node, satu untuk aplikasi framework dan satu untuk load balancer menggunakan haproxy.
Aplikasi ini akan diatur secara otomatis scale up tau down tergantung beban yang diterimanya.
Batasnya adalah :

1. Scale Up jika jumlah permintaan bersama dilakukan melebihi 90% dari maximal permintaan
lebih dari 1 periode.
2. Scale Down jika jumlah permintaan bersama dilakukan di bawah 49,9% dari maksimal
permintaan selama 2 peiode berturut-turut.
3. Tidak dapat terkonfigurasi pada saat ini, yang max permintaan bersama adalah 5 permintaan
dan dalam periode 20 detik.

D. Multi-Node Cluster

Fitur yang terbaru dari Openshift adalah Multi-Node Cluster, layanan hosted Openshift
berjalan di atas cluster besar dari Compute dan penyimpanan tiap node, setiap node berjalan di banyak
Gear, Instance dari setiap aplikasi user, Cluster tersebut menggunakan Qpid AMQP untuk Queue
pesan dan Mcollective untuk inter-node komunikasi dan koordinasi.

Gambar di atas merupakan hubungan aplikasi user dengan Gear, setiap gear terdapat aplikasi
yang berbeda tergantung yang dibutuhkan user untuk aplikasinya.
Kode Cluster yang ada di PaaS openshift telah ditambahkan di Openshift Origin, sehingga

Created by Meruvian Cloud Team 13


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

memudahkan user untuk membangun clustering secara lokal dengan Openshift Origin open source,
untuk membangun sebuah cluster dibutuhkan 2 node PaaS, untuk spesifikasi tiap node adalah sebagai
berikut :
• untuk node pertama akan menjalankan broker, DNS Bind, Qpid Messages, dan Mcollective.
Node ini akan hanya menjadi hosting gear.
• Untuk node kedua akan menjadi lebih sederhana dan hanya menjalankan Mcollective dan host
gear.

Jadi useranya cluster dimaksudkan jika salah satu node mengalami gangguan, data yang telah
di input ke node pertama akan berpindah atau dapat dilanjutkan pada node kedua, sebenarnya dengan
adanya Jboss AS 7 di openshift, user dapat membangun sendiri cluster dengan menggunakan
mod_cluster tiap node.

2.2.2. Windows Azure

Windows Azure adalah platform untuk publik cloud milik Microsoft.Windows Azure

Created by Meruvian Cloud Team 14


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

menawarkan beberapa layanan untuk dapat digunakan oleh user, mulai dari virtual mesin untuk testing
atau menjalankan aplikasi, media penyimpanan data, sampai dengan mengembangkan aplikasi yang
scalable dengan memanfaatkan resource yang disediakan oleh Azure.

Beberapa Komponen Utama Windows Azure

Platform Windows Azure ini terdiri dari beberapa platform yang saling menguatkan satu dengan yang
lainnya.Di bawah ini akan di jelaskan fungsi dari beberapa komponen tersebut.

A. Data Management

Azure menyediakan beberapa model untuk penyimpanan data oleh aplikasi.Azure


menyediakan tipe database untuk penyimpanan berupa SQL dalam hal ini adalah SQL Azure, NoSQL
(MongoDB atau Cassandra) dan BLOB.
Masing-masing tipe penyimpanan data ini mempunyai fungsi yang berbeda-beda sesuai kebutuhan
sistem yaitu : SQL untuk penyimpanan data relasional, NoSQL untuk penyimpanan file yang
berpotensi menjadi media penyimpanan skala besar , BLOB untuk penyimpanan binary file.

B. Networking

Windows Azure mempunyai data center yang sangat besar dan terpisah di beberapa area, yaitu
di Asia, US, dan Eropa.Basicly Azure secara otomatis melakukan replikasi pada tiap data atau aplikasi
ke beberapa server yang biasanya disebut sebagai Worker Role.Hal ini untuk berujuan untuk
meningkatkan performa dan juga untuk tujuan skalabilitas dari aplikasi yang berjalan di atasWindows
Azure.

Ada beberap metode yang ditawarkan oleh Windows Azure dalam mengakses resouce yang
disediakan, yaitu :

• On-Premise Network, user dapat mengakses Virtual Network pada windows Azure untuk

Created by Meruvian Cloud Team 15


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

berkomunikasi dengan network di lokal jaringan user melalui sebuah VPN.


• On-Premise Computer, Dengan adanya fitur Connect yang disediakan oleh Azure user
diberikan layanan untuk dapat mengakses atau memanage aplikasi yang berjalan di atas azure
menggunakan komputer lokal user.

• Traffic Manager bekerja layaknya sebuah Router pada jaringan.Semisal user mempunyai
sebuah aplikasi yang berjalan di atas Azure yang user tempatkan di data center Asia.Namun
karena sesuatu hal data center yang berada di Asia mengalami overload, maka secara otomatis
Traffic Manager mengarahkan paket yang datang untuk aplikasi user yang mulanya
menggunakan data center di Asia di arahkan ke data center yang lainnya.

C. Caching
Azure menyediakan beberapa metode caching untuk meningkatkan performa server, yaitu : Memory
Caching dan CDN (Content Delivery Network).

Created by Meruvian Cloud Team 16


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Pada metode Memory Caching data yang pernah di akses oleh user akan di simpan di dalam memory
server.Dengan ini ketika ada user yang mengakses konten yang sama, system tidak perlu melakukan
query database atau melakukan proses berulangkali.Sistem hanya butuh untuk memanggil cache yang
telah tersimpan di memory dan menampilkannya.

Pada metode CDN (Content Delivery Network), cache akan direplikasi dan disimpan di dalam data
center terdekat dari user yang mengakses.Selanjutnya user yang akan mengakses konten tersebut tidak
perlu mengakses konten ke data center global, namun akan diarahkan ke data center terdekat dari user
sehingga pengaksesan kontent menjadi lebih cepat.

D. High Performance Computing (HPC)

High Performance Computing (HPC) adalah salah satu komponen dari Windows Azure
dalam kemampuan skalabilitasnya.Dengan adanya komponen ini Azure dapat menjalankan virtual
mesin bersama-sama secara simultan.HPC ini berguna ketika ada permintaan untuk mengeksekusi
sebuah kode pada banyak mesin dalam waktu yang bersamaan.

Created by Meruvian Cloud Team 17


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

2.2.3. Cloud Foundry

Cloud Foundry adalah sebuah Platform as Service (PaaS) provide yang bersifat Opensource
yang dikembangkan oleh VMware dan bekerja sama dengan Apache License 2.0 yang dibuat dari
bahasa pemrogaman Ruby. Layanan-layanan Clounfoundry diantaranya adalah sebagai berikut :

A.CloudFoundry.com
Sebuah host lengkap PaaS environment yang berjalan dalam infrastruktur vSphere dari
Vmware. CloudFoundry.com mendukung Spring, Ruby on Rails, Sinatra , Scala dan Node.js juga
vFabric Postgres,vFabric RabbitMQ , MongoDB , MySQL dan Redis.

B.CloudFoundry.org
Sebuah proyek open source di mana developer dan anggota masyarakat dapat berkolaborasi
dan berkontribusi pada proyek. Menyediakan komunitas yang membicarakan seputar pengembangan
Cloud Foundry dan katalog lengkap layanan-layanan pada Cloud Foundry.

C. Micro Cloud Foundry


Versi Cloud Foundry yang dapat didownload dan dijalankan di komputer para pengembang.
Micro Foundry menyediakan versi-versi dari software Cloud Foundry dan menawarkan simetri dengan
instansi selain Cloudfoundry.Hal ini memungkinkan akses dari pihak VMware , pihak ketiga dan
komunitas opensource lainnya.
Dengan built-in mendukung DNS dinamis, pengembang dapat menjalankan Micro Cloud Foundry
mana pun mereka kebetulan bekerja - apakah di toko rumah, kantor atau kopi - tanpa konfigurasi
ulang
Micro Cloud Foundry tersedia sebagai gambaran Virtual machine yang kompatibel dengan VMware
Fusion untuk MacOSX, VMware Workstation dan VMware Player (tersedia sebagai download gratis)

Created by Meruvian Cloud Team 18


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

untuk Linux dan Windows. Juga menyediakan penginstalan mudah, setup dan mekanisme manajemen
VM.

Cloud Foundry juga menyediakan CLI untuk mempermudah developer mengembangkan dan
mendeploy aplikasinya dalam cloud di Cloud Foudry yang disebut VMC.

2.2.3.1 Arsitektur CloudFoundry

Created by Meruvian Cloud Team 19


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Cloud Foundry adalah sebuah PaaS provider yang mencakup aplikasi yang mencakup self-
servce application dengan execution engine untuk deployment aplikasi dan manajemen lifecycle
aplikasi dengan interface berbasis scipt CLI yang disebut VMC yang juga diintegrasikan dengan alat
pengembangan untuk memudahkan proses deployment

2.2.3.2 Scalability (Skalabilitas)


Cloud Foundry mendukung 2 cara untuk scalability horizantal scalability , yaitu horizontal-
scalability dan auto-scale.

Horizontal-scalability : pengembang harus mengkonfigurasi sendiri scalability untuk mempertahankan


performance dari aplikasinya.
Auto-scale : pengembang dapat menambahkan sendiri auto-scale dengan sintak di CLI yang prosesnya
dijalankan oleh service-service Cloud Foundry.

2.2.4. Jelastic
Jelastic adalah solusi cloud platform Java yang juga disebut PaaS (Platfom as Service) Java
yang autoscale dan easy deploy. Autoscale memungkin user untuk menjalankan aplikasinya tanpa
mengkonfigurasi environment.Contohnya jika akan menjalankan aplikasi Java maka akan diperlukan
konfigurasi environment seperti JDK , container , JAVA_HOME,JRE_HOME , database dan lain-
lain.Tapi dengan autoscale ini tidak perlu ada konfigurasi yang begitu berarti seperti diatas , jadi cukup
deploy dan aplikasi tersebut akan jalan.

Saat ini Jelastic sudah menyediakan banyak environment pilihan seperti Nginx,Tomcat 6 dan 7,
Glassfish,Jetty,JDK 6 dan 7, Mysql,MariaDB,PostgreSQL MongoDB , CouchDB,Maven, High
Availability.Easy deploy sendiri adalah proses deploy (memasang/menyebarkan) aplikasi ke server
dalam hal ini adalah server cloud Jelastic dengan cara yang sangat mudah .Kelebihannya dalam
Jelastic konfigurasi environment dan deploy sangat mudah dan user-friendly .
Juga didukung banyak Hosted Service Provider seperti ServInt (North America), Dogado
(Jerman),Rusonyx (Rusia),Tsukaeru.net (Jepang),Layershift (Inggris). Dengan dukungan banyak

Created by Meruvian Cloud Team 20


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Hosted Service Provide yang terkenal ini membuktikan bahwa Jelastic sudah diakui keberadaanya
sebagai salah satu Cloud Service yang handal.

2.2.4.1 Fitur-fitur Jelastic


Beberapa fitur-fitur di Jelastic :
• Konfigurasi environment dan deploy sangat mudah dan user-friendly.

• Mendukung High Availability (HA) untuk clustering server yang tersedia dalam akun berbayar.
• Mendukung database NoSQL seperti MongoDB dan CouchDB.
• Menyediakan juga load balancing dan caching software dengan Nginx yang sudah terintegrasi
• Dapat meningkatkan / menurunkan sejumlah resources (memory dan processing power) sesuai
pemintaan

Created by Meruvian Cloud Team 21


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

2.4.2 Arsitektur

Keterangan :
HTTPS recording : menggunakan SSL yang dapat diaktifkan atau di-nonatikan.
Balancer dan caching : Load balancer yang digunakan adalah nginx. Memungkinkan pembagian
kerja untuk web container di bawahnya sehingga server tidak bekerja berat walaupun memiliki banyak
environment.
REC – runtime version container : Sebagai platform aplikasi yang dideploy.Menyediakan Tomcat 6
dan 7 , Glassfish dan Jetty yang berjalan dengan JDK 6 atau 7.
Automation create projects : Pembuatan project secara otomatis dengan maven.
SQL-database : Penyediaan database SQL seperti MySQL , MariaDB dan PostgreSQL .
NoSQL-database : Penyediaan database NoSQL seperti MongoDB dan CouchDB

Created by Meruvian Cloud Team 22


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

2.2.4.3 Scalability (Skalabilitas)


Untuk skalabilitas semua tergantung lalu lintas pertumbuhan aplikasi di Jelastic.Jelastic akan
otomatis menambahkan CPU ,RAM dan sumber daya lainjika aplikasi sedang mendapatkan beban
berat .Jika lalu lintas menurun , maka Jelastic juga akan menurunkan dan mengurangi sumber
daya.Dengan ini tidak perlu merubah arsitektur atau penyesuain sumber daya tambahan , hanya
membayar untuk penambahan sumber daya yang dibutuhkan.Selain itu juga dapat ditentukan batas
sumber daya yang ingin ditambahkan sehingga tidak ada tagihan yang membengkak.

2.2.5. CloudBees
Cloudbees adalah sebuah Java PaaS (Platform as a Service), bertujuan untuk menyediakan Java
Platform terkemuka sebagai layanan PaaS yang meliputi jasa pengembangan(development) dan
sebuah produksi runtime untuk Java.

Perusahaan ini memulai debutnya dengan DEV@cloud, yang menampilkan fitur pertama
Hudson untuk layanan cloud, dan akan dilajutkan ke daam pengembangan yang lengkap, membangun,
menguji, menampilkan dan memproduksi untuk setiap infrastuktur cloud.

Kelebihan dari cloudbees adalah user Java hanya membutuhkan biaya yang rendah untuk
menggunakan cloud PaaS ini. Dalam membangun dan mendeploy aplikasi java, cloudbees
menggunakan standar java framework dan API's libraries.

Created by Meruvian Cloud Team 23


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

2.2.5.1 Aplikasi Clustering

Cloudbees juga menyediakan aplikasi clustering untuk aplikasi java web yang berjalan di
RUN@Cloud. RUN@Cloud adalah platform untuk cloud computing yang memberdayakan developer
dengan peralatan dan layanan untuk membangun, mengelola, dan skala dari aplikasi JVM.

RUN@Cloud menyediakan layanan kepada user dan telah di atur dari tools yang sederhana
untuk memproses pendeployan aplikasi java ke cloud, untuk menggunakan RUN@Cloud dibutuhkan
aplikasi CLI khusus untuk mengatur jalannya aplikasi user di Cloudbees, aplikasi tersebut adalah
CloudBees SDK, aplikasi tersebut dapat berjalan pada sistem operasi Linux,

Created by Meruvian Cloud Team 24


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

2.2.5.2 Arsitektur

Cloudbees Cloud mencakup HTTP routing layer yang menangani clustering dan load balancing
untuk aplikasi web user. Ketika permintaan HTTP diterima, layer routing menggunakan HTTP host
header untuk menentukan target aplikasi. Setiap target aplikasi yang ditentukan, permintaan akan
dilanjutkan ke instance deploy dari aplikasi. Jika aplikasi user telah dikonfigurasi untuk menjalankan
cluster, permintaan akan di teruskan ke instance, jika layer routing tidak tersedia untuk dikoneksikan
ke instance, maka permintaan akan otomatis di arahkan ke aplikasi instance.

Keuntungan lainnya adalah aplikasi yang berjalan di cloud Cloubees tidak memerlukan sumber
daya yang besar. Karena dalam Cloudbees terdapat fungsi hibernasi, fungsi ini sangat efektif untuk
menambah efisiensi server aplikasi user, jadi user dapat menjalankan aplikasi dengan setengah dari
sumber daya yang digunakan.

Created by Meruvian Cloud Team 25


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

2.2.5.3 Session Clustering

Biasanya Aplikasi session terdapat dalam satu paket dalam instance dan tidak menyediakan
untuk clustering . Untuk session failover , jika user ingin mengaktifkan session clustering, user dapat
membuat aplikasi session store dan kemudian disatukan ke dalam aplikasi.

2.2.5.4 Database

Menyimpan data dalam database adalah cara yang paling umum untuk menyimpan data
aplikasi, keuntungan lainnya, user dapat mengakses berbagai layanan dan Ekosistemnya Layanan dari
Cloudbees. user juga dapat meng-host database Anda sendiri atau terhubung ke database host oleh
pihak ketiga. Berikut struktur database dari cloudbees.

✔ CloudBees MySQL (relasional penyimpanan data)


✔ Cloudant CouchDB (penyimpanan dokumen)
✔ Amazon S3 (penyimpanan file)
✔ Amazon RDS (relasional penyimpanan data)
✔ MongoDB

JDBC adalah class API pertama di lingkungan Cloudbees, Cloudbees menyediakan dukungan
untuk menjalankan Database MySQL, tetapi aplikasi user hanya dapat terkoneksi ke external database
menggunakan JDBC.

2.2.6. DotCloud

DotCloud merupakan salah satu layanan PaaS (Platform As a Service) yang menyediakan
beberapa fitur yang telah mendukung beberapa bahasa pemgrograman seperti :Java,Ruby,PHP, Python,
Perl, Opa dan NodeJS. DotCloud juga telah menyediakan beberapa alternatif database untuk aplikasi
yang akan user deploy di dalamnya Mulai dari Mysql, Postgresql dan Postgis sampai MongoDB
Selain itu ada beberapa fitur-fitur alternatif lain sepert :

Created by Meruvian Cloud Team 26


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

• Apache Solr untuk indexing


• RabbitMQ, messagging system
• SMTP yang berbasis Postfix,
• dll

Dalam hal deployment dotCloud menggunakan CLI.Untuk berkomunikasi dengan server user
memerlukan API yang telah disediakan ketika pertama kali mendaftarkan akun. Selain itu DotCloud
menyediakan sebuah fitur untuk menentukan struktur aplikasi yang akan user deploy ke dalam cloud
menggunakan Redis.File ini berextensi .yml yang memuat seluruh keterangan mengenai aplikasi user.

File .yml inilah yang akan memberikan informasi ke server cloud ketika user push source code atau
file web archive user ke dalam server cloud.

Contoh file.yml

www:
type: java
db:
type: mysql

File .yml di atas akan memberitahu ke server bahwa aplikasi yang akan user deploy adalah aplikasi
Java yang menggunakan database Mysql.

Dalam hal scalability, dotCloud menyediakan tiga jenis tipe :


• Scaling Horizontally, scalable dengan menggunakan paralel server

Created by Meruvian Cloud Team 27


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

• Scaling for Failover, scalable dengan tujuan untuk mencegah server down ketika beroperasi
• Scaling Vertically, scaling ini lebih mengarah kepada improvisasi performance pada sebuah
server seperti dengan menambah hardware seperti memory, processor, storage, dll

2.3. SaaS (Software as a Service)


SaaS adalah layanan Cloud Computing yang memberikan layanan berupa aplikasi bisnis yang
dapat diakses melalui internet.Biasanya dalam masalah payment, user akan dikenakan biaya tambahan
jika menggunakan fitur-fitur yang lebih lengkap.Keuntungannya bagi user adalah user sebagai tidak
perlu membeli lisensi dari aplikasi yang berjalan di SaaS.Jadi dalam perkembangannya nanti, banyak
aplikasi yang mulanya hanya bisa dinikmati dengan melakukan instalasi di komputer lokal akan dapat
diakses melalui internet. Contoh implementasi SaaS adalah : office365, GoogleDrive, SalesForce, dll.

Created by Meruvian Cloud Team 28


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Bab 3
Cloud Database

3.1 Pengertian Cloud Database

Cloud database adalah tipe database yang berjalan di atas platform cloud.Dalam pengelolaan
cloud database ini user dapat menjalankan database melalui virtual mesin atau melakukan pembelian
layanan database pada cloud provider.Ada dua tipe database yang berjalan di atas platform Cloud,
yaitu SQL-base dan NoSQL.

3.2 SQL

SQL (Structured Query Language) atau query adalah sebuah bahasa yang digunakan untuk
mengakses data dalam basis data relasional atau database. Pengertian secara luas merupakan bahasa
standar yang digunakan dalam manajemen basis data relasional. Saat ini hampir semua server basis
data dan aplikasi java maupun web menggunakan bahasa ini.
3.2.1 Sejarah SQL

Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama Jhonny Oracle yang
membahas tentang ide pembuatan basis data relasional pada bulan Juni 1970. Artikel ini juga
membahas kemungkinan pembuatan bahasa standar untuk mengakses data dalam basis data tersebut.
Bahasa tersebut kemudian diberi nama SEQUEL (Structured English Query Language).
Setelah terbitnya artikel tersebut, IBM mengadakan proyek pembuatan basis data relasional berbasis

Created by Meruvian Cloud Team 29


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

bahasa SEQUEL. Akan tetapi, karena permasalahan hukum mengenai penamaan SEQUEL, IBM pun
mengubahnya menjadi SQL. Implementasi basis data relasional dikenal dengan System/R.
Di akhir tahun 1970-an, muncul perusahaan bernama Oracle yang membuat server basis data
populer yang bernama sama dengan nama perusahaannya. Dengan naiknya kepopuleran John Oracle,
maka SQL juga ikut populer sehingga saat ini menjadi standar de facto bahasa dalam manajemen basis
data.

Sejak SQL dibuat sebagai standar, banyak keuntungan jika user menggunakan bahasa SQL, antara
lain :
1. Kecepatan dalam pengambilan data. Di sebuah majalah pernah di survey pemakaian bahasa
SQL dibandingkan dengan pemakaian filter dalam bahasa pemrogaman. Hasilnya, SQLlebih
ceat seuserr 20x dibandingkan dengan pemakaian filter.
2. Standardisasi. Hampir semua bahasa pemrogaman saat ini sudah mendukung bahasa SQL,
dikarenakan bahasa SQL sangat mudah digunakan karena pemakaiannya mirip dengan bahasa
Inggris.
3. Mengurangi kerumitan dalam membangun aplikasi. Jika user ingin mengambil data dalam
kriteria tertentu, maka dengan menggunakan SQL cukup menggunakan bahasa SELECT,
dibandingkan dengan perintah if.
4. Mudah melakukan pengecekan kesalahan program aplikasi (debugging).
5. Memudahkan komunikasi antar user, progammer dan database.
6. Embedded SQL untuk berbagai host language (Cobol, Fortran, PL/I) hampir sama.
7. Dikarenakan SQL di-compile, runtime nya jauh lebih cepat dari pada yang interaktif.
8. Sudah digunakan dibanyak Hosting Provider dan Cloud Provider
Sedangkan kelemahan SQL adalah sebagai berikut :
1. Bentuk bahasa yang jauh berbeda dengan host language yang ada sehingga mempersulit
programmer dalam menulis coding/script.

Beberapa perkembangan SQL antara lain :

Created by Meruvian Cloud Team 30


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

3.2.2 Software Database SQL


SQL seiring berkembangnya zaman juga terus berkembang hingga melahirkan banyak software
database SQL yang gratis ataupun berbayar, diantaranya :
1. MySQL
Sebuah implementasi dari sistem manajemen basisdata relasional (RDBMS) yang
didistribusikan secara gratis dibawah lisensi GPL (General Public License).
2. Oracle
Sebuah basis data relasional yang terdiri dari kumpulan data dalam suatu sistem manajemen
basis data RDBMS.Salah satu kelebihannya adala oracle dapat mendayagunakan lebih dari
satu server serta data storage dengan mudah dan transparan.
3. PostgreSQL
Sebuah sistem basis data yang disebarluaskan secara bebas menurut Perjanjian lisensi BSD.
Piranti lunak ini merupakan salah satu basis data yang paling banyak digunakan saat ini, selain
MySQL dan Oracle.
4. MariDB
MariaDB merupakan versi pengembangan terbuka dan mandiri dari MySQL. Sejak
diakuisisinya MySQL oleh Oracle pada September 2010, Monty Program sebagai penulis awal
kode sumber MySQL memisahkan diri dari pengembangan dan membuat versi yang lebih
mandiri yakni MariaDB.

Created by Meruvian Cloud Team 31


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

5. SQL Server
Microsoft SQL Server adalah sebuah sistem manajemen basis data relasional (RDBMS)
produk Microsoft. Bahasa kueri utamanya adalah Transact-SQL yang merupakan implementasi
dari SQL standar ANSI/ISO yang digunakan oleh Microsoft dan Sybase. Umumnya SQL
Server digunakan di dunia bisnis yang memiliki basis data berskala kecil sampai dengan
menengah, tetapi kemudian berkembang dengan digunakannya SQL Server pada basis data
besar.
SQL Server adalah salah satu software database yang berbayar.

3.2.3 Pengguna SQL


Hampir semua perusahaan baik kecil ataupun besar yang mempunyai aplikasi baik di internet ataupun
di lokal menggunakan database SQL di sistemnya sebagai basis data.
SQL juga digunakan di semua Hosting Provider dan Cloud Provider.

3.3 NoSQL (Not Only Structure Query Languange)


Dari singkatannya saja NoSQL memang tidak menggunakan sintak-sintak SQL untuk
menyimpan data.NoSQL dikembangkan oleh Carlo Strozzi pada tahun 1998 dan pada 2009 kembali
diperkenalkan kembali .NoSQL sangat berbeda dengan database-relasional lainnya yang juga
menggunakan SQL.Konsep penyimpanan data non-relasional mempunyai perbedaan-perbedaan
metode daripada konsep penyimpanan data relasional lainnya..Metode-metode ini seperti :

• Key-value store : menampung data BLOB (Binary Large Objects).


• Table-Oriented : Contohnya ada pada Bigtable Google dan Cassandra.
• Document-Oriented : “Dokumen” lebih seperti XML daripada teks biasa.
• Graph-Oriented
Dalam metode key-value store data tidak langsung ditulis ke hardisk tetapi data disimpan
terlebih dahulu dalam memori dan hanya sesekali dituliskan ke hardisk sehingga proses query dapat
berlangsung lebih cepat,karena tidak perlu lagi mengambil data dari hardisk.Dari sinilah salah satu
keuntungan key-value store sebagai metode NoSQL dibandingkan dengan database relasional yang
lain.Key-value store sudah banyak digunakan oleh LiveJournal,Wikipedia,Twitter,Youtube,Wordpress

Created by Meruvian Cloud Team 32


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

yang dipadu dengan memcached. Kemudian metode berikutnya adalah table-oriented.Metode


sedikit usernya , beberapa user metode ini adalah Google dengan BigTable-nya dan Facebook dengan
Cassandra.Walaupun sedikit tapi hasilnya dapat dilihat dari kecepatan waktu pencarian pada Google
dan Facebook walaupun diakses jutaan user.

Metode NoSQL selanjutnya adalah document-oriented . Metode ini tidak mengenal adanya
table dan field serta record melainkan digantikan oleh dokumen dan koleksi. Dokumen dapat
disamakan seperti field dalam SQL sedangkan koleksi adalah tabelnya.Dokumen dapat memiliki field
yang berbeda dengan dokumen lain walaupun dalam koleksi yang sama , sedangkan dalam database-
relasional sebuah record tidak mungkin memiliki field yang berbeda dengan record dalam 1 table.

Yang terakhir adalah graph-oriented yaitu jenis database NoSQL dengan struktur grap
node,edge dan properties untuk menyimpan data.Dibandingkan database relasional, grap database
dapat beroperasi lebih cepat dalam pemetaan datanya.

3.3.1 Software Database NoSQL


Berikut ini berbagai contoh open source software NoSQL database :
1. MongoDB
Adalah sebuah open source software database NoSQL yang berskala dan high-performance
yang dibuat dalam C++. MongoDB adalah salah satu database NoSQL dengan metode
Document-Oriented.
2. CouchDB
Sama seperti MongoDB , tetapi coucdb belum memiliki fitur Auto-Sharding.Couchdb juga
berdasarkan metode Document-Oriented.
3. Amazon DynamoDB
NoSQL database yang dibuat oleh Amazon yang scalabiliy dengan predictable perfomance.
Amazon DynamoDB adalah salah satu NoSQL database berdasarkan metode key-value store.
4. Redis
5. Neo4j
Adalah database grafik NoSQL dengan kinerja tingkat tinggi berdasarkan graph-oriented.

Created by Meruvian Cloud Team 33


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

6. HBase
Adalah sebuah open-source database terdistribusi yang berjalan pada Hadoop, sebuah kerangka
kerja perangkat lunak yang memungkinkan Anda untuk menyimpan dan memproses sejumlah
besar data pada beberapa mesin.
Sebenarnya masih banyak juga software database NoSQL yang dikembangkan di seluruh dunia.

3.3.2 Kelebihan dan kekurangan Database NoSQL


Berikut ini adalah kelebihan database NoSQL :
• Melakukan searching data lebih cepat , karena NoSQL membuat proses query menjadi lebih
sederhana disebabkan data dimasukkan ke memory terlebih dahulu sehingga sistem dapat
membaca data yang tersimpan dalam memory lebih cepat daripada hardisk.
• Tidak perlu membuat struktur tabel,database NoSQL seperti MongoDB otomatis
membuatkannya,jadi hanya perlu melakukan insert saja.
• Mempercepat proses CRUD (CREATE,READ,UPDATE,DELETE).
• Digunakan oleh banyak website-website besar .

Selain kelebihan ada juga celah kekurangan dalam database NoSQL , berikut ini adalah kelemahan
database NoSQL :
• Tidak support untuk aplikasi bisnis / aplikasi transaksi lainnya dikarenakan sistem transaksi
sering terjadi deadlock yang membuat sistem saling menunggu resource dalam proses, jika
dalam transaksi ini databse yang digunakan dalah NoSQL maka deadlock akan mengganggu
proses kerja database.
• Jumlah programmer yang ahli dalam database NoSQL juga masih sedikit.Jadi masih
diperlukan banyak pengembangan.
• Database NoSQL belum banyak dijumpai di hosting provider.
• Masih awam bagi masyarakat

3.3.3 Pengguna database NoSQL


Dengan banyaknya metode-metode dan open source software databse NoSQL dan maka banyak pula
pengguna database NoSQL yang telah mengimplemtasikannya dalam aplikasi mereka dan kebanyakan

Created by Meruvian Cloud Team 34


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

dari pengguna database NoSQL adalah perusahaan-perusahaan besar seperti :

• Facebook
Facebook menggunakan database Cassandra NoSQL dan Hbase yang dengan berdasarkan
metode table-oriented , dengan ini facebook dapat melayani proses query dari jutaan
pengguna dalam waktu yang relatif cepat.
• Digg.com
Digg juga menggunakan Cassandra untuk melayani query dari pelanggan dan mengumumkan
migrasinya dari MySQL yang RDBMS ke NoSQL.Database ini digunakan pada database
utama dalam sistem digg.com .
• Twitter
Twitter juga menggunakan Cassandra dan Hbase.Database tersebut digunakan dalam
TopTweets , lokasi user dan lain-lain
• Craiglist.org
Craiglist.org menggunakan database MongoDB NoSQL yang dengan metode document-
oriented sebagai advertisement storage.
• Bit.ly
Bit.ly juga menggunakan MongoDB sebagai database user history.
NoSQL database juga digunakan mulai digunakan oleh banyak Cloud Provider dikarenakan memang
fungsi-fungsi , skalabilitas dan performance yang sesuai untuk komputasi awan , seperti :
1. OpenShift
2. Jelastic
3. Cloudfoundry
4. Cloudbees
5. DotCloud

Created by Meruvian Cloud Team 35


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Bab 4
Implementasi PaaS

4.1 Yama Overview


Yama merupakan sebuah bagian dari project Meruvian Integrated Platform (MIP) yang
berperan sebagai MIP Server untuk dapat berkomunikasi dengan MIP Client yang dalam hal ini
menggunakan Midas (platform framework untuk android).

Yama adalah framework yang dapat membantu kita untuk pembuatan sebuah aplikasi dengan web
base dengan mudah dengan beberapa opsi yaitu:

- MVC Web yang terintegrasi dengan SpringMVC, Spring dan Hibernate

- MVC Web yang terintegrasi dengan Struts2, Spring dan HIbernate

Yama Framework ini gratis dan opensource anda dapat mengunduh source code nya dari:
http://yama.java.net. Untuk detail mengenai MIP dapat dilihat pada lampiran.

4.2 Deploy Yama di Openshift

1.Pertama-tama daftar/register di websitenya, di https://openshift.redhat.com/app/, setelah selesai


register cek email yang digunakan untuk mendaftar, kemudian login ke web tersebut.

Created by Meruvian Cloud Team 36


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

2. Pada terminal ubuntu, install beberapa paket yang dibutuhkan untuk openshift.
#apt-get install git-core openssh openssh-client ruby-full rubygems1.8 rake
3. Setelah semua selesai, saatnya menginstall aplikasi gem

#gem install –source http://gems.rubyforge.org –source


https://openshift.redhat.com/app/repo/ rhc

Created by Meruvian Cloud Team 37


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

sekarang tool dapat digunakan, pertama kali buatlah sebuah domain


$rhc-create-domain -n meruvian -l username@meruvian.org

4. Buatlah sebuah aplikasi dengan menggunakan web server JBOSS AS 7


$rhc-create-app -a username -t jbossas-7 -l username@meruvian.org

5. Setelah applikasi selesai dibuat, pengguna dapat melihat direktori aplikasi yang ada di
/home/meruvian/meruvian aplikasi dapat diakses di url di bawah ini
http://[username].rhcloud.com

Created by Meruvian Cloud Team 38


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

6. Untuk menambahkan database MySQL dapat menggunakan perintah berikut.


$rhc-ctl-app -a username -e add-mysql-5.1

7. Setelah menjalankan perintah di atas, pengguna akan diberikan ip host, port, username dan
password
yang akan digunakan dalam menambahkan konten. Harap untuk di catat atau di simpan di gedit.
untuk mengatur jalannya MySQL dibutuhkan aplikasi phpmyadmin, untuk Instalasi di bawah ini.
$rhc-ctl-app -e add-phpmyadmin-3.4 -a meruvian

phpmyadmin dapat diakses di http://[username].rhcloud.com/phpmyadmin


untuk username dan password dapat menggunakan user dan password yang telah diberikan setelah
menginstal aplikasi ini.

8. Untuk konfigurasi key dan authenticate dapat menggunakan langkah di bawah ini.
$ssh-keygen -t <tipe>
<tipe> adalah key yang akan di generate, antara dsa atau rsa

9. Tambahkan publik key baru untuk akun pengguna


$rhc sshkey add -i meruvian -k /home/meruvian/.ssh/id_rsa.pub -l

Created by Meruvian Cloud Team 39


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

username@meruvian.org

10. Tambahkan publik key yang baru ke SSH


$ssh-add /home/meruvian/.ssh/id_rsa

Authenticate key dengan Openshift server:


$rhc domain status -l username@meruvian.org
untuk melihat semua list yang ada pada domain gunakan perintah berikut.
$rhc sshkey list -l username@meruvian.org

11.Setelah semuanya selesai, saatnya untuk menambahkan konten, hapus pom.xml yang ada di
direktori aplikasi

Created by Meruvian Cloud Team 40


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

$cd meruvian
$git rm -r src pom.xml
$git commit -m “Hapus artifak dari aplikasi yang akan dibuat”

12. Siapkan nama aplikasi berbentuk .war, contoh penulis akan menggunakan aplikasi yama.war
sebagai konten yang akan ditambahkan di jbossas-7.Salin konten tersebut di
/home/meruvian/meruvian/deployments.
$cp Aplikasi/yama.war /home/meruvian/meruvian/deployments/
Setelah itu buat file berikut.
$touch yama.war.dodeploy

13. Kemudian saatnya untuk di sinkronisasikan dengan openshift dengan perintah di bawah ini.
$ rsync -avz deployments/731c3b027fb147739209f6c8e5d04529@meruvian
meruvian.rhcloud.com:~/meruvian/jbossas-7/standalone/deployments/

14. Tunggu beberapa saat sampai konten tersebut berjalan. Konten yama dapat diakses di
http://[username].rhcloud.com/yama2

Created by Meruvian Cloud Team 41


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

15. Untuk mengakses server openshift dapat menggunakan aplikasi ssh.


$ssh 731c3b027fb147739209f6c8e5d04529@meruvian-meruvian.rhcloud.com

16. Jika ingin melihat shell openshift, dapat meremote terlebih dahulu domain user, kemudian masuk
direktori .env/ setelah itu tampilkan isi direktori dengan ls, sebagai contoh jika ingin mengetahui
password database.
$echo “password:$OPENSHIFT_DB_PASSWORD”

Created by Meruvian Cloud Team 42


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

4.3 Deploy Yama di Cloudfoundry

Adapun dalam tutorial ini,akan dijelaskan bagaimana mendeploy Yama dalam sebuah cloud service
Cloudfoundry dengan langkah-langkah sebagai berikut :
1. Lakukan sign up ke cloudfoundry.com.

2. 2. Isi dengan email anda dan promo codenya


gunakan saja nhjug dan jangan lupa untuk mengisi form captcha di bagian bawah.
3. Setelah proses selesai , verifikasi email sebagai username dan password akan dikirim ke email
yang tadi diisikan.
4. Kemudian login dengan email/username dan password tadi.

5. Langkah berikutnya adalah installasi Ruby dan RubyGems.

Created by Meruvian Cloud Team 43


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Adapun OS yang digunakan dalam tutorial ini adalah linux Ubuntu 11.04.
$ sudo apt-get install ruby-full ruby-gems
6. Kemudian mulai install vmc , yakni sebuah tool terminal dari cloudfoundry yang berguna
untuk menjalankan perintah-perintah managemen aplikasi cloud pada cloudfoundry.
$ sudo gem install vmc
7. Kemudian menyetting target gem ke api.cloudfoundry.com.
$ vmc target api.cloudfoundry.com
8. Selanjutnya login ke cloudfoundry via vmc untuk memulai memanage cloud.
$ sudo vmc login
Email : ****@****.***
Password :*****
Successfully logged into [http://api.cloudfoundry.com]
9. Untuk memulai deploy masuk ke direktori aplikasi atau ke direktori file extensi .war,adapun
lokasi file aplikasi extensi yama.war dalam tutorial ini ada di
/media/Data/Data/Aplikasi/yama . Dan perintah untuk mendeplo adalah vmc push.
$ cd /media/Data/Data/Aplikasi/yama
$ sudo vmc push
Would you like to deploy from the current directory? [Yn]: n <enter>
Deployment path: yama.war <enter>
Application Name: yama 3<enter>
Detected a Java SpringSource Spring Application, is this correct? [Yn]: y
Application Deployed URL [yama3.cloudfoundry.com]: <enter>
Memory reservation (128M, 256M, 512M, 1G, 2G) [512M]: menentukan besar
memory yang dibutuhkan tekan <enter> untuk default (512MB).
How many instances? [1]: 1 <enter>
Create services to bind to 'yama3'? [yN]: n
Would you like to save this configuration? [yN]: y
Manifest written to manifest.ym
Uploading Application:
Checking for available resources: OK
Processing resources: OK
Packing application: OK
Uploading (7K): OK
Push Status: OK
Staging Application 'yama3': OK

Created by Meruvian Cloud Team 44


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Starting Application 'yama3': .

10. Jika saat Starting Application terdapat pesan Error:


Application 'yama3's state is undetermined, not enough information available.
Lakukan update vmc :
$ sudo vmc update
Updating application 'yama3'...
Uploading Application:
Checking for available resources: OK
Processing resources: OK
Packing application: OK
Uploading (7K): OK
Push Status: OK
Stopping Application 'yama3': OK
Staging Application 'yama3': OK
Starting Application 'yama3': OK

11. Dari sini , Yama sudah bisa dijalankan tapi belum terkoneksi ke database , maka dari itu harus
membuat service mysql terlebih dahuluu
$ sudo vmc create-service mysql mysql-yama3
Creating Service: OK
12. Kemudian lakukan binding agar database mysql-yama3 yang dibuat langsung dapat digunakan
oleh aplikasi yama3 .
$ sudo vmc bind-service mysql-yama3 yama3
Binding Service [mysql-yama3]: OK
Stopping Application 'yama3': OK
Staging Application 'yama3': OK
Starting Application 'yama3': OK

13. Kemudian akses di web browser http://yama3.cloudfoundry.com

Created by Meruvian Cloud Team 45


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

4.4 Deploy Yama Di Jelastic

Adapun langkah-langkahnya adalah sebagai berikut :

1. Daftar terlebih dahulu ke jelastic.net dengan email Anda.

2. Setelah klik Sign up dan proses berhasil , maka akan dikirimkan email konfirmasi bahwa akun
dan password anda telah dibuat di jelastic.net.
Kemudian arahkan browser ke https://app.jelastic.servint.net/ . Login dengan username (email
tadi) dan password yang telah diberikan.

Created by Meruvian Cloud Team 46


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

3. Setelah login , akan ditampilkan halaman pembuatan environment.

Ngingx : sebagai Load Balancer dan sebagai web server utama.


Glassfish : sebagai Java Container yang digunakan.
MysqlDB : sebagai database yang digunakan.
Maven : repository library yang terdapat di intenet mirip dengan repository dari linux. dengan
mengunakan maven sendiri user dapat lebih mudah dalam melakukan development karena user
tinggal menambahkan library yang user butuhkan agar mempercepat proses development tanpa
perlu mencari-cari library terlebih dahulu terlebih lagi user mengunakan tools ajaib netbeans
sehingga proses-prosess pembuatan pojo, encapsulate data akan lebih cepat daripada
mengunakan IDE (Integrated development environment).Maven akan digunakan sebagai
platform checkout ke server .
Environment : adalah nama domain / url utama yang akan digunakan oleh applikasi.
Jika sudah klik create.

4. Kemudian akan muncul progress bar creating environment. Yang menunjukkan bahwa
environment sedang dibuat.

Created by Meruvian Cloud Team 47


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

5. Untuk memulai mendeploy , arahkan pointer ke Maven 3 , dan klik gambar box
untuk melakukan checkout pada server Subversion aplikasi Yama di
https://svn.java.net/svn/yama~yama-repo/tags/yama-1.0.1/webapp/struts/ .

Created by Meruvian Cloud Team 48


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Klik [+]Add jika sudah.

6. Setelah itu arahkan pointer ke yama yang sudah didapat dari svn dan pilih Build and Deploy.

7. Jika sudah proses selesai , maka akan ada ROOT di bawah glassfish.
Ini menandakan bahwa aplikasi sudah terinstall dan terdeploy di glassfish

dari sini aplikasi bisa diakses dari webrowser dengan mengarahkan pointer ke Open Browser.

Created by Meruvian Cloud Team 49


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

4.5 Deploy Yama di DotCloud

Register akun dotcloud di


https://www.dotcloud.com/

4.5.1.Install CLI dotcloud

Buka terminal dan ketikkan perintah di bawah ini

$ sudo apt-get install python-setuptools

$ sudo easy_install pip && sudo pip install dotcloud

Setelah proses instalasi selesai, ketikkan peritnah dotcloud di terminal

$ dotcloud

Created by Meruvian Cloud Team 50


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Enter your api key

Masukkan API yang user dapatkan dari akun dotcloud di menu setting

4.5.2. Membuat Project

Membuat project yama di dotcloud

$ dotcloud create yama

Created application "yama" using the flavor "sandbox" (Use for development, free
and unlimited apps. DO NOT use for production.)

Membuat folder yama untuk menampung beberapa kebutuhan project


$ mkdir yama

$ cd yama

Buat sebuah file dengan extensi .yml .File ini berfungsi untuk mendeskripsikan tipe aplikasi, database
atau webserver yang akan digunakan untuk aplikasi

$ nano dotcloud.yml

isi dengan :

www:

type: java

data:

type: mysql

Created by Meruvian Cloud Team 51


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

File yml di atas mendeskripsikan bahwa user akan menggunakan aplikasi java dengan database
mysql.

Selanjutnya push aplikasi user ke DotCloud

$ dotcloud push yama

# rsync

[...]
sent 8.11K bytes received 352 bytes 995.06 bytes/sec
total size is 14.78K speedup is 1.75
Deployment for "yama" triggered. Will be available in a few seconds.
2011-06-28 04:27:34 [api] Waiting for the build. (It may take a few minutes)
2011-06-28 04:27:48 [www.0] service booted
2011-06-28 04:27:48 [www.0] The build started
2011-06-28 04:27:48 [www.0] Fetched code revision rsync-1309235251.44
2011-06-28 04:27:51 [www.0] Reloading nginx configuration: nginx.
2011-06-28 04:27:51 [www.0] The build finished successfully
2011-06-28 04:27:51 [api] Deploy finished

Deployment finished successfully. Your application is available at the following


URLs
www: http://[nama project]-[username].dotcloud.com/

4.5.3. Membuat Database

Selanjutnya user akan membuat database untuk aplikasi yang akan user deploy

Jalankan service database mysql di DotCloud

$ dotcloud run yama.data – mysql

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 105


Server version: 5.1.41-3ubuntu12.7 (Ubuntu)

Created by Meruvian Cloud Team 52


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Type 'help;' or '\h' for help. Type '\c' to clear the current input
statement.

mysql>

mysql> create databaes yama;

mysql> grant all on yama.* to yama@localhost identified by 'password';

mysql> grant all on yama.* to yama@'%' identified by 'password';

mysql> quit

4.5.4. Konfigurasi Database di Yama

Setelah berhasil membuat database di dotcloud, selanjutnya user akan menegkonfigurasi koneksi
database di aplikasi yama.

Namun sebelumnya user perlu mengetahui informasi seperti host database, port, dsb.

Gunakan perintah di bawah ini untuk mendapatkan info tersebut.

$ dotcloud info yama.data

config:

mysql_masterslave: true

mysql_password: l39IqqSQ83Eyg7X2Ql533453535XEgxxxx

created_at: 1341916569.215796

datacenter: Amazon-us-east-1d

image_version: 1120eda9aa82 (latest)

instance: data.0

Created by Meruvian Cloud Team 53


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

instances:

yama.data.0:

role: master

state: up

memory:

- total reserved: N/A (sandbox app)

- total used: 36MB

- cache portion: 632KB of 36MB (1%)

ports:

- name: ssh

url: ssh://mysql@yama-meruvian.dotcloud.com:31822

- name: mysql

url: mysql://root:l39IqqSQ83Eyg7X2Ql533453535XEgxxxx@yama-
meruvian.dotcloud.com:31821

pricing: free

state: running

type: mysql

Buka file yama.war dengan software archive manager spt:winrar,dsb

Edit file db.properties yang ada di yama/WEB-INF/classes.


Sesuaikan konfigurasi database dengan database yang telah user baut di dotcloud

Created by Meruvian Cloud Team 54


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

db.url=jdbc:mysql://yama-meruvian.dotcloud.com:31821/yama
db.driver=com.mysql.jdbc.Driver
db.username=yama
db.password=password

4.5.5. Deploy project ke DotCloud


Letakkan file .war aplikasi user di dalam folder yama yang telah user buat pada langkah di atas.
Pada file yml terdapat sebuah properties yang dapat user gunakan untuk mengkonfigurasi approot
aplikasi yang akan user deploy.

www:
type: java
approot: yama

Jika user mengkonfigurasi file yml sedemikian rupa, maka user akan dapat mengakses project tersebut
dengan url http://[nama user]-[nama project].dotcloud.com/yama

Namun agar user dapat mengakses WAR file sebagai ROOT folder, user bisa me rename file .war user
dengan nama ROOT.war sehinnga nantinya akan bisa mengakses aplikasi tersebut dengan format url :

http://[nama user]-[nama project].dotcloud.com/

Gunakan perintah di bawah ini untuk deploy aplikasi java user ke dotcloud:

$ dotcloud push yama yama/

# rsync

[...]
sent 8.11K bytes received 352 bytes 995.06 bytes/sec
total size is 14.78K speedup is 1.75
Deployment for "ramen" triggered. Will be available in a few seconds.
2011-06-28 04:27:34 [api] Waiting for the build. (It may take a few minutes)
2011-06-28 04:27:48 [www.0] service booted

Created by Meruvian Cloud Team 55


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

2011-06-28 04:27:48 [www.0] The build started


2011-06-28 04:27:48 [www.0] Fetched code revision rsync-1309235251.44
2011-06-28 04:27:51 [www.0] Reloading nginx configuration: nginx.
2011-06-28 04:27:51 [www.0] The build finished successfully
2011-06-28 04:27:51 [api] Deploy finished

Deployment finished successfully. Your application is available at the following


URLs
www: http://[nama project]-[nama user].dotcloud.com/

Akses url tersebut sehingga akan muncul aplikasi Yama di browser user :

4.6 Deploy Yama di Azure


Sebelum user mempublish yama user ke Windows Azure Cloud, ada beberapa hal yang perlu
dipersiapkan, yaitu :

1. Install Azure SDK


2. Membuat Database Azure
3. Web Archive (War) file dari aplikasi yang akan user deploy
4. Membuat Azure Project
5. Membuat Hosted Service

Created by Meruvian Cloud Team 56


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

4.6.1. Install Azure SDK

1. Download Azure Tools dari http://www.microsoft.com/en-us/download/details.aspx?id=15658


2. Selanjutnya klik 2 kali file WindowsAzureToolsVS2010.exe .Jika visual studio 2010 sudah
terinstall maka akan terdapat dialog yang meninformasikan bahwa Visual Studio 2010 sudah terinstall

Klik Install

Created by Meruvian Cloud Team 57


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Klik I accept.

Selanjutnya proses instalasi akan berjalan

Created by Meruvian Cloud Team 58


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Setelah proses instalasi selesai akan terdapat informasi dialog seperti di bawah ini

Created by Meruvian Cloud Team 59


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Klik Finish untuk mengakhiri proses instalasi

4.6.2. Membuat Database Azure

Masuk ke dalam azure dashboard, klik menu Database pada bagian sebelah kiri.Lalu pada top
bar pilih tombol create database seperti pada gambar di bawah ini.

Akan muncul pop up seperti di bawah ini :

Isikan nama database, pilih Edition dan Maximum Size sesuai dengan kebutuhan. Klik OK untuk
menyutujui.

Created by Meruvian Cloud Team 60


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Lalu Akan muncul list database yang telah user buat pada bagian bawah.Klik Firewall Rules

Klik tombol Add

Isikan IP range Start dan Ip Range End sesuai dengan ip publik dari komputer anda.Jika anda tidak
mengetahuinya, ketikkan kate what is my ip pada google. Klik Ok

Untuk mengetahui connection string dari database yng user buat, klik pada menu database \ klik
Subcription \ pilih database yang akan user liat connection stringnya.Lalu pada bagian menu kanan
klik tombol view pada connection string

Created by Meruvian Cloud Team 61


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

4.6.3. Menyiapkan File War

Sebelum user mengeksport aplikasi user menjadi .war terlebih dahulu user perlu memastikan bahwa
konfigurasi database yang user gunakan sudah sesuai dengan database yang berada di Azure.
Pada Yama, user dapat melihat konfigurasi database dengan mengakses file db.properties yang ada di

Created by Meruvian Cloud Team 62


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Buka file tersebut dan konfigurasi koneksi sesuai dengan informasi connection string yang diberikan
pada Azure dashboard

db.url=jdbc:sqlserver://
[subcription].database.windows.net:1433;database=yamazure;user=[dbuser]@[subcripti
on];password=[dbpasswrd];encrypt=true;hostNameInCertificate=*.database.windows.net
;loginTimeout=30
db.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver

Selanjutnya export war file dengan mengikuti langkah di bawah ini :


File war inilah yang akan user upload ke platform Azure nantinya.Untuk mendapatkan file war ini bisa
melalui eclipse dengan klik kanan pada project terpilih \ export

Klik Next

Created by Meruvian Cloud Team 63


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Isikan nama project yang akan user simpan.lalu klik Finish

Namun karena Yama menggunakan maven, user bisa mendapatkan file war dengan
dengan mengakses klik kanan pada project terpilih \ Run As \Maven Build

Created by Meruvian Cloud Team 64


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Lalu isikan perintah clean verify pada textbox goals.Klik tombol Run

4.6.4. Membuat Azure Project

Untuk membuat Azure Project dengan eclipse, klik File\New\Windows Azure Deployment Project

Isikan nama Project anda, klik Next

Created by Meruvian Cloud Team 65


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Keterangan :
Centang checkbox include JDK from this location dan pilih lokasi {Java_Home} pada komputer
anda.

Centang juga checkbox include server from this location.Pada combo box select pilih server yang
ada pada komputer anda, lalu klik browse dan pilih lokasi server yang tersedia.

Pada Application, remove file HelloWorld.war terlebih dahulu.Lalu Add file yama.war yang telah
user export menggunakan maven pada bahasan di atas.

Klik Finish untuk menyetujui.

4.6.5. Membuat Hosted Service

Selanjutnya user perlu membuat hosted service sebagai tempat beroprasinya aplikasi Yama
yang user install di Azure.Untuk membuat hosted service:

• login ke Azure dashboard melalu http://windows.azure.com

Created by Meruvian Cloud Team 66


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

• Klik menu Hosted Service, Storage Accounts & CDN.klik menu New Hosted Service pada
pojok kiri atas sehingga akan muncul pop up seperti gambar di bawah ini

Yang perlu di perhatikan adalah pada textbox URL Prefix for your service.Isikan textbox

Created by Meruvian Cloud Team 67


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

tersebut sesuai dengan nama calon subdomain user dengan domain utama cloudapp.net
Jadi secara default domain akan tergenerate otomatis menjadi
[namaprefixservice].cloudapp.net

• Pada package location, klik browse locally dan pilih file .cspkg yang tergenerate ketika user
membuat Azure Project dari Eclipse
• Pada Configuration File, klik browse locally dan pilih file dengan extensi .cscfg yang
merupakan hasil generate Azure Project yang user buat.
• Add Certificate, jika user ingin menambahkan certificate yang bisa user gunakan untuk
melakukan remote dekstop
• Klik OK untuk menyetujui

Setelah proses berjalan dengan sukses, user dapat mengakses aplikasi yang telah user deploy dengan
format url :
http://[url prefix].cloudapp.net/[nama contextpath aplikasi]

4.7 Deploy Yama di CloudBees


Register terlebih dahulu di websitenya, di http://www.cloudbees.com/, setelah selesai register cek
email yang digunakan untuk mendaftar, kemudian login ke web tersebut.

Created by Meruvian Cloud Team 68


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Setelah login Install subscribe untuk Application atau RUN@cloud dan Database. Pilih yang Free

Install aplikasi Command Line Tools Cloudbees pada ubuntu, download aplikasi dengan perintah
berikut.
#curl -L cloudbees-downloads.s3.amazonaws.com/sdk/cloudbees-sdk-1.1-bin.zip
> /opt/bees.zip
#unzip bees.zip
#rm bees.zip
#cd cloudbees-sdk-1.1

Created by Meruvian Cloud Team 69


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Pada terminal .bashrc, tambahkan konfigurasi berikut.


export BEES_HOME=/opt/cloudbees-sdk-1.1
export BEES_BIN=$BEES_HOME/bin

Refresh pengaturan .bashrc dengan perintah di bawah ini.


#source .bashrc

Setelah selesai, uji aplikasi dengan perintah di bawah ini,


#bees help

buat aplikasi yama berjalan di cloudbees dengan mendeploy aplikasi yama.war ke server, sebelum
mendeploy aplikasi, pastikan semua konfigurasi database di atur sesuai dengan yang ada di app
database user.
#bees app:deploy -a meruvian <dir>/yama.war

untuk melihat seluruh informasi gunakan perintah di bawah ini.


#bees app:info -a meruvian

untuk database dapat mengikuti langkah-langkah di bawah ini.


Pertama, buat database yama, dengan perintah berikut.
#bees db:create yama

Created by Meruvian Cloud Team 70


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

untuk melihat informasi tentang database, gunakan di bawah ini.


#bees db:info yama

Aplikasi dapat diakses di url di bawah ini


http://yama.meruvian.cloudbees. net

Created by Meruvian Cloud Team 71


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Lampiran A :
Pengantar Meruvian Integrated Platform(MIP) versi.1.0

Pengantar

Jauh sebelum Meruvian didirikan, sampai saat buku ini dibuat, yaitu 2001 dibawah BlueOxygen,
sampai ditahun 2010 diputuskan Meruvian mengembangkan engine yang serupa tetapi lebih ringan
dan memiliki skalabilitas. Konsep pengembangan adalah membuat sebuah engine atau platform yang
memudahkan pengembangan, dan telah menjadi dasar dari solusi sejak didirikannya, kami
menyebutnya MIP (Meruvian Integrated Platform)

Meruvian Integration Platform(MIP) merupakan platform integrasi berbasis RESTful yang digunakan
untuk menciptakan solusi pengembangan aplikasi secara lebih cepat. MIP terdapat 2 core model yaitu
Yama dan Midas. Dalam platform ini Yama digunakan sebagai server dan Midas sebagai
client(Aplikasi Android), keduanya berkomunikasi satu sama lain dengan menggunakan mekanisme
REST.

MIP merupakan platform yang bersifat opensource dengan menggunakan Apache License. Sehingga
dapat dengan mudah dikembangkan. MIP juga mendukung teknologi berbasis cloud dan middleware
sehingga dapat dengan mudah dikolaborasikan.

Arsitektur yang digunakan pada MIP Server atau Yama dapat diintegrasikan dengan berbagai
komponen mengacu 3 layer yaitu Model View Controller. Hibernate dipilih sebagai solusi Model,
Spring sebagai IoC dan Struts2 sebagai Controller. Kemudian layer diatasnya akan menghasilkan
output berupa JSON/XML --merupakan sebuah plugins REST untuk Struts2, dapat diakses di
http://s2restplugins-java.net) -- yang dapat diintegrasikan dengan Android, Browser atau mobility

Created by Meruvian Cloud Team 72


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Arsitektur Yama

Sekilas mengenai MIP :

-) Pengembangan aplikasi secara lebih cepat

-) Total REST Platform – Consumer & Producer

-) Solusi lengkap: Cloud, Middleware untuk pengembangan solusi mobile

-) Integration Project dari IAAS ke PAAS maupun ke SAAS dan diintegrasikan dengan aplikasi
mobile

-) OpenSource menggunakan Apache License

-) Terintegrasi dengan program Link-&-Match Meruvian

Created by Meruvian Cloud Team 73


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Adapun fitur-fitur pada MIP, meliputi :

1. MIP Server

MIP Server yang dikembangkan berbasis REST Service yang dapat diintegrasikan dengan MIP Client
yang berupa aplikasi mobile. Mekanisme pengembangannya berupa platform integrasi (SpringMVC,
Hibernate, JPA), (Struts2, Hibernate, JPA). Sehingga, untuk pengembangan aplikasi menjadi sangat
mudah dan cepat dengan adanya Pattern Platform yang dapat mempercepat proses pembuatan aplikasi
yang sudah disediakan pada MIP Server.

Nama Proyek: Yama (http://yama.java.net)

2. MIP Client

Solusi mobile application baik menggunakan aplikasi android yang dikembangkan sebagai client dari
integrasi MIP.

Nama Proyek: Midas (http://midas.java.net)

Created by Meruvian Cloud Team 74


MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS

Hubungi Kami

Anda bisa menghubungi kami di :

Website : www.meruvian.org
Email : cs@meruvian.org
Phone : 021-985 644 17

Created by Meruvian Cloud Team 75

Anda mungkin juga menyukai