Your SlideShare is downloading. ×
Mengembangkan Solusi Cloud dengan PaaS
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Mengembangkan Solusi Cloud dengan PaaS

4,448
views

Published on

Mengembangkan Solusi Cloud dengan PaaS "dengan menggunakan Meruvian MIP -Yama- sebagai studi kasus"

Mengembangkan Solusi Cloud dengan PaaS "dengan menggunakan Meruvian MIP -Yama- sebagai studi kasus"

Published in: Technology, Business

2 Comments
8 Likes
Statistics
Notes
No Downloads
Views
Total Views
4,448
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1,158
Comments
2
Likes
8
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. E-Book Cloud ComputingMengembangkan Solusi Cloud dengan PaaS ver. : 1. 3 Dikembangkan oleh : Email : cs@meruvian.org Phone : 021-985 644 17 Kode : MRVCC01
  • 2. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS Daftar IsiDaftar Isi .......................................................................................................................................... 2Bagian 1.Cloud Computing1.1 Pengertian Cloud Computing ..................................................................................................... 31.2 Tradisional Hosting vs Cloud .................................................................................................... 31.3 Manfaat Cloud Computing ......................................................................................................... 61.4 Resiko Cloud Computing ............................................................................................................ 7Bagian 2. Jenis-jenis Layanan Cloud2.1 IaaS (Infrastructure as a Service) ................................................................................................ 92.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 .................................................................................................................... ....... 272.3 SaaS (Software as a Service) ...................................................................................................... 29Bagian 3. Cloud Database3.1 Pengertian Cloud Database ......................................................................................................... 313.2 SQL ............................................................................................................................................ 313.3 NoSQL ........................................................................................................................................ 34Bagian 4. Implementasi PaaS4.1 Yama Overview ........................................................................................................................... 384.2 Deploy Yama di OpenShift ......................................................................................................... 394.3 Deploy Yama di CloudFoundry .................................................................................................. 454.4 Deploy Yama di Jelastic .............................................................................................................. 484.5 Deploy Yama di DotCloud .......................................................................................................... 524.6 Deploy Yama di Azure ................................................................................................................ 584.7 Deploy Yama di CloudBees ........................................................................................................ 71Lampiran A : Pengantar Meruvian Integrated Platform(MIP) versi.1.0 .................................. 75Created by Meruvian Cloud Team 2
  • 3. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS Bab 1 Cloud Computing1.1 Pengertian Cloud Computing Cloud Computing merupakan sebuah paradigma baru dalam dunia komputasi.Secara sederhanacloud computing dapat diartikan sebagai teknologi yang menggunakan layanan ataupun produk yangdisediakan oleh provider dengan basis internet.Cloud Computing ini merupakan kumpulan dari beberapa computing resource yang terintegrasisehingga menjadikannya sebagai layanan yang mempunyai skalabilitas tinggi.1.2 Traditional Hosting vs Cloud Terkadang user perlu memikirkan beberapa pertimbangan dalam memutuskan apakah userakan menggunakan sistem Cloud atau Hosting untuk penyimpanan data user.Pada sub bab ini user akan terlebih dahulu membahas jenis-jenis hosting dan cloud sehingga userdapat 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 HostingShare Hosting adalah sebuah hosting yang digunakan user untuk menyewa disk space dari sebuahserver yang server tersebut dibagi dan dishare dengan user-user atau website-website yang lain.Tipehosting ini merupakan tipe hosting paling banyak tersedia di internet karena mudah di dapatkan dariCreated by Meruvian Cloud Team 3
  • 4. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSprovider 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 menjadibeberapa virtual server.Sedangkan Virtual Private Server Hosting (VPS Hosting) adalah sebuahlayanan hosting yang menggunakan Virtual Private Server.Pada tipe hosting ini, meskipun user beradapada satu server dengan akun yang lain, namun user dapat mengisolasi environment dari server yanguser punya.Semisal ada satu akun yang servernya bermasalah, maka selama server utama tidakmengalami masalah, VPS yang user punya pun tidak akan terganggu.Beberapa teknologi yang sering digunakan untuk virtualisasi al :Xen,UML,OpenVZ, dll3. Dedicated ServerTipe hosting yang ini merupakan tipe hosting yang menyediakan satu server utuh untuk sebuahakun.Tipe ini layaknya user membeli satu hardware dari sebuah provider wajar jika tipe DedicatedServer mempunyai harga lebih mahal dibandingkan dengan VPS ataupun Shared Hosting.b. Cloud HostingCloud Hosting merupakan layanan hosting yang terhubung pada banyak server.Dengan skalabilitas iniuser 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.userdapat mengurangi atau menambah resource dengan mudah tanpa mengganggu proses yang sedangberjalan.Created by Meruvian Cloud Team 4
  • 5. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSSeperti 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 halCreated by Meruvian Cloud Team 5
  • 6. 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 HostingLalu manakah yang lebih bagus antara Cloud Hosting dan Tradisional Hosting ? Semuanya kembalikepada kebutuhan user. Jika user ingin meminimalisasi biaya dengan berjalannya aplikasi yangberjalan dengan skala besar, tentu Cloud Hosting jadi pilihan yang bijak.Namun jika user inginmenyimpan data sensitif atau aplikasi yang tidak membutuhkan skalabilitas misalnya, TradisionalHosting bisa menjadi pilihan.1.3 Manfaat Cloud Computing Tidak diragukan lagi, manfaat adanya cloud computing ini begitu besar baik ditinjau dari sisifinansial ataupun dari sisi efisiensi. Adapun beberapa keuntungan dengan adanya cloud computingini, 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 pembedaCreated by Meruvian Cloud Team 6
  • 7. 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 cloudcomputing ini.Namun disamping itu semua, user perlu mengetahui beberapa resiko ketika usermemilih 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 mengalamiCreated by Meruvian Cloud Team 7
  • 8. 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
  • 9. 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, mulaidari Iaas, PaaS sampai dengan SaaS. Namun pada bab ini akan dijelaskan mengenai pembagian cloudsecara lebih detail.2.1. IaaS (Infrastructure as a Service) IaaS adalah layanan Cloud Computing yang usernya dapat menyewa infrastruktur komputasimulai dari storage,memory,network,dll. Sebagaimana konsep pada cloud computing yang memberikanelastisitas, user bisa mengatur spesifikasi masing-masing komponen yang akan user gunakan.userdapat 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 sedangberjalan.Contoh penyedia layanan IaaS antara lain : Rackspace, Amazone Web Service, IBM, Openstack,Bluelock, dllCreated by Meruvian Cloud Team 9
  • 10. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS2.2. PaaS (Platform as a Service) PaaS adalah layanan Cloud Computing yang providernya menyediakan platform untukmemudahkan user dalam mengembangkan sebuah sistem, termasuk di dalamnya environtment, sistemoperasi, database dan keperluan-keperluan lain yang berguna dalam development system.Dalam hal ini user akan membahas lebih fokus tentang implementasi PaaS. Pada bab selanjutnya akandibahas 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 bernamaOpenShift Origin. Developer dapat menggunakan Git untuk mendeploy aplikasi web dengan bahasapemrogaman yang berbeda di atas platform. Openshift juga menyediakan layanan untukCreated by Meruvian Cloud Team 10
  • 11. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSperbaikan(maintaince). (http://en.wikipedia.org/wiki/OpenShift). Openshift merupakan Platform as a Service (PaaS), dengan automatic scalability yangmendukung aplikasi web dengan developed Java EE, Node.js, Python, PHP, Perl dan Ruby. Termasukbeberapa database seperti MongoDB, Openshift merupakan PaaS pertama yang mendukung Java EE 6Full di Cloud, terintegrasi dengan developer tools seperti aplikasi lifecycle, termasuk integrasi denganEclipse. Beberapa Fitur terbaru seperti mendeploy kode tanpa JBOSS Developer Studio, menggunakanfitur Java seperti EJB3.1 dan JMS, dapat memanfaatkan web yang sederhana dan konfigurasi dengancommand-line dan Administrasi, berjalan di beberapa framework Java di web, mobile, HTML5 danaplikasi yang kompleks. Openshift berjalan seperti pada bagan di atas, setiap aplikasi akan berjalan di atas aplikasiJboss AS7, dan dijalankan pada sistem operasi RHEL + SELinux yang berjalan di sistem CloudComputing yaitu Amazon EC2.Created by Meruvian Cloud Team 11
  • 12. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS Setiap user akan diberikan domain yang berakhirkan *.rhcloud.com dengan satu namespacedengan 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 yangmenyediakan antarmuka dan Cartridge adalah fungsi yang menyediakan aplikasi framework.A. Broker Semua aktifitas manajemen aplikasi, seperti login, DNS, kondisi aplikasi dan lain-lain diaturdalam fungsi ini, Interaksi antar user dan Broker dilakukan baik menggunakan Konsol Web, CLI, JavaClient, Jboss tools dengan menggunakan REST based API.B. Cartridge Cartridge menyediakan fungsionalitas yang digunakan untuk menjalankan aplikasi. Banyakcartridge yang tersedia untuk mendukung bahasa pemrogaman seperti Jboss, PHP, Ruby sertaCartridge database seperti PostgreSQL, mySQL, dan MongoDB.Created by Meruvian Cloud Team 12
  • 13. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSC. Scalability Openshift mendukung aplikasi manual scaling. Untuk membuat aplikasi scalable, dibutuhkan 2gear/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 Openshiftberjalan di atas cluster besar dari Compute dan penyimpanan tiap node, setiap node berjalan di banyakGear, Instance dari setiap aplikasi user, Cluster tersebut menggunakan Qpid AMQP untuk Queuepesan dan Mcollective untuk inter-node komunikasi dan koordinasi. Gambar di atas merupakan hubungan aplikasi user dengan Gear, setiap gear terdapat aplikasiyang berbeda tergantung yang dibutuhkan user untuk aplikasinya.Kode Cluster yang ada di PaaS openshift telah ditambahkan di Openshift Origin, sehinggaCreated by Meruvian Cloud Team 13
  • 14. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSmemudahkan user untuk membangun clustering secara lokal dengan Openshift Origin open source,untuk membangun sebuah cluster dibutuhkan 2 node PaaS, untuk spesifikasi tiap node adalah sebagaiberikut : • 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 telahdi input ke node pertama akan berpindah atau dapat dilanjutkan pada node kedua, sebenarnya denganadanya Jboss AS 7 di openshift, user dapat membangun sendiri cluster dengan menggunakanmod_cluster tiap node.2.2.2. Windows Azure Windows Azure adalah platform untuk publik cloud milik Microsoft.Windows AzureCreated by Meruvian Cloud Team 14
  • 15. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSmenawarkan beberapa layanan untuk dapat digunakan oleh user, mulai dari virtual mesin untuk testingatau menjalankan aplikasi, media penyimpanan data, sampai dengan mengembangkan aplikasi yangscalable dengan memanfaatkan resource yang disediakan oleh Azure.Beberapa Komponen Utama Windows AzurePlatform Windows Azure ini terdiri dari beberapa platform yang saling menguatkan satu dengan yanglainnya.Di bawah ini akan di jelaskan fungsi dari beberapa komponen tersebut.A. Data Management Azure menyediakan beberapa model untuk penyimpanan data oleh aplikasi.Azuremenyediakan 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 kebutuhansistem yaitu : SQL untuk penyimpanan data relasional, NoSQL untuk penyimpanan file yangberpotensi 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, yaitudi Asia, US, dan Eropa.Basicly Azure secara otomatis melakukan replikasi pada tiap data atau aplikasike beberapa server yang biasanya disebut sebagai Worker Role.Hal ini untuk berujuan untukmeningkatkan performa dan juga untuk tujuan skalabilitas dari aplikasi yang berjalan di atasWindowsAzure.Ada beberap metode yang ditawarkan oleh Windows Azure dalam mengakses resouce yangdisediakan, yaitu : • On-Premise Network, user dapat mengakses Virtual Network pada windows Azure untukCreated by Meruvian Cloud Team 15
  • 16. 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. CachingAzure menyediakan beberapa metode caching untuk meningkatkan performa server, yaitu : MemoryCaching dan CDN (Content Delivery Network).Created by Meruvian Cloud Team 16
  • 17. 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 melakukanquery 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 datacenter terdekat dari user yang mengakses.Selanjutnya user yang akan mengakses konten tersebut tidakperlu mengakses konten ke data center global, namun akan diarahkan ke data center terdekat dari usersehingga pengaksesan kontent menjadi lebih cepat.D. High Performance Computing (HPC) High Performance Computing (HPC) adalah salah satu komponen dari Windows Azuredalam kemampuan skalabilitasnya.Dengan adanya komponen ini Azure dapat menjalankan virtualmesin bersama-sama secara simultan.HPC ini berguna ketika ada permintaan untuk mengeksekusisebuah kode pada banyak mesin dalam waktu yang bersamaan.Created by Meruvian Cloud Team 17
  • 18. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS2.2.3. Cloud Foundry Cloud Foundry adalah sebuah Platform as Service (PaaS) provide yang bersifat Opensourceyang dikembangkan oleh VMware dan bekerja sama dengan Apache License 2.0 yang dibuat daribahasa pemrogaman Ruby. Layanan-layanan Clounfoundry diantaranya adalah sebagai berikut :A.CloudFoundry.com Sebuah host lengkap PaaS environment yang berjalan dalam infrastruktur vSphere dariVmware. CloudFoundry.com mendukung Spring, Ruby on Rails, Sinatra , Scala dan Node.js jugavFabric Postgres,vFabric RabbitMQ , MongoDB , MySQL dan Redis.B.CloudFoundry.org Sebuah proyek open source di mana developer dan anggota masyarakat dapat berkolaborasidan berkontribusi pada proyek. Menyediakan komunitas yang membicarakan seputar pengembanganCloud 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 denganinstansi selain Cloudfoundry.Hal ini memungkinkan akses dari pihak VMware , pihak ketiga dankomunitas opensource lainnya.Dengan built-in mendukung DNS dinamis, pengembang dapat menjalankan Micro Cloud Foundrymana pun mereka kebetulan bekerja - apakah di toko rumah, kantor atau kopi - tanpa konfigurasiulangMicro Cloud Foundry tersedia sebagai gambaran Virtual machine yang kompatibel dengan VMwareFusion untuk MacOSX, VMware Workstation dan VMware Player (tersedia sebagai download gratis)Created by Meruvian Cloud Team 18
  • 19. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSuntuk Linux dan Windows. Juga menyediakan penginstalan mudah, setup dan mekanisme manajemenVM. Cloud Foundry juga menyediakan CLI untuk mempermudah developer mengembangkan danmendeploy aplikasinya dalam cloud di Cloud Foudry yang disebut VMC.2.2.3.1 Arsitektur CloudFoundryCreated by Meruvian Cloud Team 19
  • 20. 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 lifecycleaplikasi dengan interface berbasis scipt CLI yang disebut VMC yang juga diintegrasikan dengan alatpengembangan untuk memudahkan proses deployment2.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 mempertahankanperformance dari aplikasinya.Auto-scale : pengembang dapat menambahkan sendiri auto-scale dengan sintak di CLI yang prosesnyadijalankan oleh service-service Cloud Foundry.2.2.4. Jelastic Jelastic adalah solusi cloud platform Java yang juga disebut PaaS (Platfom as Service) Javayang autoscale dan easy deploy. Autoscale memungkin user untuk menjalankan aplikasinya tanpamengkonfigurasi environment.Contohnya jika akan menjalankan aplikasi Java maka akan diperlukankonfigurasi 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 cukupdeploy 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, HighAvailability.Easy deploy sendiri adalah proses deploy (memasang/menyebarkan) aplikasi ke serverdalam hal ini adalah server cloud Jelastic dengan cara yang sangat mudah .Kelebihannya dalamJelastic 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 banyakCreated by Meruvian Cloud Team 20
  • 21. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSHosted Service Provide yang terkenal ini membuktikan bahwa Jelastic sudah diakui keberadaanyasebagai salah satu Cloud Service yang handal.2.2.4.1 Fitur-fitur JelasticBeberapa 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 pemintaanCreated by Meruvian Cloud Team 21
  • 22. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS2.4.2 ArsitekturKeterangan :HTTPS recording : menggunakan SSL yang dapat diaktifkan atau di-nonatikan.Balancer dan caching : Load balancer yang digunakan adalah nginx. Memungkinkan pembagiankerja untuk web container di bawahnya sehingga server tidak bekerja berat walaupun memiliki banyakenvironment.REC – runtime version container : Sebagai platform aplikasi yang dideploy.Menyediakan Tomcat 6dan 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 CouchDBCreated by Meruvian Cloud Team 22
  • 23. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS2.2.4.3 Scalability (Skalabilitas) Untuk skalabilitas semua tergantung lalu lintas pertumbuhan aplikasi di Jelastic.Jelastic akanotomatis menambahkan CPU ,RAM dan sumber daya lainjika aplikasi sedang mendapatkan bebanberat .Jika lalu lintas menurun , maka Jelastic juga akan menurunkan dan mengurangi sumberdaya.Dengan ini tidak perlu merubah arsitektur atau penyesuain sumber daya tambahan , hanyamembayar untuk penambahan sumber daya yang dibutuhkan.Selain itu juga dapat ditentukan batassumber 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 JavaPlatform terkemuka sebagai layanan PaaS yang meliputi jasa pengembangan(development) dansebuah produksi runtime untuk Java. Perusahaan ini memulai debutnya dengan DEV@cloud, yang menampilkan fitur pertamaHudson 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 untukmenggunakan cloud PaaS ini. Dalam membangun dan mendeploy aplikasi java, cloudbeesmenggunakan standar java framework dan APIs libraries.Created by Meruvian Cloud Team 23
  • 24. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS2.2.5.1 Aplikasi Clustering Cloudbees juga menyediakan aplikasi clustering untuk aplikasi java web yang berjalan diRUN@Cloud. RUN@Cloud adalah platform untuk cloud computing yang memberdayakan developerdengan peralatan dan layanan untuk membangun, mengelola, dan skala dari aplikasi JVM. RUN@Cloud menyediakan layanan kepada user dan telah di atur dari tools yang sederhanauntuk memproses pendeployan aplikasi java ke cloud, untuk menggunakan RUN@Cloud dibutuhkanaplikasi CLI khusus untuk mengatur jalannya aplikasi user di Cloudbees, aplikasi tersebut adalahCloudBees SDK, aplikasi tersebut dapat berjalan pada sistem operasi Linux,Created by Meruvian Cloud Team 24
  • 25. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS2.2.5.2 Arsitektur Cloudbees Cloud mencakup HTTP routing layer yang menangani clustering dan load balancinguntuk aplikasi web user. Ketika permintaan HTTP diterima, layer routing menggunakan HTTP hostheader untuk menentukan target aplikasi. Setiap target aplikasi yang ditentukan, permintaan akandilanjutkan ke instance deploy dari aplikasi. Jika aplikasi user telah dikonfigurasi untuk menjalankancluster, permintaan akan di teruskan ke instance, jika layer routing tidak tersedia untuk dikoneksikanke instance, maka permintaan akan otomatis di arahkan ke aplikasi instance. Keuntungan lainnya adalah aplikasi yang berjalan di cloud Cloubees tidak memerlukan sumberdaya yang besar. Karena dalam Cloudbees terdapat fungsi hibernasi, fungsi ini sangat efektif untukmenambah efisiensi server aplikasi user, jadi user dapat menjalankan aplikasi dengan setengah darisumber daya yang digunakan.Created by Meruvian Cloud Team 25
  • 26. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS2.2.5.3 Session Clustering Biasanya Aplikasi session terdapat dalam satu paket dalam instance dan tidak menyediakanuntuk clustering . Untuk session failover , jika user ingin mengaktifkan session clustering, user dapatmembuat 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 dataaplikasi, keuntungan lainnya, user dapat mengakses berbagai layanan dan Ekosistemnya Layanan dariCloudbees. user juga dapat meng-host database Anda sendiri atau terhubung ke database host olehpihak 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 dukunganuntuk menjalankan Database MySQL, tetapi aplikasi user hanya dapat terkoneksi ke external databasemenggunakan JDBC.2.2.6. DotCloud DotCloud merupakan salah satu layanan PaaS (Platform As a Service) yang menyediakanbeberapa fitur yang telah mendukung beberapa bahasa pemgrograman seperti :Java,Ruby,PHP, Python,Perl, Opa dan NodeJS. DotCloud juga telah menyediakan beberapa alternatif database untuk aplikasiyang akan user deploy di dalamnya Mulai dari Mysql, Postgresql dan Postgis sampai MongoDBSelain itu ada beberapa fitur-fitur alternatif lain sepert :Created by Meruvian Cloud Team 26
  • 27. 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 usermemerlukan API yang telah disediakan ketika pertama kali mendaftarkan akun. Selain itu DotCloudmenyediakan sebuah fitur untuk menentukan struktur aplikasi yang akan user deploy ke dalam cloudmenggunakan 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 ataufile web archive user ke dalam server cloud.Contoh file.ymlwww: type: javadb: type: mysqlFile .yml di atas akan memberitahu ke server bahwa aplikasi yang akan user deploy adalah aplikasiJava yang menggunakan database Mysql.Dalam hal scalability, dotCloud menyediakan tiga jenis tipe : • Scaling Horizontally, scalable dengan menggunakan paralel serverCreated by Meruvian Cloud Team 27
  • 28. 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, dll2.3. SaaS (Software as a Service) SaaS adalah layanan Cloud Computing yang memberikan layanan berupa aplikasi bisnis yangdapat diakses melalui internet.Biasanya dalam masalah payment, user akan dikenakan biaya tambahanjika menggunakan fitur-fitur yang lebih lengkap.Keuntungannya bagi user adalah user sebagai tidakperlu membeli lisensi dari aplikasi yang berjalan di SaaS.Jadi dalam perkembangannya nanti, banyakaplikasi yang mulanya hanya bisa dinikmati dengan melakukan instalasi di komputer lokal akan dapatdiakses melalui internet. Contoh implementasi SaaS adalah : office365, GoogleDrive, SalesForce, dll.Created by Meruvian Cloud Team 28
  • 29. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS Bab 3 Cloud Database3.1 Pengertian Cloud Database Cloud database adalah tipe database yang berjalan di atas platform cloud.Dalam pengelolaancloud database ini user dapat menjalankan database melalui virtual mesin atau melakukan pembelianlayanan 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 untukmengakses data dalam basis data relasional atau database. Pengertian secara luas merupakan bahasastandar yang digunakan dalam manajemen basis data relasional. Saat ini hampir semua server basisdata 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 yangmembahas tentang ide pembuatan basis data relasional pada bulan Juni 1970. Artikel ini jugamembahas 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 berbasisCreated by Meruvian Cloud Team 29
  • 30. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSbahasa SEQUEL. Akan tetapi, karena permasalahan hukum mengenai penamaan SEQUEL, IBM punmengubahnya menjadi SQL. Implementasi basis data relasional dikenal dengan System/R. Di akhir tahun 1970-an, muncul perusahaan bernama Oracle yang membuat server basis datapopuler 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 basisdata.Sejak SQL dibuat sebagai standar, banyak keuntungan jika user menggunakan bahasa SQL, antaralain : 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 ProviderSedangkan 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
  • 31. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS3.2.2 Software Database SQLSQL seiring berkembangnya zaman juga terus berkembang hingga melahirkan banyak softwaredatabase 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
  • 32. 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 SQLHampir semua perusahaan baik kecil ataupun besar yang mempunyai aplikasi baik di internet ataupundi 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 untukmenyimpan data.NoSQL dikembangkan oleh Carlo Strozzi pada tahun 1998 dan pada 2009 kembalidiperkenalkan kembali .NoSQL sangat berbeda dengan database-relasional lainnya yang jugamenggunakan SQL.Konsep penyimpanan data non-relasional mempunyai perbedaan-perbedaanmetode 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 disimpanterlebih dahulu dalam memori dan hanya sesekali dituliskan ke hardisk sehingga proses query dapatberlangsung lebih cepat,karena tidak perlu lagi mengambil data dari hardisk.Dari sinilah salah satukeuntungan key-value store sebagai metode NoSQL dibandingkan dengan database relasional yanglain.Key-value store sudah banyak digunakan oleh LiveJournal,Wikipedia,Twitter,Youtube,WordpressCreated by Meruvian Cloud Team 32
  • 33. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSyang dipadu dengan memcached. Kemudian metode berikutnya adalah table-oriented.Metodesedikit usernya , beberapa user metode ini adalah Google dengan BigTable-nya dan Facebook denganCassandra.Walaupun sedikit tapi hasilnya dapat dilihat dari kecepatan waktu pencarian pada Googledan Facebook walaupun diakses jutaan user. Metode NoSQL selanjutnya adalah document-oriented . Metode ini tidak mengenal adanyatable dan field serta record melainkan digantikan oleh dokumen dan koleksi. Dokumen dapatdisamakan seperti field dalam SQL sedangkan koleksi adalah tabelnya.Dokumen dapat memiliki fieldyang 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 grapnode,edge dan properties untuk menyimpan data.Dibandingkan database relasional, grap databasedapat beroperasi lebih cepat dalam pemetaan datanya.3.3.1 Software Database NoSQLBerikut 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
  • 34. 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 NoSQLBerikut 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 kelemahandatabase 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 masyarakat3.3.3 Pengguna database NoSQLDengan banyaknya metode-metode dan open source software databse NoSQL dan maka banyak pulapengguna database NoSQL yang telah mengimplemtasikannya dalam aplikasi mereka dan kebanyakanCreated by Meruvian Cloud Team 34
  • 35. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSdari 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 memangfungsi-fungsi , skalabilitas dan performance yang sesuai untuk komputasi awan , seperti : 1. OpenShift 2. Jelastic 3. Cloudfoundry 4. Cloudbees 5. DotCloudCreated by Meruvian Cloud Team 35
  • 36. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS Bab 4 Implementasi PaaS4.1 Yama Overview Yama merupakan sebuah bagian dari project Meruvian Integrated Platform (MIP) yangberperan sebagai MIP Server untuk dapat berkomunikasi dengan MIP Client yang dalam hal inimenggunakan Midas (platform framework untuk android).Yama adalah framework yang dapat membantu kita untuk pembuatan sebuah aplikasi dengan webbase dengan mudah dengan beberapa opsi yaitu:- MVC Web yang terintegrasi dengan SpringMVC, Spring dan Hibernate- MVC Web yang terintegrasi dengan Struts2, Spring dan HIbernateYama 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 Openshift1.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
  • 37. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS2. Pada terminal ubuntu, install beberapa paket yang dibutuhkan untuk openshift. #apt-get install git-core openssh openssh-client ruby-full rubygems1.8 rake3. Setelah semua selesai, saatnya menginstall aplikasi gem #gem install –source http://gems.rubyforge.org –source https://openshift.redhat.com/app/repo/ rhcCreated by Meruvian Cloud Team 37
  • 38. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSsekarang tool dapat digunakan, pertama kali buatlah sebuah domain $rhc-create-domain -n meruvian -l username@meruvian.org4. Buatlah sebuah aplikasi dengan menggunakan web server JBOSS AS 7 $rhc-create-app -a username -t jbossas-7 -l username@meruvian.org5. 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.comCreated by Meruvian Cloud Team 38
  • 39. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS6. Untuk menambahkan database MySQL dapat menggunakan perintah berikut. $rhc-ctl-app -a username -e add-mysql-5.17. Setelah menjalankan perintah di atas, pengguna akan diberikan ip host, port, username danpassword 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 rsa9. Tambahkan publik key baru untuk akun pengguna $rhc sshkey add -i meruvian -k /home/meruvian/.ssh/id_rsa.pub -lCreated by Meruvian Cloud Team 39
  • 40. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS username@meruvian.org10. 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.org11.Setelah semuanya selesai, saatnya untuk menambahkan konten, hapus pom.xml yang ada di direktori aplikasiCreated by Meruvian Cloud Team 40
  • 41. 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.dodeploy13. 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/yama2Created by Meruvian Cloud Team 41
  • 42. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS15. Untuk mengakses server openshift dapat menggunakan aplikasi ssh. $ssh 731c3b027fb147739209f6c8e5d04529@meruvian-meruvian.rhcloud.com16. 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
  • 43. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS4.3 Deploy Yama di CloudfoundryAdapun dalam tutorial ini,akan dijelaskan bagaimana mendeploy Yama dalam sebuah cloud serviceCloudfoundry 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
  • 44. 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: OKCreated by Meruvian Cloud Team 44
  • 45. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS Starting Application yama3: . 10. Jika saat Starting Application terdapat pesan Error: Application yama3s 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.comCreated by Meruvian Cloud Team 45
  • 46. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS4.4 Deploy Yama Di JelasticAdapun 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
  • 47. 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
  • 48. 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
  • 49. 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
  • 50. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS4.5 Deploy Yama di DotCloudRegister akun dotcloud dihttps://www.dotcloud.com/4.5.1.Install CLI dotcloudBuka terminal dan ketikkan perintah di bawah ini$ sudo apt-get install python-setuptools$ sudo easy_install pip && sudo pip install dotcloudSetelah proses instalasi selesai, ketikkan peritnah dotcloud di terminal$ dotcloudCreated by Meruvian Cloud Team 50
  • 51. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSEnter your api keyMasukkan API yang user dapatkan dari akun dotcloud di menu setting4.5.2. Membuat ProjectMembuat project yama di dotcloud$ dotcloud create yamaCreated application "yama" using the flavor "sandbox" (Use for development, freeand unlimited apps. DO NOT use for production.)Membuat folder yama untuk menampung beberapa kebutuhan project$ mkdir yama$ cd yamaBuat sebuah file dengan extensi .yml .File ini berfungsi untuk mendeskripsikan tipe aplikasi, databaseatau webserver yang akan digunakan untuk aplikasi$ nano dotcloud.ymlisi dengan :www: type: javadata: type: mysqlCreated by Meruvian Cloud Team 51
  • 52. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSFile yml di atas mendeskripsikan bahwa user akan menggunakan aplikasi java dengan databasemysql.Selanjutnya push aplikasi user ke DotCloud$ dotcloud push yama# rsync[...]sent 8.11K bytes received 352 bytes 995.06 bytes/sectotal size is 14.78K speedup is 1.75Deployment 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 booted2011-06-28 04:27:48 [www.0] The build started2011-06-28 04:27:48 [www.0] Fetched code revision rsync-1309235251.442011-06-28 04:27:51 [www.0] Reloading nginx configuration: nginx.2011-06-28 04:27:51 [www.0] The build finished successfully2011-06-28 04:27:51 [api] Deploy finishedDeployment finished successfully. Your application is available at the followingURLswww: http://[nama project]-[username].dotcloud.com/4.5.3. Membuat DatabaseSelanjutnya user akan membuat database untuk aplikasi yang akan user deployJalankan service database mysql di DotCloud$ dotcloud run yama.data – mysqlWelcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 105Server version: 5.1.41-3ubuntu12.7 (Ubuntu)Created by Meruvian Cloud Team 52
  • 53. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSType help; or h for help. Type c to clear the current inputstatement.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> quit4.5.4. Konfigurasi Database di YamaSetelah berhasil membuat database di dotcloud, selanjutnya user akan menegkonfigurasi koneksidatabase 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.dataconfig: mysql_masterslave: true mysql_password: l39IqqSQ83Eyg7X2Ql533453535XEgxxxxcreated_at: 1341916569.215796datacenter: Amazon-us-east-1dimage_version: 1120eda9aa82 (latest)instance: data.0Created by Meruvian Cloud Team 53
  • 54. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSinstances: yama.data.0: role: master state: upmemory:- 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:31821pricing: freestate: runningtype: mysqlBuka file yama.war dengan software archive manager spt:winrar,dsbEdit file db.properties yang ada di yama/WEB-INF/classes.Sesuaikan konfigurasi database dengan database yang telah user baut di dotcloudCreated by Meruvian Cloud Team 54
  • 55. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSdb.url=jdbc:mysql://yama-meruvian.dotcloud.com:31821/yamadb.driver=com.mysql.jdbc.Driverdb.username=yamadb.password=password4.5.5. Deploy project ke DotCloudLetakkan 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 approotaplikasi yang akan user deploy.www: type: java approot: yamaJika user mengkonfigurasi file yml sedemikian rupa, maka user akan dapat mengakses project tersebutdengan url http://[nama user]-[nama project].dotcloud.com/yamaNamun agar user dapat mengakses WAR file sebagai ROOT folder, user bisa me rename file .war userdengan 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/sectotal size is 14.78K speedup is 1.75Deployment 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 bootedCreated by Meruvian Cloud Team 55
  • 56. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS2011-06-28 04:27:48 [www.0] The build started2011-06-28 04:27:48 [www.0] Fetched code revision rsync-1309235251.442011-06-28 04:27:51 [www.0] Reloading nginx configuration: nginx.2011-06-28 04:27:51 [www.0] The build finished successfully2011-06-28 04:27:51 [api] Deploy finishedDeployment finished successfully. Your application is available at the followingURLswww: http://[nama project]-[nama user].dotcloud.com/Akses url tersebut sehingga akan muncul aplikasi Yama di browser user :4.6 Deploy Yama di AzureSebelum user mempublish yama user ke Windows Azure Cloud, ada beberapa hal yang perludipersiapkan, yaitu :1. Install Azure SDK2. Membuat Database Azure3. Web Archive (War) file dari aplikasi yang akan user deploy4. Membuat Azure Project5. Membuat Hosted ServiceCreated by Meruvian Cloud Team 56
  • 57. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS4.6.1. Install Azure SDK1. Download Azure Tools dari http://www.microsoft.com/en-us/download/details.aspx?id=156582. Selanjutnya klik 2 kali file WindowsAzureToolsVS2010.exe .Jika visual studio 2010 sudahterinstall maka akan terdapat dialog yang meninformasikan bahwa Visual Studio 2010 sudah terinstallKlik InstallCreated by Meruvian Cloud Team 57
  • 58. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSKlik I accept.Selanjutnya proses instalasi akan berjalanCreated by Meruvian Cloud Team 58
  • 59. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSSetelah proses instalasi selesai akan terdapat informasi dialog seperti di bawah ini Created by Meruvian Cloud Team 59
  • 60. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSKlik Finish untuk mengakhiri proses instalasi4.6.2. Membuat Database Azure Masuk ke dalam azure dashboard, klik menu Database pada bagian sebelah kiri.Lalu pada topbar 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 untukmenyutujui.Created by Meruvian Cloud Team 60
  • 61. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSLalu Akan muncul list database yang telah user buat pada bagian bawah.Klik Firewall RulesKlik tombol AddIsikan IP range Start dan Ip Range End sesuai dengan ip publik dari komputer anda.Jika anda tidakmengetahuinya, ketikkan kate what is my ip pada google. Klik OkUntuk mengetahui connection string dari database yng user buat, klik pada menu database klikSubcription pilih database yang akan user liat connection stringnya.Lalu pada bagian menu kananklik tombol view pada connection stringCreated by Meruvian Cloud Team 61
  • 62. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS4.6.3. Menyiapkan File WarSebelum user mengeksport aplikasi user menjadi .war terlebih dahulu user perlu memastikan bahwakonfigurasi 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 diCreated by Meruvian Cloud Team 62
  • 63. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSBuka file tersebut dan konfigurasi koneksi sesuai dengan informasi connection string yang diberikanpada Azure dashboarddb.url=jdbc:sqlserver://[subcription].database.windows.net:1433;database=yamazure;user=[dbuser]@[subcription];password=[dbpasswrd];encrypt=true;hostNameInCertificate=*.database.windows.net;loginTimeout=30db.driver=com.microsoft.sqlserver.jdbc.SQLServerDriverSelanjutnya 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 bisamelalui eclipse dengan klik kanan pada project terpilih exportKlik NextCreated by Meruvian Cloud Team 63
  • 64. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSIsikan nama project yang akan user simpan.lalu klik FinishNamun karena Yama menggunakan maven, user bisa mendapatkan file war dengandengan mengakses klik kanan pada project terpilih Run As Maven BuildCreated by Meruvian Cloud Team 64
  • 65. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSLalu isikan perintah clean verify pada textbox goals.Klik tombol Run4.6.4. Membuat Azure ProjectUntuk membuat Azure Project dengan eclipse, klik FileNewWindows Azure Deployment ProjectIsikan nama Project anda, klik NextCreated by Meruvian Cloud Team 65
  • 66. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSKeterangan :Centang checkbox include JDK from this location dan pilih lokasi {Java_Home} pada komputeranda.Centang juga checkbox include server from this location.Pada combo box select pilih server yangada 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 telahuser 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 Yamayang user install di Azure.Untuk membuat hosted service: • login ke Azure dashboard melalu http://windows.azure.comCreated by Meruvian Cloud Team 66
  • 67. 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 textboxCreated by Meruvian Cloud Team 67
  • 68. 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 menyetujuiSetelah proses berjalan dengan sukses, user dapat mengakses aplikasi yang telah user deploy denganformat url :http://[url prefix].cloudapp.net/[nama contextpath aplikasi]4.7 Deploy Yama di CloudBeesRegister terlebih dahulu di websitenya, di http://www.cloudbees.com/, setelah selesai register cekemail yang digunakan untuk mendaftar, kemudian login ke web tersebut.Created by Meruvian Cloud Team 68
  • 69. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSSetelah login Install subscribe untuk Application atau RUN@cloud dan Database. Pilih yang FreeInstall aplikasi Command Line Tools Cloudbees pada ubuntu, download aplikasi dengan perintahberikut.#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.1Created by Meruvian Cloud Team 69
  • 70. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSPada terminal .bashrc, tambahkan konfigurasi berikut.export BEES_HOME=/opt/cloudbees-sdk-1.1export BEES_BIN=$BEES_HOME/binRefresh pengaturan .bashrc dengan perintah di bawah ini.#source .bashrcSetelah selesai, uji aplikasi dengan perintah di bawah ini,#bees helpbuat aplikasi yama berjalan di cloudbees dengan mendeploy aplikasi yama.war ke server, sebelummendeploy aplikasi, pastikan semua konfigurasi database di atur sesuai dengan yang ada di appdatabase user.#bees app:deploy -a meruvian <dir>/yama.waruntuk melihat seluruh informasi gunakan perintah di bawah ini.#bees app:info -a meruvianuntuk database dapat mengikuti langkah-langkah di bawah ini.Pertama, buat database yama, dengan perintah berikut.#bees db:create yamaCreated by Meruvian Cloud Team 70
  • 71. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSuntuk melihat informasi tentang database, gunakan di bawah ini.#bees db:info yamaAplikasi dapat diakses di url di bawah inihttp://yama.meruvian.cloudbees. netCreated by Meruvian Cloud Team 71
  • 72. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS Lampiran A :Pengantar Meruvian Integrated Platform(MIP) versi.1.0PengantarJauh sebelum Meruvian didirikan, sampai saat buku ini dibuat, yaitu 2001 dibawah BlueOxygen,sampai ditahun 2010 diputuskan Meruvian mengembangkan engine yang serupa tetapi lebih ringandan memiliki skalabilitas. Konsep pengembangan adalah membuat sebuah engine atau platform yangmemudahkan pengembangan, dan telah menjadi dasar dari solusi sejak didirikannya, kamimenyebutnya MIP (Meruvian Integrated Platform)Meruvian Integration Platform(MIP) merupakan platform integrasi berbasis RESTful yang digunakanuntuk menciptakan solusi pengembangan aplikasi secara lebih cepat. MIP terdapat 2 core model yaituYama dan Midas. Dalam platform ini Yama digunakan sebagai server dan Midas sebagaiclient(Aplikasi Android), keduanya berkomunikasi satu sama lain dengan menggunakan mekanismeREST.MIP merupakan platform yang bersifat opensource dengan menggunakan Apache License. Sehinggadapat dengan mudah dikembangkan. MIP juga mendukung teknologi berbasis cloud dan middlewaresehingga dapat dengan mudah dikolaborasikan.Arsitektur yang digunakan pada MIP Server atau Yama dapat diintegrasikan dengan berbagaikomponen mengacu 3 layer yaitu Model View Controller. Hibernate dipilih sebagai solusi Model,Spring sebagai IoC dan Struts2 sebagai Controller. Kemudian layer diatasnya akan menghasilkanoutput berupa JSON/XML --merupakan sebuah plugins REST untuk Struts2, dapat diakses dihttp://s2restplugins-java.net) -- yang dapat diintegrasikan dengan Android, Browser atau mobilityCreated by Meruvian Cloud Team 72
  • 73. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaS Arsitektur YamaSekilas 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 MeruvianCreated by Meruvian Cloud Team 73
  • 74. MRVCC01 - Mengembangkan Solusi Cloud dengan PaaSAdapun fitur-fitur pada MIP, meliputi :1. MIP ServerMIP Server yang dikembangkan berbasis REST Service yang dapat diintegrasikan dengan MIP Clientyang berupa aplikasi mobile. Mekanisme pengembangannya berupa platform integrasi (SpringMVC,Hibernate, JPA), (Struts2, Hibernate, JPA). Sehingga, untuk pengembangan aplikasi menjadi sangatmudah dan cepat dengan adanya Pattern Platform yang dapat mempercepat proses pembuatan aplikasiyang sudah disediakan pada MIP Server.Nama Proyek: Yama (http://yama.java.net)2. MIP ClientSolusi mobile application baik menggunakan aplikasi android yang dikembangkan sebagai client dariintegrasi MIP.Nama Proyek: Midas (http://midas.java.net)Created by Meruvian Cloud Team 74
  • 75. 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 17Created by Meruvian Cloud Team 75