Cloud Matrix Book Created by : Meruvian Cloud Team
Daftar Isi Daftar isi...............................................................................................................................2 Chapter 1 : IaaS (Infrastructure as a Service).................................................................. BAB I...................................................................................................................................7 1.Pengenalan IaaS (Infrastructure as a Service)..................................................................7 2. IaaS Provider....................................................................................................................9 BAB II................................................................................................................................14 Installasi dan Konfigurasi IaaS..........................................................................................14 1. Windows Azure .............................................................................................................14 2. OpenStack .....................................................................................................................19 A. Install Paket Utama OpenStack ........................................................................21 B. Install Database (MySQL) ...............................................................................23 C. Install Keystone ................................................................................................24 D. Install Glance ...................................................................................................25 E. Install Nova ......................................................................................................25 F. Install Horizon ..................................................................................................27 3. CloudStack ....................................................................................................................28 A. Konfigurasi Managements Server ....................................................................28 B. Konfigurasi Devcloud ......................................................................................34 C. Setup CloudStack .............................................................................................39 BAB III .............................................................................................................................51 Administrasi VM Dalam IaaS ...........................................................................................51 1. Windows Azure..............................................................................................................51 2. OpenStack......................................................................................................................53 A. Image ....................................................................................................................53 B. Security .................................................................................................................54 Membuat Security Group ......................................................................................54 Menambahkan Rule...............................................................................................54
Meruvian Cloud Team
2
Melihat Rule Pada Security Group.......................................................................55 Menghapus Rule ..................................................................................................55 C. Instance .................................................................................................................56 Membuat Keypair .................................................................................................56 Menjalankan Instance/Virtual Machine.................................................................57 D. Flavor ....................................................................................................................60 E. Network .................................................................................................................61 F. Import Image .........................................................................................................62 3. CloudStack ....................................................................................................................65 A. Membuat Instance/Virtual Machine.......................................................................65 B. Melihat Informasi Terkait Instance/Virtual Machine.............................................71 C. Akses Instance/Virtual Machine............................................................................72 Chapter 2 : PaaS (Platform as a Service) ......................................................................... BAB I ................................................................................................................................75 Pengenalan PaaS (Platform as a Service)..........................................................................75 1. Pengenalan ....................................................................................................................75 2. PaaS Provider ................................................................................................................76 BAB II................................................................................................................................79 Installasi OpenSource PaaS ..............................................................................................79 1. Cloud Foundry...............................................................................................................79 Dengan Apt-Get.................................................................................................................80 A. Konfigurasi Repository....................................................................................80 B. Konfigurasi Host..............................................................................................80 C. Installasi dan Konfigurasi Paket Cloud Foundry Server .................................81 Dengan CHEF ...........................................................................................................…....84 A. Installasi dan Konfigurasi Git Clone dan Curl.........................................…....84 B. Menjalankan Cloud Foundry....................................................................…....87 2. OpenShift...............................................................................................................…....89 Platform Server.......................................................................................................89 A. Installasi dan Konfigurasi Broker....................................................................89 Meruvian Cloud Team
3
a. Pengaturan Sinkronisasi................................................................................89 b. Remote Server (SSH)....................................................................................90 c. Konfigurasi Repository.................................................................................90 d. Domain (DNS)..............................................................................................91 e. Konfigurasi DHCP dan Hostname ...............................................................98 f. Konfigurasi Database (MongoDB) ..............................................................98 g. Konfigurasi Active MQ ..............................................................................105 h. Konfigurasi Mcollective ............................................................................106 i. Konfigurasi Broker .....................................................................................106 B. Installasi Node................................................................................................111 a. Repository....................................................................................................111 b. DNS.............................................................................................................112 c. Akses Broker ke Node.................................................................................113 d. DHCP dan Hostname..................................................................................113 e. MCollective ................................................................................................113 f. Konfigurasi Node .......................................................................................116 C. Uji Installasi OpenShift .................................................................................120 a. MCollective.................................................................................................120 b. BIND dan DNS...........................................................................................120 c. MongoDB....................................................................................................120 d. File Log.......................................................................................................120 e. SELinux ......................................................................................................121 D. User ...............................................................................................................122 a. Membuat Akun User....................................................................................123 b. Konfigurasi DNS........................................................................................123 c. OpenShift Client Tool.................................................................................123 Live CD OpenShift .................................................................................................124 A. Installasi OpenShift (Fedora).........................................................................124 B. Konfigurasi Sistem OpenShift (Fedora).........................................................132
Meruvian Cloud Team
4
BAB III............................................................................................................................127 Deploy Aplikasi Sample dari Client ...............................................................................127 1. Cloud Foundry (VMC)................................................................................................127 2. OpenShift (RHC).........................................................................................................130 3. Jelastic (Web Interface)................................................................................................136 BAB IV .........................................................................................................................159 Deploy Aplikasi Sample dari Eclipse Plugin...................................................................159 1. Cloud Foundry Eclipse Plugin.....................................................................................160 2. OpenShift Eclipse Plugin (JBOSS)..............................................................................169 3. Jelastic Eclipse Plugin..................................................................................................175 4. Windows Azure Toolkit...............................................................................................181 Chapter 3 : SaaS (Software as a Service)........................................................................... BAB I
.........................................................................................................................203
Pengenalan SaaS (Software as a Service)........................................................................203 1. Pengenalan...................................................................................................................203 2. Yama .........................................................................................................................203 BAB II
.........................................................................................................................204
Deploy Yama dari Client..................................................................................................204 1. Cloud Foundry (VMC)................................................................................................204 2. OpenShift (RHC).........................................................................................................207 3. Jelastic (Web Interface)................................................................................................214 BAB III ........................................................................................................................217 Deploy Yama dari Eclipse Plugin....................................................................................217 1. Cloud Foundry Eclipse Plugin....................................................................................217 2. OpenShift Eclipse Plugin.............................................................................................228 3. Jelastic Eclipse Plugin..................................................................................................243 4. Windows Azure Toolkit...............................................................................................251 Lampiran .........................................................................................................................252
Meruvian Cloud Team
5
Chapter 1 IaaS (Infrastructure as a Service)
BAB I Pengenalan IaaS (Infrastructure as a Service) 1. Pengenalan IaaS ( Infrastructure as Service ) adalah bagian sistem dalam Cloud Computing yang menyediakan seluruh kebutuhan infrastruktur mulai dari storage, hardware, semuanya infrastruktur telah di sediakan oleh provider cloud tersebut. jadi jika customer membutuhkan penyimpanan data (data center), provider cloud menyediakan virtual storage yang bisa digunakan oleh customer cloud dengan kapasitas sesuai yang dibutuhkan.
Customer
tidak
perlu
membeli
hardware
komputer
server
dan
segala
hal
pendukungnya.Customer hanya perlu mengakses media penyimpanannya secara virtual melalui internet.
Gambar 1.1 Arsitektur Infrastructure as Service Misalkan juga customer ingin mengelola servernya sendiri untuk implementasi tertentu, maka provider bisa menyediakan virtual private server dengan resource sesuai kebutuhan yang dikelola customer melalui internet. Jadi customer bisa memiliki server tanpa memiliki hardware tersebut.Berdasarkan penjelasan di atas terlihat bahwa IaaS hampir sama dengan teknologi VPS (Virtual Private Server) yang memang pada dasarnya sama-sama menciptakan sebuah Virtual Machine untuk pelayanannya.Tapi terdapat beberapa perbedaan seperti berikut : Meruvian Cloud Team
7
Fitur
IaaS (Infrastructure Service)
as VPS (Virtual Private Server)
Service
Self Service
Resource Usage
Semua resource (server , Terdapat pilihan untuk sharing storage , network,dll) digunakan atau hanya dedicated secara sharing agar lebih ekonomis
Skalabilitas
Skalabilitas dapat diberikan kapan saja sehingga penambahan resource dapat dilakukan kapan saja
Pembayaran
Pengguna hanya membayar Pengguna membayar sesuai apa sesuai apa yang digunakan yang digunakan dengan parameter jumlah CPU , kartu jaringan dan IP address yang digunakan
Akses
Dapat diakses kapanpun dan Dapat diakses kapanpun dan dimanapun baik secara public dimanapun baik secara public ataupun private ataupun private
Self Service
Skalabilitas dilakukan secara manual , setelah resource ditambah maka system harus dikonfigurasi ulang dan down time.
Dari tabel di atas dapat dilihat bahwa teknologi IaaS tampaknya lebih baik daripada VPS dan tidak menutup kemungkinan bahwa teknologi VPS sebentar lagi akan tergeser dengan teknologi IaaS.
Meruvian Cloud Team
8
2. IaaS Provider Dari waktu ke waktu seiring berkembang dan tumbuhnya teknologi Cloud Computing , telah banyak juga provider IaaS yang saling bersaing untuk menarik customer. Seperti dalam tabel sebelumnya,sistem harga/pembayaran yang digunakan oleh IaaS Provider tidak begitu berbeda dengan VPS. IaaS mematok harga awal sesuai dengan kebutuhan pengguna , dan jika pengguna menambahkan resource , maka akan dikenakan tambahan biaya sesuai resource yang ditambahkan tadi. Berikut adalah beberapa IaaS Provider berbayar yang telah terkenal :
•
Windows Azure
Windows Azure sebagai media Cloud Platform yang komplek yang dikembangkan oleh Microsfot juga menyediakan fasilitas IaaS Provider dimana memungkin pengguna untuk membuat sebuah virtualisasi dengan OS seperti Windows Server dan Linux Server di atasnya ,memungkin penggunanya untuk menggunakan fasilitas IaaS yang disediakan melalui Web Interface yang tentunya user friendly.Tidak hanya IaaS , Windows Azure juga memberikan layanan Cloud lain seperti PaaS (Platform as Service) dan SaaS (Software as Service) . •
Amazon EC2 (Elastic Compute Cloud )
Amazon EC2 adalah bagian utama dari Cloud Platform dari Amazon.com's Cloud dan AWS (Amazon Web Service) .EC2 memungkinkan pengguna membuat Virtual Machine untuk menjalankan service yang diiinginkan dengan pilihan berbagai OS yang ada. •
Go Grid
Sama halnya dengan IaaS provider yang lain , Go grid juga menyediakan Virtual Machine yang dapat digunakan oleh pengguna dengan pilihan OS bervariasi. •
Rackspace
Rackspace.com juga menawarkan perangkat Infrastructurenya.Rackspace juga memungkinkan pengguna untuk membuat ratusan cloud server secara langsung dengan teknologi Virtual Machine yang didukung software virtualisasi Citrix.Rackspace menyediakan Processor Quad Core untuk Cloud Server dengan alokasi memory antara 16-32 GB dan kapasitas hardisk mulai 10-620 GB. Juga dengan pilihan berbagai OS yang dapat digunakan. Ada juga Cloud Provider yang bersifat Open Source , dimana mereka membuka dan menyebar-
Meruvian Cloud Team
9
luaskan source code builder Cloud-nya kepada public , yang dapat dijadikan sebagai system based/core/kernel/Platform bagi pengguna yang juga ingin membangun Cloud Servernya sendiri.Beberapa diantaranya yang terkenal adalah :
•
OpenStack OpenStack adalah sebuah software open source dalam cloud computing yang berorientasi di bidang Infrastructure as Service (IaaS).OpenStack mengendalikan proses komputasi dan sumber daya jaringan dalam sebuah datacenter melalui dashboard yang memberikan kontrol adminstrasi sekaligus memberikan hak akses pada
pengguna
melalui
antarmuka
web
(web
interface).OpenStackmenyediakan sistem operasi cloud untuk public dan private cloud di bawah Apache License. Saat ini
telah didukung oleh lebih dari 60 company yang
berkontribusi untuk mengembangkan teknologi ini
Gambar 1.2 Openstack Architecture
Meruvian Cloud Team
10
Saat ini Openstack terdiri dari 3 project : OpenStack Compute (code-name:Nova) Adalah Open souce Software yang di desain untuk me-manage jaringan-jaringan skala besar, virtual mesin serta menciptakan platform yang scalable untuk cloud-computing. OpenStack Object Storage (code-name:Swift) Adalah Open source Software untuk membuat data storage yang scalable menggunakan cluster server untuk menyimpan data dengan skala petabytes. OpenStack Image Service (code-name:Glance) Adalah salah satu produk dari OpenStack yang digunakan untuk layanan virtual disk images.
Meruvian Cloud Team
11
• CloudStack CloudStack adalah sebuah aplikasi bersifat Open Source yang bergerak di bidang Cloud Computing khususnya Infrastructure as Service (IaaS) yang dikembangkan oleh cloud.com di tahun 2010.CloudStack mempunyai fungsi yang juga sma dengan OpenStack sebagai media untuk membuat (creating),mengatur (managing), dan mendeploy infrastruktur.CloudStack menggunakan Hypervisor
seperti
Oracle
VM,KVM,vSphere
dan
Citrix
XenServer
sebagai
virtualisasinya.Dalam CloudStack terdapat beberapa isitilah seperti : Zones CloudStack berperan seperti Virtual Data Center yang terdiri dari beberapa zona yang menyimpan banyak data. Dalam zona terdapat setidaknya sebuah Pod dan Secondary Storage.Pengguna dapat menggunakan zona public yang sudah disediakan atau membuat zonanya sendiri (private) Pods Adalah pilihan hardware yang dikonfigurasi dan membentuk Cluster.Pod berbentuk rak yang mengandung satu / lebih Cluster. Clusters Adalah sekelompok host yang menjalankan Hypervisor (XenServer,KVM,VMware dan lainlain).Cluster tersebut memiliki perangkat penyimpanan khusus untuk menyimpan contoh Virtual Machine Primary Storage Adalah media penyimpanan yang digunakan oleh Cluster untuk masing-masing host Virtual Machine.CloudStack dirancang untuk bekerja dengan semua standar iSCSI dan NFS yang mendukung Hypervisor
Meruvian Cloud Team
12
Secondary Storage Adalah media penyimpanan yang digunakan oleh sistem CloudStack untuk menyimpan template,image ISO dan Snapshots.Menggunakan NFS dalam pengoperasiannya . Dapat direplikasi dan tersedia untuk semua zona.
CloudStack sampai sekarang telah merilis versi terbaru CloudStack versi 4.0 yang juga didukung oleh Apache dengan nama Apacge CloudStack Incubator.Adapun versi stabil adalah CloudStack versi 3.0 yang menyediakan Management Server,Agent,Usage Monitor dan Database Server.
Meruvian Cloud Team
13
BAB II Installasi dan Konfigurasi IaaS Seperti yang telah dijelaskan di atas bermacam-macam IaaS baik yang berbayar ataupun yang tidak berbayar.Di bab ini akan dijelaskan cara installasi dan pembuatan Instance/Virtual Machine di dalamnya.
1. Windows Azure Windows Azure sebagai media Cloud Platform yang komplek yang dikembangkan oleh Microsfot juga menyediakan fasilitas untuk membuat sebuah virtualisasi di atasnya ,memungkin penggunanya untuk menggunakan fasilitas IaaS yang disediakan.Windows Azure memberikan beberap pilihan OS seperti Microsoft Biztalk Server, Microsoft SQL Server , Windows Server dan Linux (Centos , Ubuntu dan OpenSuse) Langkah-langkah membuat sebuah Virtual Machine di atas Windows Azure , kali ini OS yang digunakan adalah Linux Ubuntu 12.04 .Langkah awalnya adalah masuk ke dashboard windows Azure dengan mengakses url http://manage.windowsazure.com.
Gambar 1.3 Dashboard Windows Azure Meruvian Cloud Team
14
Klik tombol New pada sidebar di bagian kiri
Gambar 1.4 [+] New Klik Compute \ Virtual Machine, lalu pilih From Gallery.
Gambar 1.5 membuat Virtual Machine Kemudian akan muncul dialog untuk memilih Operating System yang akan digunakan sebagai Virtual Machine.Pilih Operating System yang akan digunakan,dalam hal ini adalah
Ubuntu 12.04 Server .
Lalu kiik tombol Next (→ ) di bagian pojok kanan bawah untuk ke proses selanjutnya.
Meruvian Cloud Team
15
Gambar 1.6 Pilih OS Selanjutnya isikan informasi mengenai nama Virtual Machine, username, password serta resource yang akan kita gunakan untuk Virtual Machine tersebut.
Gambar 1.7 Konfigurasi Virtual Machine
Meruvian Cloud Team
16
Klik tombol Next (→) di pojok kiri bawah.Kemudian muncul window untuk konfigurasi DNS,storage acount dan pilihan Region dimana letak data center yang akan dijadikan sebagai tempat penyimpanan .
Gambar 1.8 Konfigurasi Virtual Machine Untuk menghubungkan sebuah Virtual Machine dengan Virtual Machine lain pilih opsi Connect to an existing Virtual Machine atau pilih Standalone Virtual Machine untuk menjalankan Virtual Machine sebagai Standalone Virtual Machine.Dalam hal ini , opsi yang digunakan adalah Standalone Virtual Machine.Pilih storage account yang dimiliki gunakan use an automatically generated storage account sebagai pilihan defaultnya.Selanjutnya pilih Next (→ ).
Meruvian Cloud Team
17
Gambar 1.9 Virtual Machine Options untuk menghubungkan dengan Virtual Machine lainnya Berikutnya terdapat konfigurasi yang digunakan untuk menghubungkan Virtual Machine dengan Virtual Machine yang lain.Karena sebelumnya dipilih Standalone Virtual Machine , maka abaikan konfigurasi ini. Lanjutkan dengan memilih Next (→ ) . Setelah proses selesai , kembali ke dashboard dan akan ditampilkan Virtual Machine yang telah dibuat.
Gambar 1.10 Proses pembuatan Virtual Machine telah berhasil Meruvian Cloud Team
18
2. OpenStack Seperti yang juga telah dijelaskan di atas bahwa Open Stack adalah salah satu Cloud Platform yang bersifat Open Source.Untuk installasi OpenStack yang diperlukan adalah sebagai berikut : CPU
: CPU yang sudah mendukung Virtualization Technology.
Sistem Operasi : Direkomendasikan menggunakan Ubuntu 12.04 64 bit karena Open Stack mendukung OS tersebut sesuai degan paket-paket yang akan digunakan NIC
: Direkomendasiakn 2 ,jika di komputer hanya terdapat 1 NIC maka dibuat dengan virtual NIC.
Langkah awal adalah konfigurasi jaringan. # sudo nano /etc/network/interfaces yang isinya adalah sebagai berikut : auto eth0 iface eth0 inet static
address 192.168.2.32 network 192.168.2.0
netmask 255.255.255.0 broadcast 192.168.2.255 gateway 192.168.2.1
dnsnameservers 8.8.8.8
auto eth1 iface eth1 inet static
address 172.16.1.1
network 172.16.0.0 netmask 255.255.0.0 broadcast 172.16.255.255
dnsnameservers 8.8.8.8
Meruvian Cloud Team
19
Keterangan : eth0: 192.168.2.32 : Berfungsi sebagai float ip yang berguna untuk membuat sebuah komunikasi antara Virtual Machine dengan jaringan luar eth1:172.16.1.1/16 : Berfungsi sebagai fixed ip untuk berkomunikasi antara internal sistem dengan Virtual Machine yang di jalankan di atas OpenStack Selanjutnya restart networking untuk mengaktifkan konfigurasi jaringan yang baru : # /etc/init./networking restart Kemudian dilanjutkan dengan installasi dengan source code dari git.Install paket git terlebih dahulu # sudo aptget update && sudo aptget install git Setelah itu lakukan clone source yang sudah tersedia di https://github.com/StackGeek/openstackgeek.git # git clone git://github.com/StackGeek/openstackgeek.git # cd openstackgeek Dalam folder “openstackgeek” akan tersedia 7 skrip yang diperlukan untuk melakukan installasi OpenStack. # sudo su
Meruvian Cloud Team
20
A. Install Paket Utama Openstack Setelah itu mulai install paket utama dari OpenStack yang terdapat di skrip pertama: # ./openstack_base_1.sh Ketika mengeksekusi skrip openstack_base_1.sh, maka system akan melakukan instalasi beberapa paket seperti tgt, ntp (time sever) serta mengaktifkan ip forwarding. Setelah itu eksekusi skrip kedua, di sini akan diinstall beberapa paket seperti Rabbitmq , memcache , hhypervisor kvm,qemu dan lain-lain. # ./openstack_base_2.sh Di akhir proses nantinya akan ada konfirmasi untuk menggunakan salah satu partisi yang ada di sistem untuk dijadikan sebagai server nova-volume. Namun jika di sistem anda tidak tersedia partisi kosong untuk ini, anda bisa mengabaikan konfigurasi nova-volume. # fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0xb39fe7af. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) Command (m for help): n Partition type: p
primary (0 primary, 0 extended, 4 free)
e
extended
Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-62914559, default 2048):
Meruvian Cloud Team
21
Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-62914559, default 62914559): Using default value 62914559 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
# pvcreate ff /dev/sdb1 Physical volume "/dev/sdb1" successfully created
# vgcreate novavolumes /dev/sdb1 Volume group "nova-volumes" successfully created
Meruvian Cloud Team
22
B. Install Database (MySQL) Pada tahap ini akan diinstall paket MySQL-server serta membuat database untuk beberapa service yang dibutuhkan oleh OpenStack seperti : keystone , nova dan glance. Masukkan password yang akan digunakan untuk mengakses database keystone,nova dan glance. # ./ openstack_mysql.sh Enter a password to be used for the OpenStack services to talk to MySQL (users nova, glance, keystone): f00bar Selanjutnya pada bagian akhir diminta untuk memasukkan root password dari database yang telah terinstall pada dialog Enter Password untuk membuat database nova,glance dan keystone otomatis
mysql start/running, process 8796 ##################################################################################### ## Creating OpenStack databases and users.
Use your database password when prompted.
Enter password:
Pastikan dapat mengakses database MySQL dengan masing-masing user yang telah dibuat dengan password yang telah diinputkan sebelumnya . # mysql -u nova -p # mysql -u keystone -p # mysql -u glance -p
Meruvian Cloud Team
23
C. Install Keystone Keystone adalah salah satu komponen OpenStack yang bertugas sebagai identity service untuk management user,token,project dan security yang ada dalam OpenStack. # ./openstack_keystone.sh Masukkan token,username,dan password untuk user information di dalam database Enter a token for the OpenStack services to auth wth keystone: meruvian Enter the password you used for the MySQL users (nova, glance, keystone): f00bar Enter
the
email
address
for
service
accounts
(nova,
glance,
keystone):
[email protected]
Untuk mengakses keystone , eksekusi “stackrc” yang berisi informasi environment yang telah dibuat. ## isi file stackrc ## export OS_TENANT_NAME=admin export OS_USERNAME=admin export OS_PASSWORD=meruvian export OS_AUTH_URL="http://127.0.0.1:5000/v2.0/" export ADMIN_PASSWORD=meruvian export SERVICE_PASSWORD=meruvian export SERVICE_TOKEN=meruvian export SERVICE_ENDPOINT="http://127.0.0.1:35357/v2.0" export SERVICE_TENANT_NAME=service
# ./stackrc keystone user-list +----------------------------------+---------+------------------------+--------+ |
id
| enabled |
email
|
name
|
+----------------------------------+---------+------------------------+--------+ | b32b9017fb954eeeacb10bebf14aceb3 | True
|
[email protected] | demo
| bfcbaa1425ae4cd2b8ff1ddcf95c907a | True
|
[email protected] | glance |
| c1ca1604c38443f2856e3818c4ceb4d4 | True
|
[email protected] | nova
|
| dd183fe2daac436682e0550d3c339dde | True
|
[email protected] | admin
|
Meruvian Cloud Team
|
24
D. Install Glance Glance merupakan image service yang berguna untuk managemen virtual disk image di dalam Openstack
# ./openstack_glance.sh
Skrip ini akan melakukan instalasi glance serta melakukan download image Ubuntu 12.04 LTS cloud image untuk testing image service.Setelah semua proses selesai ketikkan perintah di bawah ini untuk melihat list image yang ada di dalam glance image service.
# glance index Akan muncul list image yang telah ada di bucket image server ID
Name
Disk Format
Container Format
Size
---------------------------------------------------------------------------------71b8b5d5-a972-48b3
Ubuntu 12.04 LTS
qcow2
ovf
226426880
E. Install Nova Nova merupakan komponen di dalam Openstack yang berguna untuk memangat network (nova-network), memanage Virtual Machine (nova-compute), dan beberapa bagian lainnya. Eksekusi perintah di bawah ini untuk memulia instalasi nova
# ./openstack_nova.sh
Akan muncul beberapa form untuk konfigurasi network,dhcp, dsb:
Meruvian Cloud Team
25
##################################################################################### #### The IP address for eth0 is probably 10.0.1.35. Keep in mind you need an eth1 for this to work. ##################################################################################### #### Enter the primary ethernet interface IP: 192.168.2.32 Enter the fixed network (eg. 10.0.2.32/27): Enter the fixed starting IP (eg. 10.0.2.33):
(ip address eth0)
172.16.1.30/16
(ip untuk dhcp)
172.16.1.31
The floating range can be a subset of your current network.
Configure your DHCP
server to block out the range before you choose it here.
An example would be 10.0.1.224-255
##################################################################################### ## Enter the floating network (eg. 10.0.1.224/27): 192.168.2.97
(ip range awal dhcp)
Enter
(eg.
the
floating
netowrk
size
32):
8
Setelah konfigurasi dan instalasi selesai, dilanjutkan dengan melihat image yang ada di dalam glance menggunakan perintah nova: # nova image-list +--------------------------------------+------------------+--------+--------+ |
ID
|
Name
| Status | Server |
+--------------------------------------+------------------+--------+--------+ | 71b8b5d5-a972-48b3-b940-98a74b85ed6a | Ubuntu 12.04 LTS | ACTIVE |
|
+--------------------------------------+------------------+--------+--------+
Meruvian Cloud Team
26
F. Install Horizon Horizon merupakan Dashboard controller di Openstack yang memungkinan user untuk memanage Instance, resource, dll dari dashboard horizon tersebut. Untuk instalasi eksekusi file skrip openstack_horizon.sh seperti perintah di bawahi ini:
#./openstack_horizon.sh Selanjutnya akses http://localhost atau http://[ip address] lalu login dengan username dan password yang telah dimasukkan pada saat instalasi keystone di langkah sebelumnya
Gambar 1.11 Openstack Horizon
Meruvian Cloud Team
27
3. CloudStack CloudStack juga merupakan Open Source Cloud Platform , perbedaanya di sini CloudStack menggunakan Java sebagai bahasa dalam pembuatan komponen Managements Servernya.Dalam installasi CloudStack A. Konfigurasi Managements Server Dalam hal ini akan diinstall CloudStack dengan OS Ubuntu 12.04 sebagai CloudStack Managements Server, dan Devcloud2.ova sebagai image dari CloudStack.
Gambar 1.12 Topologi CloudStack
Meruvian Cloud Team
28
Download
terlebih
dahulu
project
incubator-cloudstack
dari
https://git-wip-
us.apache.org/repos/asf/incubator-cloudstack.git. $ git clone https://git-wip-us.apache.org/repos/asf/incubator-cloudstack.git $ git pull origin master
Setelah proses clone , akan terunduh folder 'incubator-cloudstack' yang berisi project dari CloudStack , untuk mengcompilenya diperlukan Apache Maven 3. Untuk itu install terlebih dahulu Apache Maven 3. Download dan extrak Apache Maven. $ wget http://www.apache.org/dyn/closer.cgi/maven/maven-3/3.0.4/binaries/apache-maven-3.0.4bin.tar.gz $ tar zxvf apache-maven-3.0.4-bin.tar.gz Kemudian konfigurasi PATH Apache Maven dalam sistem . $ nano .bashrc tambahkan : export M2_HOME=/direktori-apache-maven-diextrak export PATH=$M2_HOME/bin:$PATH $ sudo nano /etc/profile tambahkan : export M2_HOME=/direktori-apache-maven-diextrak export PATH=$M2_HOME/bin:$PATH
Meruvian Cloud Team
29
$ sudo nano /etc/environment tambahkan : PATH="$M2_HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/s bin:/bin:/usr/games" Kemudian logout dari terminal dan masuk kembali dan cek apakah Maven telah terkonfigurasi dengan baik. $ mvn -v
Gambar 1.13 Maven Version 3 Setelah itu masuk ke direktori “incubator-cloudstack”,lakukan clean dan build dengan maven $ mvn clean $ mvn install
Meruvian Cloud Team
30
Gambar 1.14 mvn install Tidak lupa juga konfigurasi database untuk CloudStack , buat database dalam MySQL server: $ mysql -u root -p Password : mysql > create database cloud; mysql> create database cloud_usage; mysql > grant all on cloud.* to cloud@localhost identified by 'cloud'; mysql> grant all on cloud_usage.* to cloud@localhost identified by 'cloud';
Meruvian Cloud Team
31
Lakukan import database dengan maven. $ mvn -P developer -pl developer -Ddeploydb Kemudian export PATH untuk server yang akan digunakan menjalankan CloudStack. $ export MAVEN_OPTS="-Xmx1024m -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n" Jalankan CloudStack Management Server dengan perintah : $ mvn -pl :cloud-client-ui jetty:run
Setelah output menyatakan berhasil , akses http://localhost:8080/client di web browser.
Meruvian Cloud Team
32
Gambar 1.15 UI CloudStack Management Server
Meruvian Cloud Team
33
B. Konfigurasi Devcloud Setelah memastikan installasi Management Server berhasil diinstall , dilanjutkan dengan menjalankan image dari CloudStack yang memang telah disiapkan dan disebar-luaskan oleh citrix untuk mempermudah installasi CloudStack.
Image tersebut bernama Devcloud2.ova yang dapat didownload di
http://people.apache.org/~bhaisaab/cloudstack/Devcloud2/Devcloud2.ova digunakan OS Debian Wheezy
.
Dalam
image
tersebut
32 bit sebagai platform . Debian ini telah terinstall XCP sebagai
virtualisasi dalam pembuatan Instance nantinya. Juga telah terinstall NFS sebagai storage yang digunakan. Kesimpulannya , Devcloud2.ova adalah bentuk portable dari CloudStack. Untuk menjalankan devclod2.ova , install terlebih dahulu Oracle Virtual box dalam komputer .Oracle Virtual dapat diinstall melalui Ubuntu Software Center dikarena sifatnya yang juga Open Source dan sudah didaftarkan dalam Package Ubuntu terutama Ubuntu 12.04.
Gambar 1.16 Install Oracle Virtual Box melalui Ubuntu Software Center
Meruvian Cloud Team
34
Kemudian jalankan Oracle Virtual Box .
Gambar 1.17 Startup Oracle Virtual Box Kemudian import Devcloud2.ova melalui menu File > Import Appliance > Open Appliance .Kemudian pilih Devcloud2.ova . Pada Appliance Settings ubah RAM dari 2048 MB menjadi 1300 MB jika RAM dari komputer tidak mencukupi (RAM<=2048 MB) . Setelah itu pilih Import .
Meruvian Cloud Team
35
Gambar 1.18 Mengubah RAM Setelah
Devcloud2.ova
selesai
diimport
akan
terbentuk
VM
baru
bernama
Devcloud.
Kemudian atur jaringan pada Oracle Virtual Machine agar dapat menghubungkan Devcloud dengan komputer dan CloudStack Managements Server yang telah diinstall. Melalui File > Preference > Network . Buat NIC baru benama vboxnet0 , dengan konfigurasi IP dan DHCP Server seperti gambar di bawah ini :
Gambar 1.19 IP Address dan DHCP Servervboxnet0
Meruvian Cloud Team
36
Setelah itu atur juga kartu jaringan pada Devcloud melalui klik kanan pada Devcloud > Settings > Network. Arahkan Adapter 1 ke Host-only Adapter dan pilih vboxnet0 dan Adapter 2 ke NAT.
Gambar 1.20 Konfigurasi Adapter Devcloud Kemudian jalankan Devcloud yang telah dikonfigurasi tadi.
Gambar 1.21 Starting Devcloud2.ova
Meruvian Cloud Team
37
Setelah semua selesai pastikan komputer dan Devcloud bisa terkoneksi dengan baik dan Devcloud dapat terkoneksi dengan internet.Test dengan fasilitas ping .
Gambar 1.22 Ping komputer ke Devcloud
Gambar 1.23 ping dari Devcloud ke internet
Meruvian Cloud Team
38
C. Setup CloudStack Setelah Management Server diinstall dan Devcloud berjalan , lanjutkan dengan setup . Login di Management Server dengan username “admin” dan password “password” . Pada tampilan awal abaikan/Skip Basic Setup dengan memilih “I Have used CloudStack before , skip this Guide” .
Gambar 1.24 Skip Basic Setup Kemudian masuk pada Dashboard , pilih Infrastructure >Zones > Add zone > pilih Basic .
Meruvian Cloud Team
39
Gambar 1.25 Menambahkan Zone Keterangan : Name
→ test
DNS 1
→ 8.8.8.8
Internal DNS 1
→ 4.4.4.4
Hypervisor
→ XenServer
Network Offering
→ DefaultSharedNetworkOfferingWithSGService
Local Storage
→ Enable
Meruvian Cloud Team
40
Setelah itu pilih Next , dan masukkan pada konfigurasi Network .
Gambar 1.26 Konfigurasi Network Setelah itu menambahkan Pod .
Meruvian Cloud Team
41
Gambar 1.27 Menambahkan Pod Keterangan : Pod Name
→ mypod-zone
Reserved System gateway
→ 192.168.56.1
Reserved System netmask
→ 255.255.255.0
Start Reserved System IP
→ 192.168.56.200
End Reserved System IP
→ 192.168.56.220
Setelah itu pilih Next untuk menambahkan Guest Traffic.
Meruvian Cloud Team
42
Gambar 1.28 Menambahkan Guest Traffic Keterangan : Guest Gateway
→ 192.168.56.1
Guest netmask
→ 255.255.255.0
Guest start IP
→ 192.168.56.100
Guest end IP
→ 192.168.56.199
Kemudian pilih Next untuk menambahkan Clustert.
Meruvian Cloud Team
43
Gambar 1.29 Menambahkan Cluster Keterangan : Hypervisor
→ Xenserver (sudah ditentukan di awal pembuatan zone)
Cluster Name
→ “xcp”
Kemudian pilih Next untuk menambahkan Host.
Meruvian Cloud Team
44
Gambar 1.30 Menambahkan Host Dalam hal ini hostname , username dan password sesuai dengan Devcloud yang telah dijalankan tadi , maka dari itu koneksi antara komputer dengan Management Server dan Devcloud harus tetap dijaga. Keterangan : Hostname
→ 192.168.56.100 (IP Devcloud)
Username
→ “root” (username root dari Devcloud)
Password
→ “password” (password dari username root Devcloud)
Klik Next untuk menambahkan Storage.
Meruvian Cloud Team
45
Gambar 1.32 Menambahkan Host NFS server yang digunakan adalah Devcloud . Dalam hal ini dalam konfigurasinya , storage yang dijadikan NFS adalah /opt/storage/secondary. $ sudo nano /etc/export
Meruvian Cloud Team
46
Gambar 1.33 Konfigurais NFS NFS Server
→ 192.168.56.100
Path
→ /opt/storage/secondary
Klik Next untuk menyimpan hasil setup.
Meruvian Cloud Team
47
Gambar 1.34 Setup siap disimpan Klik Launch zone .
Meruvian Cloud Team
48
Gambar 1.35 Proses penyimpanan hasil setup Jika proseses berjalan lancar dan selesai,maka akan muncul pop up yang menyatakan bahwa proses berhasil dan mengaktifkan zone yang telah dibuat.
Gambar 1.36 Enable Zone Selain dengan langkah-langkah diatas , pembuatan zone juga dapat dilakukan dengan cara mengimport contoh zone yang memang sudah disediakan oleh developer CloudStack. $ cd tools/Devcloud $ python ../marvin/marvin/deployDataCenter.py -i Devcloud.cfg Setelah itu kembali ke dasboard , dan akan tampil informas system capacity yang menyatakan usage dari source yang digunakan. Meruvian Cloud Team
49
Gambar 1.37 Dashboard Perikas juga System VMs untuk memastikan bahwa Instance dapat dibuat nanti melalui Infrastructure > System VMs
Jika status System VMs menampilkan “Starting …” ini menunjukkan bahwa proses belum berjalan dan CloudStack Managements Server perlu direstart agar prosesnya berjalan.
Meruvian Cloud Team
50
BAB III Administrasi VM Dalam IaaS Pada bab ini akan dijelaskan beberapa panduan administrasi VM dalam IaaS yang sudah diinstall di bab sebelumnya.
1. Windows Azure Virtual Machine yang telah dibuat sebelumnya (Ubuntu 12.04 Server ) tadi dapat diakses
dengan
menggunakan Secure Shell (SSH) Client layaknya Operating System Linux lainnya , atau dengan aplikasi Putty melalui platform Windows.Untuk melihat informasi mengenai port, url atau informasi lainnya dapat diakses menu Virtual Machines pada sidebar, lalu klik Virtual Machine yang telah kita buat sebelumnya.
Gambar 1.38 Virtual Machine Informasi lain seperti SSH port juga dapat dilihat di menu bagian kanan setelah memilih Virtual Machine.
Meruvian Cloud Team
51
Gambar 1.39 informasi SSH port Informasi SSH terkait Virtual Maching yaitu : mer vubuntu.cloudapp.net
: 22
Setelah SSH /putty terinstall dengan benar di sistem client , tes koneksi untuk meremote Virtual Machine : $ ssh
[email protected]
Gambar 1.40 Remote Virtual Machine
Meruvian Cloud Team
52
2. OpenStack Di bab sebelumnya telah dijelaskan langka-langkah installasi dan konfigurasi OpenStack , dan kali ini akan dijelaskan juga tentang beberapa panduan administrasi terkait OpenStack,seperti administrasi image,security,security group,dll. A. Image Ada beberapa pre-built image yang telah mendukung OpenStack.seperti ubuntu clouding image yang dapat di download dari http://cloud-images.ubuntu.com/ atau dari vendor yang menyediakan image-image lainnya.Setelah berhasil mendapatkan image, langkah selanjutnya adalah bagaimana mengupload image tersebut ke dalam 'bucket' image service agar dapat dijalankan oleh OpenStack. Gunakan perintah di bawah ini untuk mengupload image ke dalam glance : # glance add name=”Ubuntu 12.04” is_public=true container_format=ovf disk_format=qcow2 < server.img Selanjutnya pastikan bahwa image yang telah anda upload telah berada di dalam glance # glance index ID Name Disk Format Container Format Size 4022877d2170adbeb185 Ubuntu Virtualbox qcow2 ovf 8589934592 48e7b07bad3eef91989d Ubuntu 12.04 qcow2 ovf 226426880
Meruvian Cloud Team
53
B. Security OpenStack mempunyai fitur khusus untuk mengatur masalah security yang ada di dalam sistem. OpenStack menerapkan sebuah security group pada masing-masing Instance yang dibuat dimana security group ini mengimplementasikan iptable rule yang dapat di customisasi oleh user. Security Group di dalam OpenStack adalah nama sebuah rule yang digunakan untuk memfilter paketpaket yang masuk ke dalam OpenStack Instance.Security group dapat dipilih yang mana yang akan diterapkan ketika akan menjalankan Instance. Namun untuk security lebih lanjut anda dapat mengatur firewall di dalam Instance yang telah anda jalankan di dalam OpenStack. Di bawah ini akan dijelaskan langkah-langkah untuk Administrasi security group . Membuat Security Group Membuat security group dengan nama “my security” . # nova secgroupcreate mysecurity mysecuritygroup +++ | Name | Deskripion | +++ | mysecurity | mysecuritygroup | +++
Menambahkan Rule Menambahkan rule untuk security group dengan mengijinkan paket TCP dan ICMP dari port 20-100 dari alamat IP 192.168.2.20. # nova secgroupaddrule mysecurity tcp 22 100 192.168.2.20/0 ++++++ | IP Protocol | From Port | To Port | IP Range | Source Group | ++++++ | tcp | 22 | 100 | 192.168.2.20/0 | |
---------------------------------------------------------
Meruvian Cloud Team
54
# nova secgroupaddrule mysecurity icmp 22 100 192.168.2.20/0 ++++++ | IP Protocol | From Port | To Port | IP Range | Source Group | ++++++ | icmp | 22 | 100 | 192.168.2.20/0 | | ++++++
Melihat Rule Pada Security Group Untuk melihat Security Group dengan perintah di bawah ini : # nova secgroup-list-rules mysecurity ++++++ | IP Protocol | From Port | To Port | IP Range | Source Group | ++++++ | icmp | 1 | 1 | 192.168.2.20/0 | | | icmp | 22 | 100 | 192.168.2.20/0 | | | tcp | 22 | 22 | 192.168.2.20/0 | | | tcp | 22 | 400 | 192.168.2.20/0 | | ++++++
Menghapus Rule Gunakan perintah di bawah ini untuk menghapus security group # nova secgroup-delete mysecurity
Meruvian Cloud Team
55
C. Instance Instance adalah sebuah Virtual Machine yang dibuat oleh OpenStack Compute Server. Instance yang telah dijalankan tersebut mempunyai daur hidup seperti di bawah ini
Gambar 1.38 OpenStack Instance Membuat Keypair Service-service yang ada di dalam OpenStack di autentifikasi dan diotoriasasi oleh Keystone, salah satu bagian dari komponen OpenStack yang menyediakan layanan identifikasi, token untuk layanan OpenStack ainnya. Masing-masing user mempunyai sebuah keypair yang digunakan untuk berinteraksi dengan serviceservice yang ada di dalam OpenStack.Keypair ini dapat juga di download melalui OpenStack Dashboard. Gunakan perintah di bawah ini untuk membuat keypair: # ssh-keygen # cd ~/.ssh
Meruvian Cloud Team
56
Menambah keypair dengan nama “mervkey” dari generate key yang telah dibuat dengan perintah : # nova keypair-add --pub_key id_rsa.pub mervkey Melihat keypair yang ada di OpenStack dengan menggunakan perintah : # nova keypair-list +++ | Name | Fingerprint | +++ | admin | c1:6f:5e:d0:94:7e:54:dd:81:85:21:99:50:16:77:4a | | mervkey | 47:2e:5b:8f:57:42:53:87:06:0b:aa:cd:89:25:bd:10 | +++
Untuk menghapus keypair, gunakan perintah : # nova keypair-delete mervkey Menjalankan Instance/Virtual Machine Sebelum menjalankan Instance, pastikan telah ada image yang tersedia di dalam glance image service. Ketikkan perintah di bawah ini untuk melihat list image yang tersedia. # glance index ID Name Disk Format Container Format Size 4022877d2170adbeb185 Ubuntu Virtualbox qcow2 ovf 8589934592 48e7b07bad3eef91989d Ubuntu 12.04 qcow2 ovf 226426880
Meruvian Cloud Team
57
Menjalankan Instance dengan image id 48e7b07bad3eef91989d dengan nama “myInstance” # nova boot flavor 1 image 48e7b07bad3eef91989d key_name admin myInstance +++ | Property | Value | +++ | OSDCF:diskConfig | MANUAL | | OSEXTSRVATTR:host | None | | OSEXTSRVATTR:hypervisor_hostname | None | | OSEXTSRVATTR:Instance_name | Instance00000006 | | OSEXTSTS:power_state | 0 | | OSEXTSTS:task_state | scheduling | | OSEXTSTS:vm_state | building | | accessIPv4 | | | accessIPv6 | | | adminPass | 8T5iXc7Rndmh | | config_drive | | | created | 20121018T09:25:51Z | | flavor | m1.tiny | | hostId | | | id | be2a84104ad94bf4bcc79c78b2cebba4 | | image | Ubuntu 12.04 | | key_name | admin | | metadata | {} | | name | myInstance | | progress | 0 | | status | BUILD | | tenant_id | 78b695fbd89f43c988096fbbc79aa45b | | updated | 20121018T09:25:52Z | | user_id | 0fe6ed68d1f44b4f907fa0a386a2206d |
Meruvian Cloud Team
58
Melihat Instance yang telah berjalan dengan perintah : # nova list +++++ | ID | Name | Status | Networks | +++++ | be2a84104ad94bf4bcc79c78b2cebba4 | myInstance | ACTIVE | private=172.13.0.4 | +++++
Untuk mereboot instance gunakan perintah : # nova reboot
be2a8410-4ad9-4bf4-bcc7-9c78b2cebba4
Untuk menghapus Instance dengan perintah : # nova delete be2a8410-4ad9-4bf4-bcc7-9c78b2cebba4
Meruvian Cloud Team
59
D. Flavor Flavor merupakan sebuah fitur di dalam OpenStack yang berguna untuk mengalokasikan resource seperti RAM, HD,VCPUS,dll ke dalam intance yang dibuat oleh OpenStack. Untuk melihat flavor yang tersedia : # nova flavorlist +++++++++ | ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | +++++++++ | 1 | m1.tiny | 512 | 0 | 0 | | 1 | 1.0 | | 2 | m1.small | 2048 | 10 | 20 | | 1 | 1.0 | | 3 | m1.medium | 4096 | 10 | 40 | | 2 | 1.0 | | 4 | m1.large | 8192 | 10 | 80 | | 4 | 1.0 | | 5 | m1.xlarge | 16384 | 10 | 160 | | 8 | 1.0 | | 6 | m2.ex | 3000 | 20 | 20 | | 2 | 1.0 | +++++++++
Untuk menggunakannya ke dalam Instance yang telah dibuat lewat OpenStack gunakan perintah di bawah ini : # nova boot --flavor 1 --image 48e7-b07b-ad3eef91989d --key_name admin myInstance
Parameter –flavor 1 pada perintah di atas menujukkan ID Flavor yang akan digunakan oleh Instance yang dalam hal ini flavor 1 adalah m1.tiny dengan alokasi memory 512 MB Disk=0 VCPUs=1 dan seterusnya.
Meruvian Cloud Team
60
E. Network Di dalam OpenStack, networking diatur oleh komponen yang disebut “nova-network”.Nova Network ini mengatur Instance-Instance yang berjalan di OpenStack untuk dapat berkomunikasi ke dalam sistem itnernal dan eksternal baik menggunakan fixed ip ataupun menggunakan floating ip. Fixed IP (private IP) berguna untuk berkomunikasi antara Instance dengan sistem internal, sedangkan Floating IP (public IP) berguna untuk berkomunikasi dengan jaringan luar ataupun internet. Untuk membuat floating IP dan Fixed Ip gunakan perintah di bawah ini : # sudo nova-manage network create private --fixed_range_v4=192.168.1.3/27 --num_networks=1 --bridge=br100 --bridge_interface=eth1 –network_size=32 # sudo nova-manage floating create --ip_range=10.10.10.224/27 # nova list +++++ | ID | Name | Status | Networks | +++++ | be2a84104ad94bf4bcc79c78b2cebba4 | myInstance | ACTIVE | private=172.13.0.4 | +++++
Menyiapkan IP Floating untuk Instance dengan perintah : # nova floating-ip-create +++++ | Ip | Instance Id | Fixed Ip | Pool | +++++ | 192.168.2.98 | None | None | nova |
Mengalokasikan IP Floating untuk Instance dengan perintah : # nova add-floating-ip
# nova add-floating-ip myInstance 192.168.2.98
Meruvian Cloud Team
61
F. Import Image OpenStack merupakan platform yang opensource yang membuat sebuah sistem tidak terikat pada vendor atau platform tertentu.OpenStack dapat bermigrasi dari platform satu ke platform yang lain tanpa mengalami masalah. Adapun langkah-langkah yang digunakan untuk meng-import virtualbox Instance ke dalam OpenStack adalah sebagai berikut : Convert format vdi ke dalam raw image Untuk
meng-conver
format
.vdi
kedalam
raw
image
gunakan
perintah
:
# VBoxManage clonehd ~/VirtualBox\ VMs/Ubuntu64/Ubuntu61.vdi ./ubuntu.img --format raw 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Clone hard disk created in format 'raw'. UUID: 6d1a0ec3-5808-471c-b3ab-995fc4d1fb8e
Testing Image Testing image yang telah dibuat dengan menggunakan hypervisor kvm dengan menggunakan perintah : # kvm -hda ubuntu.img -m 1024
Meruvian Cloud Team
62
Gambar 1.39 Testing image hypervisor kvm Selanjutnya masukkan image ke dalam glance agar bisa digunakan oleh OpenStack untuk membuat Instance nantinya dengan perintah : # glance add name="Ubuntu Virtualbox" is_public=true container_format=ovf disk_format=qcow2 < ubuntu.img Uploading image 'Ubuntu Virtualbox' ======== ===========[100%] 23.7M/s, ETA 0h 0m 0s Added new image with ID: 4022-877d-2170adbeb185 Selanjutnya masuk ke OpenStack Dashbord dan pastikan images yang dimasukkan terdaftar di dalamnya.
Meruvian Cloud Team
63
Gambar 1.40 OpenStack Dashboard
Meruvian Cloud Team
64
3. CloudStack A. Membuat Instance/Virtual Machine Dalam administrasi CloudStack yang salah satu yang terpenting adalah pembuatan Instance/Virtual Machine.Untuk membuat Virtual Machine dari Dashboard pilih Instance > Add Instance
Gambar 1.41 Menambah instance melalui Zone yang sudah dibuat dan template yang ada Kemudian pilih Zone yang ada , pilih juga template / iso .Dalam hal ini yang dipilih adalah Template .
Meruvian Cloud Team
65
Gambar 1.42 Pilih tiny Linux Dalam Template yang telah dipilih terdapat pilihan template 'tiny Linux' . Pilih Next untuk melanjutkan.
Meruvian Cloud Team
66
Gambar 1.43 Pilih tinyOffering
Meruvian Cloud Team
67
Kemudian pilih tinyOffering . Kemudian pilih Next untuk melanjutkan.
Gambar 1.44 Disk Offering Kemudian pilih spesifikasi hardisk yang sesuai , pilih Next untuk melanjutkan
Meruvian Cloud Team
68
Gambar 1.45 Pilih Default Pilih Default untuk menentukan Security Group .
Meruvian Cloud Team
69
Gambar 1.46 Masukkan name dan Group untuk instance Kemudian masukkan nama dan group instance .Pilih Launch VM untuk mulai membuat Virtual Machine . Jika proses selesai maka di Dashboard Instance dapat dilihat bahwa instance dan Virtual Machine telah berjalan.
Gambar 1.47 Running instance dan Virtual Machine
Meruvian Cloud Team
70
B. Melihat Informasi Terkait Instance/Virtual Machine Untuk melihat informasi terkait Virtual Machine klik pada Virtual Machine “test”.
Gambar 1.48 Keterangan instance Untuk melihat konfigurasi jaringan piloh pada NICs .
Meruvian Cloud Team
71
Gambar 1.49 Konfigurasi jaringan C. Akses Instance/Virtual Machine Untuk membuktikan bahwa konfigurasi jaringan berjalan ,pilih View Console atau cek dengan ping dan SSH ke instance.
Gambar 1.50 View Console
Meruvian Cloud Team
72
Gambar 1.51 Cek via ping dan SSH Untuk mengecek via SSH usernamenya adalah “root” dan passwor adalah “password” .
Meruvian Cloud Team
73
Chapter 2 PaaS (Platform as a Service )
BAB I Pengenalan PaaS (Platform as a Service) 1. Pengenalan PaaS (Platform As a Service) adalah sebuah adalah salah satu dari bagi dan layanan dalam Cloud Computing.Pengguna cloud menggunakan layanan dari cloud provider untuk memnbuat dan sekaligus hosting aplikasi yang nantinya digunakan sebagai SaaS (Software as a Services). Dengan PaaS ini dapat dipastikan pendistribusian aplikasi yang dikembangkan di atas cloud akan lebih meluas karena penggunaanya tidak tergantung pada platform tertentu karena semuanya diakses melalui web.
Gambar 2.1 Segitiga Cloud Computing Jika tadi IaaS kedudukannya hampir sama dengan VPS , maka PaaS kedudukanya hampir sama dengan Web Hosting. Perbedaanya dengan PaaS tidak perlu mengkonfigurasi lagi environment contohnya menambahkan plugin (pada drupal),mengkoreksi sendiri kesalahan pada database ,dll. Pengguna hanya cukup berkonsentrasi pada pengembangan aplikasi yang akan dideploy (dihostingkan) dan biasanya PaaS Provider sudah memiliki client yang dapat diinstall di sistem.
Meruvian Cloud Team
75
2. PaaS Provider Sebagai salah satu komponen dari Cloud Computing , PaaS tentu saja juga terus dikembangkan. Kebanyak PaaS Provider membangun Cloud Server (PaaS Server) di atas IaaS seperti dalam gambar segitiga di atas.Berikut adalah beberapa PaaS Provider contoh: •
Windows Azure Windows Azure seperti yang telah dijelaskan di atas menyediakan Cloud Platform yang komplek juga menyediakan PaaS dalam sistem Cloudnya. Windows Azure juga memiliki client tertentu bagi pengguna PaaSnya , salah satunya adalah Windows Azure Toolkit .
•
AWS (Amazon Web Service ) Elastic Beanstalk Amazon juga menyediakan fitur PaaS yang memungkinkan pengguna untuk mendeploy aplikasi di Amazon Cloud.Sederhananya upload aplikasi dan kemudian AWS Elastic Beanstalk akan menangani load-balancenya,healt monitoring dan auto-scalenya.
•
Jelastic Jelastic adalah salah satu cloud service provider yang menyediakan fitur free trial bagi user yang ingin mencoba dan untuk yang berminat mengembangkanny a dalam bisnis. Jelastic memiliki navigasi dan web interface yang sangat user friendly
Contoh PaaS Provider di atas adalah yang berbayar , tapi terdapat Cloud Provider yang juga bersifat Open Source yang juga menyebar-luaskan source code buildernya kepada public bagi siapapun yang juga ingin membangun PaaS Servernya.Beberapa diantaranya adalah :
Meruvian Cloud Team
76
• Cloud Foundry Cloud Foundry (CF) adalah sebuah Platform as Service (PaaS) Opensource yang dikembangkan oleh VMware dan bekerja sama dengan Apache License 2.0yang dibuat dalam Ruby.Cloud Foundry memungkinkan pengembang untuk fokus pada aplikasi dan
bukan
pada
mesin
atau
middleware.Tidak
sepertipengembangan aplikasi cara lama yang meminta pengembang untuk mengkonfigurasi environment seperti hardware,sistem operasi,patch dan juga jaringan yang digunakan.Jadi Cloud Foundry memfokuskan pengembang pada aplikasi dan deployment-nya tidak pada infrastruktur dan environment-nya.CF sendiri telah membuka source code dan paketnya bagi pengguna yang juga ingin membangun / setup PaaS server seperti CloudFoundry.com.Paket penting dalam hal ini
adalah
VCAP
(VMware
Certificate
Application
Platform).
• OpenShift OpenShift
merupakan
layanan
cloud
computing
PaaS
(Plaftform as a Service) dari Red Hat yang dikembangkan menggunakan bahasa pemrograman Ruby. Layanan PaaS ini OpenShift menawarkan platform yang membantu user untuk melakukan build dan testing aplikasi mereka di cloud dengan mudah tanpa harus memikirkan masalah infrastruktur.Sebagai sebuah platform as a Service, OpenShift mendukung skalabilitas baik secara horizontal dengan menambah instance atau secara vertical dengan menambah resource. Mendukung berbagai bahasa pemrogaman seperti PHP, Java, Python, Perl, Node.js dan Ruby. Selain itu, OpenShift juga mendukung beberapa komponen pendukung sepserti JBoss, Jboss EAP(Tomcat7), MongoDB, MySQL, dan Postgres SQL. Dalam penggunaan, OpenShift memudahkan bagi para developer untuk pendeployan Aplikasi langsung dari Developer Tools seperti Eclipse, Maven dan Jenkins.
Meruvian Cloud Team
77
Seperti halnya di bab sebelumnya , akan dijelaskan juga langkah-langkah dalam installasi dan konfigurasi dari Cloud Provider tersebut.
Meruvian Cloud Team
78
BAB II Installasi Open Source PaaS Seperti yang sudah dijelaskan di atas untuk terdapat 2 Open Source PaaS yaitu Cloud Foundry dan OpenShift.Dalam hal ini installasi dilakukan di jaringan lokal.
1. Cloud Foundry Cloud Foundry adalah Open Source PaaS yang ditulis dalam bahasa Ruby gems.Cloud Foundry memiliki elemen kernel yang disebut VCAP.VCAP adalah sebuah ikatan layanan dan juga kernel dari Cloud Foundry sebagai komponen pembangun sebuah PaaS dan pendukung fungsionalitasnya.Di dalamnya
terdapat
bagian-bagian
seperti
Cloud
Controller,Router,DEA,Health Manager,Service Gateway,Service Node dan lain-lain.Dan kesemuanya saling bekerja sama untuk membentuk sistem PaaS.Ada beberapa metode untuk melakukan setup Cloud Foundry : •
Apt-get (Ubuntu 12.10) Adalah metode paling mudah dalam setup Cloud Foundry. Yaitu dengan menambahkan repository Cloud Foundry yang sudah disebarluaskan di http://lauchpad.net http://blog.dustinkirkland.com/2011/08/howto-install-cloudfoundry-server-paas.html
•
Chef Adalah metode rekomendasi dari CloudFoundry.com yang banyak digunakan dalam pengembangan Cloud Foundry.Kelebihan Chef yaitu sistem Cloud Foundry dapat ditambahkan service-service lain dengan cara yang lebih mudah. (sumber https://github.com/cloudfoundry/vcap )
Meruvian Cloud Team
79
Dengan Apt-Get Metode ini pertama kali diposting oleh seseorang dari Cloud Foundry dalam blognya http://blog.dustinkirkland.com/2011/08/howto-install-cloudfoundry-server-paas.html tetapi cara ini hanya berjalan pada platform Ubuntu 12.10 (One Iric). A. Konfigurasi Repository Yang pertama harus dilakukan adalah menambahkan beberapa baris dalam konfigurasi sources.list pada ubuntu : $ sudo nano /etc/apt/sources.list deb http://ppa.launchpad.net/cloudfoundry/daily/ubuntu oneiric main deb-src http://ppa.launchpad.net/cloudfoundry/daily/ubuntu oneiric main Setelah itu update sistem ubuntu : $ sudo apt-get update
B. Konfigurasi Host
Kemudian konfigurasi sistem host untuk membuat domain untuk mempermudah installasi : $ sudo nano /etc/hosts
Meruvian Cloud Team
80
Gambar 2.2 hosts
C. Installasi dan Konfigurasi Paket Cloud Foundry Server Kemudian mulai install paket cloudfoundry-server : $
sudo
apt-get
install
cloudfoundry-server
cloudfoundry-server-common
cloudfoundry-server-dea cloudfoundry-client
Masukkan IP Address :
Gambar 2.3 Masukkan IP Adress
Meruvian Cloud Team
81
Masukkan domain :
Masukkan Password MySQL server :
Gambar 2.4 Masukkan password MySQL
Kemudian setting host untuk mysql-server dalam cloudfoundry-server $ sudo nano /opt/cloudfoundry-server/vcap/services/mysql/config/mysql_backup.yml
Meruvian Cloud Team
82
Gambar 2.5 mysql_backup.yml $ sudo nano /opt/cloudfoundry-server/vcap/services/mysql/config/mysql_node.yml
Gambar 2.6 mysql_node.yml Restart cloudfoundry-server : $ sudo service cloudfoundry-server restart
Gambar 2.7 cloudfoundry-server restart Meruvian Cloud Team
83
Untuk memeriksa apakah cloudfoundry-server sudah berjalan , akses cloud_contrller di http://api.meruvian.cloud dan pastikan tampilannya seperti berikut :
Gambar 2.8 akses Cloud Foundry di web browser
Dengan Chef Cloud Foundry telah membuka sumbernya di http://github.com/cloudfoundry/vcap , project dari cloudfoundry dapat di download via git , dan dapat dikembangkan lagi sesuai keinginan pengembang. Instlallasi Cloud Foundry via CHEF sebenarnya berjalan dengan baik di Ubuntu 10.04 Lucid Lynx. A. Install dan Konfigurasi Git Clone & Curl Untuk mendapatkannya , pastikanlah bahwa git clone sudah terinstall dengan benar. $ sudo apt-get install git clone
Kemudian pastikan juga bahwa Curl sudah terinstall . $ sudo apt-get install curl
Meruvian Cloud Team
84
Setelah itu lakukan git clone project cloudfoundry di github.com ke lokal : $ bash < <(curl -s -k -B https://raw.github.com/cloudfoundry/vcap/master/dev_setup/bin/vcap_dev_setu p)
Biasanya di tengah proses ini , terdapat peringatan false untuk mengistall beberapa paket seperti chef,blobstore_client,rake , dll.Untuk mengatasi ini lakukan installasi paket manual : $ sudo gem install chef $ sudo gem install blobstore_client $ sudo gem install rake $ sudo apt-get install postgresql-client-8.4
Kemudian ulangi proses sekali lagi :
$ bash < <(curl -s -k -B https://raw.github.com/cloudfoundry/vcap/master/dev_setup/bin/vcap_dev_setu p)
Meruvian Cloud Team
85
Gambar 2.9 chef proses Proses git clone dan compile akan memakan banyak waktu saat langkah ini dilakukan . Jika dalam proses terdapat error seperti di bawah ini : [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException [ERROR] [ERROR] After correcting the problems, you can resume the build with the command [ERROR]
mvn -rf :cloudfoundry-identity-common
STDERR: cp: cannot stat `/home/XXX/cloudfoundry/vcap/uaa/uaa/target/cloudfoundry-identityuaa-*.war': No such file or directory ---- End output of "bash" Ran "bash"
"/tmp/chef-script20121009-1144-17nv2ve-0" ----
"/tmp/chef-script20121009-1144-17nv2ve-0" returned 1
Meruvian Cloud Team
86
Maka lakukan perintah berikut : $ wget https://repo.springsource.org/snapshot/org/cloudfoundry/ runtime/cloudfoundry-identity-uaa/2.0.0.BUILD-SNAPSHOT/cloudfoundryidentity-uaa-2.0.0.BUILD-20120329.165548-2.war $
sudo
cp
cloudfoundry-identity-uaa-2.0.0.BUILD-20120329.165548-2.war
~/cloudfoundry/vcap/uaa/uaa/target
Setelah proses selesai dan menampilkan output seperti di bawah ini :
Gambar 2.10 chef succes B. Menjalankan Cloud Foundry Jalankan cloudfoundry : $ sudo ~/cloudfoundry/vcap/dev_setup/bin/vcap_dev start
Jika semua proses berjalan dengan baik tanpa ada error , maka akseslah api.meruvian.cloud .
Meruvian Cloud Team
87
Gambar 2.11 akses cloud Foundry dari web browser
Langkah-langkah di atas adalah contoh installasi Cloud Foundry sebatas jaringan lokal. Sebelumnya , penulis telah menginstall beberapa server Cloud Foundry sebagai PaaS , diantaranya adalah : •
Azure4j , dengan alamat cloud_controller yaitu http://paas.azure4j.us
•
OpenPaas, dengan alamat cloud_controller yaitu http://chankillo.openpaas.or.id
Meruvian Cloud Team
88
2. OpenShift Untuk installasi OpenShift sendiri terdapat 2 cara : •
Platform server (Centos/RHEL/ 64 bit)
•
Live CD OpenShift (file .iso OS OpenShift Origin)
Platform Server (Centos/RHEL/ 64 bit) Dalam hal ini platform server yang digunakan adalah Centos 6.3 , adapun langkah-langkahnya adalah sebagai berikut : A. Installasi dan Konfigurasi Broker Pengaturan Sinkronisasi Langkah awal adalah menginstall dan mengkonfigurasi broker , dibutuhkan NTP (Network Time Protocol) untuk men-sinkronisasi-kan sistem dan jam hardware. # yum install ntpdate ntp Kemudian konfigurasi agar tersinkronisasi dengan server . # ntpdate clock.redhat.com
Meruvian Cloud Team
89
Remote Server (SSH) Kemudian install SSH agar dapat berinteraksi dengan host lain dan remote . # mkdir ~/.ssh Konfigurasi permission pada direktori ssh. # chmod 700 ~/.ssh Kemudian generate keypair # ssh-keygen
Konfigurasi Repository Setelah itu mengkonfigrasi repository Centos di /etc/yum.repos.d/. # vi /etc/yum.repos.d/OpenShift-broker.repo Tambahkan baris berikut : [OpenShift_infrastructure] name=OpenShift Infrastructure baseurl=https://mirror.OpenShift.com/pub/origin-server/nightly/enterprise/2012-1115//Infrastructure/x86_64/os/ enabled=1 gpgcheck=0
Meruvian Cloud Team
90
update repositori dengan perintah : # yum update Domain (DNS) Kemudian konfigurasi domain/DNS , installsi paket DNS terlebih dahulu #yum install bind bind-utils Setelah instalasi selesai, langkah selanjutnya adalah membuat domain, untuk memudahkan dalam pengerjaan, set nama domain user menjadi $domain. #domain=meruvianyama.com Ubah “meruvianyama.com” dengan nama domain yang ingin digunakan. Selanjutnya atur $keyfile untuk domain yang digunakan. keyfile=/var/named/${domain}.key Gunakan dnssec-keygen untuk menggenerate DNSSEC baru untuk domain. Lanjutkan dengan perintah di bawah ini. #rm -vf /var/named/K${domain}* #pushd /var/named #dnssec-keygen -a HMAC-MD5 -b 512 -n USER -r /dev/urandom ${domain}
#KEY="$(grep Key: K${domain}*.private | cut -d ' ' -f 2)" #popd
Meruvian Cloud Team
91
Pastikan user memiliki key untuk menyambungkan broker dengan BIND, gunakan perintah rndcconfgen : #rndc-confgen -a -r /dev/urandom
Pastikan juga bahwa kepemilikan, perizinan dan kontek SELINUX telah diatur dalam key yang baru : #restorecon -v /etc/rndc.* /etc/named.* #chown -v root:named /etc/rndc.key #chmod -v 640 /etc/rndc.key Buat sebuah file baru dengan nama forwarders.conf dengan menambahkan baris berikut : #nano /var/named/forwarders.conf berisi : forwarders { 8.8.8.8; 8.8.4.4; }; Pastikan sekali lagi perizinan dengan perintah di bawah ini : #restorecon -v /var/named/forwarders.conf #chmod -v 755 /var/named/forwarders.conf Dalam konfigurasi BIND, dibutuhkan sebuah database untuk domain, gunakan perintah berikut untuk membuat direktori untuk menampung database:
Meruvian Cloud Team
92
#rm -rvh /var/named/dynamic #mkdir -vp /var/named/dynamic Gunakan perintah di bawah ini untuk membuat database untuk domain. # cat <<EOF > /var/named/dynamic/${domain}.db
Selanjutnya, install DNSSEC key untuk domain yang telah dibuat. Buat file /var/named/${domain}.key dengan perintah : # cat <<EOF > /var/named/${domain}.key
Pastikan untuk mengatur perizinan dan kontek Selinux: #chown -Rv named:named /var/named
Meruvian Cloud Team
93
#restorecon -rv /var/named
Buat juga file named.conf di direktori /etc/ : # vi <<EOF > /etc/named.conf Berisi : options { listen-on port 53 { any; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; recursion yes; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; // set forwarding to the next nearest server (from DHCP response forward only;
Meruvian Cloud Team
94
include "forwarders.conf"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; // use the default rndc key include "/etc/rndc.key"; controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; }; }; include "/etc/named.rfc1912.zones"; include "${domain}.key"; zone "${domain}" IN { type master; file "dynamic/${domain}.db"; allow-update { key ${domain}; }; }; EOF
Atur juga permission untuk named.conf : #chown -v root:named /etc/named.conf #restorecon /etc/named.conf Setelah itu konfigurasi host pada /etc/resolv.conf : # vi /etc/resolv.conf
Meruvian Cloud Team
95
Berisi : nameserver 192.168.2.43 Kemudian buka firewall rule dan restart service named : #lokkit –service=dns #chkconfig named on #service named restart Hubungkan BIND dengan broker menggunakan perintah nsupdate. # nsupdate -k ${keyfile}
Pastikan BIND telah terkonfigurasi dengan benar dengan menggunakan perintah di bawah ini untuk resolve broker hostname. #dig @127.0.0.1 OpenShift.meruvianyama.com
Meruvian Cloud Team
96
Pastikan juga BIND melanjutkan permintaan ke hostname lainnya. #dig @127.0.0.1 icann.org.a
Meruvian Cloud Team
97
Pastikan broker menggunakan BIND lokal instance yang berjalan dengan menggunakan perintah di bawah ini. #dig OpenShift.meruvianyama.com Konfigurasi DHCP dan Hostname Kemudian konfigurasi DHCP dan Hostname di /etc/dhcp/dhclient-eth0.conf. # vi /etc/dhcp/dhclient-eth0.conf Ubah baris berikut : prepend domain-name-servers 192.168.2.43; supersede host-name "OpenShift"; supersede domain-name "meruvianyama.com";
Setelah itu atur hostname pada /etc/sysconfig/network dengan mengubah HOSTNAME dengan nama hostname yang telah dibuat dan gunakan juga perintah hostname untuk mengaplikasikan ke server. HOSTNAME=OpenShift.meruvianyama.com # hostname OpenShift.meruvianyama.com
f. Konfigurasi Database (MongoDB) Untuk menyimpan beberapa pengaturan yang digunakan oleh OpenShift, termasuk authentication, database dan membuat administraive user diperlukan database No SQL yaitu MongoDB. Install MongoDB di Centos : # yum install mongodb-server
Meruvian Cloud Team
98
Kemudian konfigurasi MongoDB di /etc/mongodb.conf . # vi /etc/mongodb.conf berisi : auth = true smallfiles = true Kemudian dilanjutkan dengan membuka Firewall dan restart MongoDB. # chkconfig mongod on && service mongod restart Konfigurasi ActiveMQ ActiveMQ berperan sebagai media penyambung komunikasi antara broker dengan node.Install ActiveMQ di Centos. #yum install activemq Konfigurasi ActiveMQ untuk penerapan sistem : # vi /etc/activemq/activemq.xml Berisi :
Meruvian Cloud Team
99
<property name="locations"> file:\${activemq.conf}/credentials.properties element is used to configure the ActiveMQ broker. -->
xmlns="http://activemq.apache.org/schema/core"
brokerName="OpenShift.meruvianyama.com"
dataDirectory="\${activemq.data}"> <destinationPolicy> <policyMap> <policyEntries> <policyEntry topic=">" producerFlowControl="true" memoryLimit="1mb"> <policyEntry queue=">" producerFlowControl="true" memoryLimit="1mb"> <managementContext> <managementContext createConnector="false"/> <statisticsBrokerPlugin/> <simpleAuthenticationPlugin> <users>
Meruvian Cloud Team
101
<map> " write="admins" read="admins" admin="admins" /> " write="admins" read="admins" admin="admins" /> " write="MCollective" read="MCollective" admin="MCollective" /> " write="MCollective" read="MCollective" admin="MCollective" /> " read="everyone" write="everyone" admin="everyone"/> <systemUsage> <memoryUsage> <memoryUsage limit="20 mb"/> <storeUsage> <storeUsage limit="1 gb"/>
Meruvian Cloud Team
102
--> <systemUsage> <systemUsage> <memoryUsage> <memoryUsage limit="64 mb"/> <storeUsage> <storeUsage limit="100 gb"/>
Meruvian Cloud Team
103
EOF
Kemudian buka firewall rule dan restart ActiveMQ . #lokkit –port=61613:tcp &&
chkconfig activemq on && service activemq
restart Dalam konfigurasi ActiveMQ terdapat juga konfigurasi jetty yang harus diubah , dengan perintah : # sed -i -e '/name="authenticate"/s/false/true/' /etc/activemq/jetty.xml #
sed
-i
-e
'/name="port"/a<property
name="host"
value="127.0.0.1"
/>'
/etc/activemq/jetty.xml
Ubah juga konfigurasi jetty-realm.properties pada direktori yang sama. # sed -i -e '/admin:/s/admin,/meruvian,/' /etc/activemq/jettyrealm.properties
Pastikan ActiveMQ telah berjalan dengan baik dengan menggunakan perintah di bawah ini. # curl --head --user admin:meruvian http://localhost:8161/admin/xml/topics.jsp
Meruvian Cloud Team
104
Selanjutnya, cek servis untuk menampilkan list topic #curl --user admin:meruvian --silent http://localhost:8161/admin/xml/topics.jsp | grep -A 4 topic
Konfigurasi MCollective Mcoleective untuk mengomunikasikan dengan host node. Untuk instalasinya dapat menggunakan perintah di bawah ini. #yum install MCollective-client Untuk konfigurasi MCollective, hapus konten dari /etc/MCollective/client.cfg dan replace dengan menggunakan langkah di bawah ini. # vi /etc/MCollective/client.cfg berisi : topicprefix = /topic/ main_collective = MCollective collectives = MCollective libdir = /usr/libexec/MCollective logfile = /var/log/MCollective-client.log loglevel = debug # Plugins securityprovider = psk plugin.psk = unset connector = stomp Meruvian Cloud Team
105
plugin.stomp.host = OpenShift.meruvianyama.com plugin.stomp.port = 61613 plugin.stomp.user = MCollective plugin.stomp.password = meruvian Ubah permission dengan menggunakan perintah di bawah ini. #chown root:apache /var/log/MCollective-client.log Konfigurasi Broker Tahap ini bertujuan untuk menyediakan REST API ke tool client dari Rails Broker.Install paket-paket yang dibutuhkan : #yum install OpenShift-origin-broker OpenShift-origin-broker-util rubygemOpenShift-origin-auth-remote-user
rubygem-OpenShift-origin-msg-broker-
MCollective rubygem-OpenShift-origin-dns-bind
Kemudian konfigurasi broker proxy servername.Default value dari Servername adalah localhost dan dapat digantikan dengan nama hostname broker yang telah dibuat dalam tahap sebelumnya. # sed -i -e "s/ServerName .*$/ServerName 'OpenShift.meruvianyama.com'/"/ etc/httpd/conf.d/000000_OpenShift_origin_broker_proxy.conf
Ubah firewall dan konfigurasi semua yang dibutuhkan service system agar auto-start secara otomatis ketika reboot. Gunakan perintah di bawah ini. # chkconfig httpd on &&
chkconfig network on && chkconfig ntpd on &&
chkconfig sshd on # lokkit –service=ssh &&
Meruvian Cloud Team
lokkit –service=https && lokkit –service=http
106
Kemudian konfigurasi Selinux dengan perintah setbool di bawah ini: # setsebool -P httpd_unified=on httpd_can_network_connect=on httpd_can_network_relay=on httpd_run_stickshift=on named_write_master_zones=on allow_ypbind=on Selanjutnya, gunakan fixfiles dan restorecon untuk relabel sejumlah file dan direktori dengan konteks SELinux yang benar. #
fixfiles
restore
-R &&
rubygem-passenger restorecon
restore
-rv
&&
/var/run
fixfiles &&
-R
mod_passenger
restorecon
-rv
/usr/share/rubygems/gems/passenger-*
Pastikan juga konfigurasi domain untuk OpenShift broker telah termodifikasi untuk merefleksikan pilihan user dari nama domain. Edit /etc/OpenShift/broker.conf dan modifikasi pengaturan CLOUD_DOMAIN: # sed -i -e "s/^CLOUD_DOMAIN=.*$/CLOUD_DOMAIN=${domain}/" /etc/OpenShift/broker.conf
Konfigurasi OpenShift agar memungkinkan plug-in yang dibutuhkan dari autentikasi, DNS dan message. Plugin dapat dikonfigurasi dalam direktori
/etc/OpenShift/plugins.d, lakukan langkah-
langkah di bawah ini untuk mulai konfigurasi.
#cd /etc/OpenShift/plugins.d
Aktifkan remote-user auth plug-in dan MCollective messaging plug-in dengan mengopi file konfigurasi example.
Meruvian Cloud Team
107
# cp OpenShift-origin-auth-remote-user.conf.example OpenShift-originauth-remote-user.conf && cp OpenShift-origin-msg-broker-MCollective.conf.example OpenShiftorigin-msg-broker-MCollective.conf Konfigurasi dns-bind dengan mengikuti perintah di bawah ini. # cat <<EOF > OpenShift-origin-dns-bind.conf
Paket dns-bind plug-in membutuhkan tambahan SELinux policy yang dikompilasi dan di install dengan menggunakan perintah make dan semodule. # pushd /usr/share/selinux/packages/rubygem-OpenShift-origin-dns-bind/ && make -f /usr/share/selinux/devel/Makefile; popd # semodule -i /usr/share/selinux/packages/rubygem-OpenShift-origin-dnsbind/dhcpnamedforward.pp
Selanjutnya untuk konfigurasi Authenticate, kopi konfigurasi httpd example ke dalam direktori : # cp /var/www/OpenShift/broker/httpd/conf.d/OpenShift-origin-auth-remoteuser-basic.conf.sample /var/www/OpenShift/broker/httpd/conf.d/OpenShiftorigin-auth-remote-user.conf
Meruvian Cloud Team
108
Konfigurasi di atas mengonfigurasi file httpd untuk menggunakan /etc/OpenShift/htpasswd dari file password. Gunakan perintah di bawah ini untuk membuat file dengan single authorized user, “meruvian”. # htpasswd -c /etc/OpenShift/htpasswd meruvian
Langkah selanjutnya adalah menggenerate broker access key untuk digunakan Jenkins dan beberapa layanan lainnya. # openssl genrsa -out /etc/OpenShift/server_priv.pem 2048 # openssl rsa -in /etc/OpenShift/server_priv.pem -pubout > /etc/OpenShift/server_pub.pem
Kemudian generate sshkey # ssh-keygen -t rsa -b 2048 -f ~/.ssh/rsync_id_rsa # cp ~/.ssh/rsync_id_rsa* /etc/OpenShift/
Setelah semua konfigurasi di atas selesai, selanjutnya membuat akun user di Mongo, gunakan perintah berikut pada shell MongoDB. # mongo OpenShift_broker_dev --eval 'db.addUser("OpenShift", "meruvian")'
Pastikan Akun “OpenShift” dan “admin” telah dibuat dengan menggunakan perintah di bawah ini.
# echo 'db.system.users.find()' | mongo OpenShift_broker_dev
Meruvian Cloud Team
109
Langkah
terakhir
adalah
mengkonfigurasi
bundler,
masuk
ke
dalam
direktori
/var/www/OpenShift/broker, kemudian lakukan perintah di bawah ini. #bundle –local User juga membutuhkan broker untuk berjalan secara otomatis setelah reboot dengan menggunakan perintah di bawah ini. #chkconfig OpenShift-broker on Kemudian jalankan Broker : # service httpd start && service OpenShift-broker start Pastikan aplikasi berjalan dengan menggunakan perintah curl. # curl Ik https://localhost/broker/rest/api Cek, apakah user mendapatkan 200 untuk response OK. Jika tidak coba dengan perintah di bawah ini. # curl k https://localhost/broker/rest/api
Meruvian Cloud Team
110
B. Instalasi Node Repositori Instalasi paket node dibutuhkan paket dari repositori, tambahkan repositori node dengan menggunakan perintah di bawah ini. # nano /etc/yum.repos.d/OpenShiftnode.repo tambahkan baris di bawah ini. [OpenShift_node] name=OpenShift Node baseurl=https://mirror.OpenShift.com/pub/originserver/nightly/enterprise/2012-11-15/Node/x86_64/os/ enabled=1 gpgcheck=0
Versi terbaru OpenShift terdapat tambahan paket aplikasi yaitu OpenShift JbossEAP, fungsi dari aplikasi ini sama dengan Apache Tomcat yaitu sebagai container. Tambahkan repository Jboss : #nano /etc/yum.repos.d/OpenShift-jboss.repo tambahkan baris berikut ke dalam repositori OpenShift-jboss.repo : [OpenShift_jbosseap] name=OpenShift JBossEAP baseurl=https://mirror.OpenShift.com/pub/origin-server/nightly/enterprise/2012-1115/JBoss_EAP6_Cartridge/x86_64/os/ enabled=1 gpgcheck=0
Meruvian Cloud Team
111
Karena ada beberapa paket yang tidak ada pada repositori di atas, tambahkan repositori untuk rhel6 dengan mengikuti langkah-langkah di bawah ini. #nano /etc/yum.repos.d/OpenShift-rhel6.repo tambahkan baris berikut pada repo tersebut. [OpenShift_rhel6] name=OpenShift RHEL6 baseurl=https://mirror.OpenShift.com/pub/OpenShift-origin/rhel-6/x86_64/ enabled=1 gpgcheck=0 Lakukan update dengan menggunakan perintah di bawah ini. #yum update DNS Untuk konfigurasi DNS pada node hampir sama dengan pengaturan di broker, buat sebuah variabel $ keyfile environment pada server broker dengan menggunakan perintah di bawah ini. # keyfile=/var/named/meruvianyama.com.key kemudian gunakan perintah oo-register-dns pada broker untuk mendaftartkan DNS dan IP pada broker. # oo-register-dns -h node -d meruvianyama.com -n 192.168.2.17 -k ${keyfile}
Edit /etc/resolv.conf dan tambahkan nameserver OpenShift dengan baris di bawah ini. # vi /etc/resolv.conf Nameserver 192.168.2.43
Meruvian Cloud Team
112
Akses Broker ke Node diperlukan juga sebuah access key untuk menghubungkan host broker dengan host node. Pada langkah sebelumnya, user telah membuat keypair pada host broker, dan host node membutuhkan enable access. Gunakan langkah di bawah ini. # scp [email protected]:/etc/OpenShift/rsync_id_rsa.pub /root/.ssh/ # cat /root/.ssh/rsync_id_rsa.pub >> /root/.ssh/authorized_keys # rm /root/.ssh/rsync_id_rsa.pub
DHCP dan Hostname Untuk mengirim permintaan DNS ke Host Broker, konfigurasi DHCP pada file /etc/dhcp/dhclienteth0.conf. # vi /etc/dhcp/dhclient-eth0.conf Masukkan baris berikut pada file tersebut. prepend domain-name-servers 192.168.2.43; supersede host-name "node"; supersede domain-name "meruvianyama.com"; Edit /etc/sysconfig/network dan atur “HOSTNAME=”, dan ubah value menjadi nama hostname host node. # vi /etc/sysconfig/network Meruvian Cloud Team
113
Ubahlah : HOSTNAME=node.meruvianyama.com Gunakan juga perintah hostname untuk mengaplikasikan nama hostname baru ke host node. # hostname node.meruvianyama.com MCollective MCollective pada node digunakan untuk komunikasi dengan broker host.Untuk instalasi dapat menggunakan perintah di bawah ini. #yum install MCollective OpenShift-origin-msg-node-MCollective konfigurasi konten pada /etc/MCollective/server.cfg dengan konfigurasi di bawah ini. # vi /etc/MCollective/server.cfg berisi : topicprefix = /topic/ main_collective = MCollective collectives = MCollective libdir = /usr/libexec/MCollective logfile = /var/log/MCollective.log loglevel = debug daemonize = 1 direct_addressing = n registerinterval = 30 # Plugins securityprovider = psk plugin.psk = unset
Meruvian Cloud Team
114
connector = stomp plugin.stomp.host = OpenShift.meruvianyama.com plugin.stomp.port = 61613 plugin.stomp.user = MCollective plugin.stomp.password = meruvian # Facts factsource = yaml plugin.yaml = /etc/MCollective/facts.yaml Buat service MCollective dapat berjalan secara otomatis ketika reboot dengan menggunakan perintah di bawah ini. #chkconfig MCollective on jalankan service MCollective dengan mengikuti perintah : #service MCollective start Gunakan perintah di bawah ini untuk memastikan Host broker mengenali host node. #mco ping
Meruvian Cloud Team
115
Konfigurasi Node Gunakan perintah di bawah ini untuk instalasi node. # yum install rubygem-OpenShift-origin-node rubygem-passenger-native OpenShift-origin-port-proxy OpenShift-origin-node-util Kemudian Install paket Cartridge yang berfungsi menjalankan aplikasi untuk berjalan pada OpenShift. Contoh cartridge pada OpenShift adalah MySQL, Jboss, PHP dan lain-lain.Install semua paket cartridge dengan menggunakan perintah di bawah ini. #yum install OpenShift-origin-cartridges-* Host Node membutuhkan SSH daemon untuk mendeploy aplikasi yang dibangun dengan akses GIT. Node host harus mengijinkan koneksi HTTP dan HTTPS untuk menjalankan aplikasi tanpa gear pada node. Konfigurasi firewall dan atur sistem yang dibutuhkan untuk menjalankan secara otomatis ketika reboot. # lokkit --service=ssh # lokkit --service=https # lokkit --service=http # chkconfig httpd on # chkconfig network on # chkconfig sshd on Setelah itu konfigurasi PAM dengan menggunakan perintah di bawah ini. # sed -i -e 's|pam_selinux|pam_OpenShift|g' /etc/pam.d/sshd # for f in "runuser" "runuser-l" "sshd" "su" "system-auth-ac"
Meruvian Cloud Team
116
Selanjutnya adalah konfigurasi cgroups, cgroups menggunakan 2 layanan yang keduanya harus berjalan dari penahanan cgroups yang akan diberlakukan. Ikuti langkah di bawah ini untuk mengkonfigurasi cgroups. # cp -f /usr/share/doc/*/cgconfig.conf /etc/cgconfig.conf # restorecon -v /etc/cgconfig.conf # mkdir /cgroup # restorecon -v /cgroup # chkconfig cgconfig on # chkconfig cgred on # chkconfig OpenShift-cgroups on # service cgconfig restart # service cgred restart # service OpenShift-cgroups start
Pastikan cgroups berjalan dengan memastikan pada direktori /cgroups berisi files subsystem yaitu cpu, cpuacct, memory, freezer, devices dan net_cls . Selanjutnya adalah konfigurasi sellinux dengan mengikuti perintah berikut: # setsebool -P httpd_unified=on httpd_can_network_connect=on httpd_can_network_relay=on httpd_read_user_content=on httpd_enable_homedirs=on httpd_run_stickshift=on allow_polyinstantiation=on
Meruvian Cloud Team
117
Ubah pengaturan kontek SELinux dengan langkah-langkah di bawah ini. # fixfiles -R rubygem-passenger restore && fixfiles -R mod_passenger restore # restorecon -rv /var/run && restorecon -rv /usr/share/rubygems/gems/passenger-* # restorecon -rv /usr/sbin/MCollectived /var/log/MCollective.log /var/run/MCollectived.pid # restorecon -rv /var/lib/OpenShift /etc/OpenShift/node.conf /etc/httpd/conf.d/OpenShift
Langkah selanjutnya adalah konfigurasi pengaturan sysctl, ubah baris berikut pada /etc/sysctl.conf. # vi /etc/sysctl.conf kernel.sem = 250 32000 32 4096 Ubah juga baris di bawah ini, jika baris tidak ada tambahkan pada baris terakhir. net.ipv4.ip_local_port_range = 15000 35530 Tambahkan ukuran tabel connection-tracking dengan baris berikut : net.netfilter.nf_conntrack_max = 1048576 Reload konfigurasi sysctl.conf dengan aktifkan konfigurasi yang baru dengan menggunakan perintah : #sysctl -p /etc/sysctl.conf Kemudian ubah konfigurasi SSHD dengan mengedit /etc/ssh/sshd_config dan tambahkan baris di bawah ini.
Meruvian Cloud Team
118
# vi /etc/ssh/sshd_config AcceptEnv GIT_SSH Tambahkan limit untuk nomor koneksi ke node dengan menjalankan perintah: # perl -p -i -e "s/^#MaxSessions .*$/MaxSessions 40/" /etc/ssh/sshd_config # perl -p -i -e "s/^#MaxStartups .*$/MaxStartups 40/" /etc/ssh/sshd_config
Setelah konfigurasi ssh, diperlukan juga konfigurasi port proxy, buka jarak antar port external yang dapat digunakan oleh aplikasi dengan perintah: # lokkit –port=35531-65535:tcp Atur layanan proxy agar dapat berjalan secara otomatis ketika reboot dengan perintah: # chkconfig OpenShift-port-proxy on Jalankan layanann proxy : # service OpenShift-port-proxy start Atur layanan OpenShift-gear secara otomatis juga ketika reboot dengan perintah yang sama. #chkconfig OpenShift-gears on Setelah itu konfigurasi node dapat mengubah pengaturan pada /etc/OpenShift/node.conf : # vi /etc/OpenShift/node.conf
Meruvian Cloud Team
119
Atur value dari “PUBLIC_IP” dengan IP Address Node yang sedang digunakan. PUBLIC_IP=192.168.2.7 Ubah value “CLOUD_DOMAIN” dengan menggantinya dengan domain yang sedang digunakan. CLOUD_DOMAIN=meruvianyama.com Ubah juga “PUBLIC_HOSTNAME” dan “BROKER_HOST” dengan nama hostname Node dan IP Address Broker Host. PUBLIC_HOSTNAME=node.meruvianyama.com BROKER_HOST=192.168.2.43 Kemudian update OpenShift Facts dengan perintah : #/etc/cron.minutely/OpenShift-facts Kemudian setelah semua konfigurasi selesai, restart sistem. # reboot
Meruvian Cloud Team
120
C. Uji Instalasi OpenShift MCollective Pastikan layanan MCollective telah berjalan dengan menggunakan perintah: #service MCollective status kedua, pastikan sekali lagi node dan broker host telah saling terhubung dengan menggunakan perintah di bawah ini pada broker host. #mco ping BIND dan DNS Pastikan broker dan node mempunyai konektifitas network satu sama lain menggunakan perintah ping. #ping OpenShift.meruvianyama.com MongoDB Pada host broker, untuk memastikan mongodb berjalan adalah dengan menggunakan perintah : #service mongod status Jika telah berjalan, coba untuk mengoneksikan ke database. #mongo OpenShift_broker_dev File Log Jika terjadi masalah pada broker dapat mengecek lognya pada: /var/www/OpenShift/broker/log/development.log /var/www/OpenShift/broker/httpd/logs/access_log /var/www/OpenShift/broker/httpd/logs/error_log
Meruvian Cloud Team
121
Sedangkan jika terjadi masalah dengan komunikasi broker-node, dapat mengeceknya di direktori /var/log/MCollective.log Untuk masalah pada broker di host node, dapat mengeceknya pada: /var/log/messages /var/log/audit/audit.log → untuk issue SELinux /var/log/secure → untuk interaksi user/ssh /etc/OpenShift/* SELinux Penolakan dari SELinux dapat menyebabkan error. Salah satu cara untuk memeriksa apakah SELinux berada di belakang error yang tidak terdeteksi adalah menonaktifkan policy enforcement menggunakan perintah: #setenforce 0 Setelah masalah terselesaikan kembalikan pengaturan policy enforcement dengan perintah: #setenforce 1
D. User Membuat Akun User Buatlah akun user pada broker dengan menggunakan perintah htpasswd: #htpasswd -c /etc/OpenShift/htpasswd user Pastikan akun telah dibuat dengan mengeceknya menggunakan perintah: #cat /etc/openhift/htpasswd
Meruvian Cloud Team
122
Konfigurasi DNS Untuk konfigurasi DNS, edit /etc/resolv.conf dan tambahkan IP Address broker, kemudian tambahkan address broker dan node ke /etc/hosts. OpenShift Client Tool Untuk host user, disini penulis menggunakan ubuntu dan centos sebagai sistem operasi, untuk Instalasinya dapat mengikuti langkah di bawah ini : $sudo apt-get install ruby-full rubygems git-core (pada Linux Ubuntu) Setelah instalasi selesai, user dapat menggunakan layanan tersebut dengan menggunakan perintah : $ruby -e 'puts “Selamat Datang di Ruby” $git –version
Meruvian Cloud Team
123
Live CD OpenShift (Fedora) OpenShift juga menyediakan versi portablenya berupa LiveCD OS (.iso) yaitu Linux Fedora 17 64 bit untuk mempermudah pengguna dalam mempelajari OpenShift . Dapat didapatkan melalui https://openshift.redhat.com/app/opensource/download . A. Installasi OpenShift (Fedora) Berikut adalah langkah-langkah install OpenShift dengan metode Live CD : Masukkan CD OpenShift Origin ke dalam server, konfigurasi BIOS dan arahkan booting ke arah CD ROM.
Gambar 2.12 konfigurasi BIOS Kemudian tunggu beberapa saat, sampai tersedia 2 pilihan yaitu OpenShift_Origin dan Troubleshooting, pilih “Start OpenShift_Origin”.
Meruvian Cloud Team
124
Gambar 2.13 Startup OpenShift Live CD Tunggu beberapa saat sampai muncul fitur Live CD dari OpenShift Origin. Untuk tampilan fitur Live CD OpenShift Origin hampir sama dengan tampilan Fedora 17 x86_64. Akan muncul Terminal dan Browser secara otomatis.
Gambar 2.14 OpenShift terminal Arahkan pada terminal, kemudian gunakan perintah di bawah ini untuk mencegah terjadinya bug pada Instalasi Grafik, jika memang ada kemungkinan bug, Instalasi akan diarahkan ke Instalasi berbasis text sebagai gantinya. $ xhost +
Meruvian Cloud Team
125
Gambar 2.15 xhosts + Masuk sebagai root dan mulai Instalasi OpenShift Origin dengan perintah di bawah ini. # su # liveinst Setelah itu akan muncul tampilan Instalasi, pada langkah awal, pilih Jenis Keyboard yang digunakan, pilih default yaitu “U.S English”. Klik Next
Gambar 2.16 Pilih jenis Keyboard
Meruvian Cloud Team
126
Kemudian Pilih “Basic Storage Devices”, untuk Instalasi dasar penyimpanan. Klik Next.
Gambar 2.17 Storage Masukkan
nama
Hostname
sebagai
identitas
server
pengguna,
contoh:
“OpenShift.meruvianyama.com”, klik Next.
Gambar 2.18 Hostname
Meruvian Cloud Team
127
Pilih Kota terdekat untuk zona waktu yang digunakan. Arahkan ke “Jakarta”, klik Next.
Gambar 2.19 Zona Waktu Masukkan Password pribadi untuk server, klik Next.
Gambar 2.20 Password Kemudian masuk pada bagian partisi hardisk.Jika tidak ingin pengaturan penyimpanan sistem dapat memilih “Use All Space”, jika terdapat sistem operasi linux lain dapat menggunakan “Replace Existing Linux System”, jika terdapat sistem Operasi selain Linux yaitu misalnya Windows dan tidak
Meruvian Cloud Team
128
memiliki tempat kosong dapat menggunakan “Shrink Current System” untuk menggunakan drive yang tidak digunakan sebagai penyimpanan, jika ada Sistem Operasi lain dan terdapat ruang kosong sebagai penyimpanan dapat menggunakan “Use Free Space”, dan pilihan terakhir “Create Custom Layout” digunakan untuk pengaturan manual untuk penyediaan ruang untuk tempat penyimpanan. Untuk mempermudah Instalasi, sebagai contoh pilih “Use All Space”.
Gambar 2.21 Partisi Hardisk Setelah Klik Next, akan muncul pemberitahuan untuk memformat disk, pilih “Write Changes to Disk” untuk menaruh Sistem Operasi ke dalam penyimpanan disk setelah format selesai.Tunggu beberapa saat sampai proses Instalasi selesai akan muncul tampilan seperti gambar di bawah ini. Klik Reboot untuk merestart Sistem.
Gambar 2.22 Proses installasi berhasil Meruvian Cloud Team
129
Setelah proses restart selesai, maka sebelum memasuki desktop, pengguna akan di arahkan ke tampilan pengaturan terlebih dahulu, pada pengaturan pertama akan memunculkan tampilan Selamat Datang / “Welcome”, klik “Forward” untuk melanjutkan.
Gambar 2.23 Welcome Screen Kemudian pada tampilan kedua, pengguna akan menemukan Informasi mengenai Lisensi, klik “Forward”.
Gambar 2.24 Informasi Lisensi Pada pengaturan ketiga, centang “Synchronize date and time over the network” untuk sinkronisasi pengaturan tanggal dan waktu antara server dan jaringan. Klik “Forward”.
Meruvian Cloud Team
130
Gambar 2.25 Date and Time Pada pengaturan keempat, masukkan nama user dan password sekali lagi, untuk contoh “Meruvian”, klik “Forward”.
Gambar 2.26 Membuat User
Meruvian Cloud Team
131
Setelah itu adalah persetujuan apakah profil Hardware server dikirimkan atau tidak, centang “Send Profile” jika ya, dan “Do not send profile” jika tidak, klik “Finish” untuk mengakhiri Instalasi.
Gambar 2.27 Hardware Profile Setelah proses selesai, sistem akan menuju tampilan login, pilih user yang telah dibuat dan masukkan Password klik Enter.Untuk tahap selanjutnya yaitu mengatur nama domain dan hostname yang akan digunakan oleh server.
Gambar 2.28 Login
Meruvian Cloud Team
132
B. Konfigurasi Sistem OpenShift (Fedora) Untuk mempermudah langkah-langkah selanjutnya, tentukan dulu nama domain yang akan digunakan dengan perintah : # domain=meruvianyama.com Kemudian tentukan juga $keyfile environment yang akan digunakan dalam proses pembuatan domain baru. # keyfile=/var/named/${domain}.key Setelah itu gunakan perintah dnssec-keygen untuk menghasilkan DNSSEC yang baru untuk domain dengan langkah-langkah berikut : # rm -vf /var/named/K${domain}* # pushd /var/named # dnssec-keygen -a HMAC-MD5 -b 512 -n USER -r /dev/urandom ${domain} # KEY="$(grep Key: K${domain}*.private | cut -d ' ' -f 2)" # popd
Gambar 2.29 konfigurasi domain
Meruvian Cloud Team
133
Selanjutnya, pengguna harus memastikan key pada broker sudah dapat dikomunikasikan dengan BIND, gunakan perintah di bawah ini untuk menghasilkan konfigurasi file dari rndc. # rndc-confgen -a -r /dev/urandom
Sebelum membuat konfigurasi domain, hapus konfigurasi pada direktori /var/named/dynamic, kemudian buat konfigurasi domain dengan mengikuti langkah-langkah di bawah ini. # rm
-rvf /var/named/dynamic/*
# cat <<EOF > /var/named/dynamic/${domain}.db
Selanjutnya, Install DNSSEC key untuk domain. Buat file pada /var/named/${domain}.key dengan menggunakan langkah berikut : # cd /var/named #
rm
-vf
Kexample.com.****.key
Kexample.com.****.private
example.com.key # cat <<EOF > /var/named/${domain}.key
Meruvian Cloud Team
134
Ubah konfigurasi /etc/named.conf dan arahkan semua konfigurasi domain ke domain yang telah user buat sebelumnya, contoh: meruvianyama.com. # nano /etc/named.conf include "meruvianyama.key";
Ubah atau tambahkan konfigurasi berikut ke /etc/resolv.conf : # nano /etc/resolv.conf
Meruvian Cloud Team
135
Restart layanan named dengan perintah : # service named restart Update Konfigurasi Domain pada /var/named dengan perintah berikut : # nsupdate -k ${keyfile}
Pastikan semua konfigurasi berhasil dengan menggunakan perintah. # dig @127.0.0.1 OpenShift.meruvianyama.com
Gambar 2.30 Cek domain
Meruvian Cloud Team
136
Pastikan juga layanan BIND melanjutkan permintaan hostname lain. # dig @127.0.0.1 icann.org a
Terakhir, pastikan broker server menggunakan local BIND instance dengan menggunakan perintah. # dig OpenShift.meruvianyama.com
Meruvian Cloud Team
137
Setelah domain telah terkonfigurasi, ubah konfigurasi hostname pada dhcp dengan perintah di bawah ini. # nano /etc/dhcp/dhclient.conf Berisi : prepend domain-name-servers ; supersede host-name "OpenShift"; supersede domain-name "meruvianyama.com"; Yang Kedua, ubah hostname pada /etc/sysconfig/network # nano /etc/sysconfig/network Berisi : NETWORKING=yes HOSTNAME=OpenShift.meruvianyama.com Gunakan perintah hostname untuk mengaplikasikan hostname pada server dan gunakan perintah tersebut untuk mengecek hostname yang telah diubah. # hostname OpenShift.meruvianyama.com # hostname
Meruvian Cloud Team
138
Update konfigurasi pada /etc/stickshift/stickshift-node.conf # nano /etc/stickshift/stickshift-node.conf CLOUD_DOMAIN=meruvianyama.com PUBLIC_HOSTNAME=OpenShift.meruvianyama.com
Kemudian update konfigurasi pada direktori /var/www/stickshift/broker/config/environments yaitu pada file development.rb, production.rb dan test.rb, ubah konfigurasi di bawah ini. config.ss = { :domain_suffix => “meruvianyama.com”,
Setelah itu konfigurasi juga pada direktori plugin_config pada file uplift-bind-plugin.rb, ubah menjadi seperti langkah di bawah ini. # nano plugin_config/uplift-bind-plugin.rb
Meruvian Cloud Team
139
berisi : config.dns = { :server => “127.0.0.1”, :port => 53; :keyname => “meruvianyama.com”, :keyvalue => “${KEY}”, :zone => “meruvianyama.com” } end untuk keyvalue dapat diperoleh melalui perintah: # KEY="$(grep Key: K${domain}*.private | cut -d ' ' -f 2)" kemudian tampilkan value dari KEY tersebut dan copykan ke value “keyvalue”. #echo ${KEY}
Langkah terakhir, gunakan perintah berikut untuk mem-bundle semua paket ruby pada broker OpenShift. # cd /var/www/stickshift/broker
Meruvian Cloud Team
140
# bundle install Jika tidak ada masalah dalam prosesnya, akan tampil pesan sukses seperti gambar di bawah ini.
Kemudian reboot. # reboot Pada tahapan selanjutnya adalah membuat domain dan aplikasi, sebelum membuat domain buatlah direktori .OpenShift dan konfigurasi untuk koneksi ke server. # mkdir ~/.OpenShift # echo "default_rhlogin=admin" >> ~/.OpenShift/express.conf #
echo
"libra_server=OpenShift.meruvianyama.com"
>>
~/.OpenShift/express.conf
Mulailah membuat domain dengan perintah: # rhc domain create -n meruvian
Meruvian Cloud Team
141
Gambar 2.31 membuat domain dengan rhc
Kemudian buatlah aplikasi dengan menggunakan cartridge jbossas-7 dengan perintah di bawah ini. # rhc app create -a test -t php-5.3 –config ~/.OpenShift/express.conf Jika proses berhasil maka akan seperti gambar di bawah ini.
Test pada web browser dengan memasukkan link yang tercantum pada pesan sukses di atas. http://test-meruvian.meruvianyama.com/
Meruvian Cloud Team
142
Gambar 2.32 OpenShift
Meruvian Cloud Team
143
BAB III Deploy Aplikasi Sample Dari Client Bab berikut menjelaskan tentang pendeployan (hosting) sebuah aplikasi sample (contoh) yaitu HelloWorld ke dalam PaaS yang sudah dibuat tadi ataupun di PaaS Provider yang berbayar.
1. Cloud Foundry (VMC) Kali ini , aplikasi sample (contoh) yang akan dideploy adalah 'hello world'.war yang sebelumnya telah dibuat di Eclipse. Dan PaaS yang digunakan adalah Cloud Foundry yang sudah online dengan alamat cloud_controller http://chankillo.openpaas.or.id . Untuk menginstall Cloud Foundry client (VMC) gunakan perintah : $ sudo apt-get install cloudfoundry-client atau $ sudo gem install vmc Terlebih targetkan vmc ke chankillo.openpaas.or.id : $ sudo vmc target chankillo.openpaas.or.id
Gambar 2.33 vmc target ke chankillo.openpaas.or.id
Meruvian Cloud Team
144
Kemudian registrasi user baru : $ sudo vmc register
Gambar 2.34 Register user baru Kemudian login dengan user yang telah dibuat : $ sudo vmc login
Gambar 2.35 login Setelah itu lihatlah information untuk memastikan bahwa login berhasil $ sudo vmc info
Gambar 2.35 Information
Meruvian Cloud Team
145
Masuk ke direktori dimana 'HelloWorld'.war disimpan dalam hal ini 'HelloWorld'.war disimpan di direktori ~/ (home).
Gambar 2.36 masuk direktori helloworld.war Kemudian mulai deploy 'hello world'.war $ sudo vmc push –path 'HelloWorld'.war Setelah itu terdapat dialog pendeployan :
Gambar 2.37 dialog deployment Setelah semua output menyatakan berhasil , maka Aplikasi Sample 'HelloWorld' sudah bisa diakses
Gambar 2.38 berhasil deploy
Meruvian Cloud Team
146
Akses 'HelloWorld' di http://hello.openpaas.or.id sesuai dengan URL/domain yang dutentukan di dialog awal.
Gambar 2.39 HelloWorld
2. OpenShift (RHC) Dalam hal ini , akan dilakukan pendeployan sample aplikasi yaitu HelloWorld.war (seperti yang sudah digunakan
sebelumnya)
ke
server
OpenShift
yang
sudah
dirilis
oleh
Redhat
di
http://OpenShift.redhat.com .
Meruvian Cloud Team
147
Gambar 2.40 halaman http://OpenShift.redhat.com Kemudian daftarkan user yang akan digunakan untuk mengakses .
Meruvian Cloud Team
148
Gambar 2.41 mendaftarkan user Setelah itu buka email konfirmasi dan login dengan username (email) dan password yang telah dibuat
Gambar 2.42 login dengan username (email) dan password
Meruvian Cloud Team
149
Kemudian buat aplikasi Jboss , dalam hal ini aplikasi yang digunakan sudah terbundle dengan container Apache Tomcat yang sudah dimodifkasi oleh developer OpenShift dengan kode nama Jboss EWS 1.0 .
Gambar 2.43 Membuat aplikasi Jboss EWS 1.0 Kemudian beri alamat domain/url dari aplikasi yang dibuat
Gambar2.44 memberi alamat domain/url aplikasi Jboss EWS 1.0 Meruvian Cloud Team
150
Setelah itu klik Create Application . Kemudian terdapat proses pembuatan aplikasi , setelah berhasil akan muncul halaman informasi aplikasi .
Gambar 2.45 Informasi aplikasi Setelah itu lakukan git clone untuk mengunduh project aplikasi yang telah dibuat .
Gambar 2.46 git clone project
Meruvian Cloud Team
151
Proses ini akan otomatis mengimport direktori baru berisi project dari aplikasi yang sudah dibuat. Kemudian hapus folder src/ dan file pom.xml dalam direktori tersebut. $ git rm -rf src/ pom.xml
Gambar 2.47 Menghapus folder src/ dan file pom.xml Setelah itu lakukan salin HelloWorld.war ke folder webapps/ dan ubah namanya menjadi ROOT.war $ cp HelloWorld.war hello/webapps/ROOT.war Kemudian lakukan commit untuk menyimpan perubahan. $ cd hello/ $ git commit -a -m “Menghapus folder src/,file pom.xml , dan menyalin HelloWorld ke webapps”.
Meruvian Cloud Team
152
Gambar 2.48 git commit Langkah terakhir adalah menjalankan aplikasi dengan git. $ git push Akses kembali aplikasi untuk melihat hasilnya.
Gambar 2.49 Hello World !!
Meruvian Cloud Team
153
3. Jelastic (Web Interface) Jelastic dalam hal ini adalah salah satu PaaS provider yang berbayar , dimana juga menyediakan Web interface yang user friendly .Daftar terlebih dahulu ke jelastic.net dengan email Anda.
Gambar 2.50 Mendaftar di jelastic.net
Meruvian Cloud Team
154
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.
Setelah login , akan ditampilkan halaman pembuatan environment.
Gambar 2.51 Jelastic dashboard
Meruvian Cloud Team
155
Environment yang digunakan adalah : 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 kita dapat lebih mudah dalam melakukan development karena kita tinggal menambahkan library yang kita butuhkan agar mempercepat proses development tanpa perlu mencaricari library terlebih dahulu terlebih lagi .Maven akan digunakan sebagai platform checkout ke server . Environment : adalah nama domain / url utama yang akan digunakan oleh applikasi. Jika sudah klik create. Kemudian akan muncul progress bar creating environment. Yang menunjukkan bahwa environment sedang dibuat.
Gambar 2.52 Jelastic creating environment
Meruvian Cloud Team
156
Untuk mendeploy Aplikasi Sample dalam hal ini adalah Hello World , Jelastic telah menyediakannya , Tapi sebelumnya , penulis telah membuat environment baru terdiri dari Tomcat 6 dan MySQL database dengan domain environment http://testing.jelastic.servint.net
Gambar 2.53 Environment baru Di bar Deployment manager terdata file 'hello world'.zip yang dapat langsung dideploy
Klik 'hello world'.zip > Deploy to .. > testing Kemudian akan ada proses pendeployan di bar Tasks . Jika proses selesai maka terdapat folder 'hello world' di bawah Tomcat 6.
Meruvian Cloud Team
157
Setelah itu akses via web browser
Gambar 2.54 Jelastic Hello World
Meruvian Cloud Team
158
BAB IV Deploy Aplikasi Sample dari Eclipse Plugin Di bab ini akan dijelaskan juga pendeployan aplikasi sample yang sama (HelloWorld) melalui Eclipse Pluginnya.Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Berikut ini adalah sifat dari Eclipse: •
Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.
•
Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.
•
Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.
Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in.
Meruvian Cloud Team
159
1. Cloud Foundry Eclipse Plugin Instalasi Cloud Foundry pada Eclipse dapat dilakuan melalui menu Help > Eclipse Marketplace. panel akan terbuka dan menunjukkan plug-ins dan add-ons. Pada field Find , enter “cloud foundry” dan klik Go.
Gambar 2.55 Cloud Foundry Eclipse plugin di Eclipse Marketplace Dari hasil pencarian, pilih “Cloud Foundry Integration for Eclipse” dan klik Install.
Meruvian Cloud Team
160
Gambar 2.56 proses installasi Cloud Foundry Eclipse Plugin Ketika proses instalasi telah selesai , restart Eclipse. Setelah itu Eclipse sudah siap untuk dikoneksikan ke dalam Cloud Foundry.Setelah itu diteruskan dengan pembuatan server Cloud Foundry.Kali ini Server yang akan digunakan adalah azure4j dengan alamat cloud_contrller http://paas.azure4j.us Klik Window > Show View > Other > “Server” Maka akan muncul seperti gambar dibawah ini.
Klik pada “new server wizard” untuk membuat server baru
Meruvian Cloud Team
161
Gambar 2.57 New Server Wizard Klik Vmware > CloudFoundry > Beri nama “Server Name” misalnya “Azure4j”
Gambar 2.58 New Server
Meruvian Cloud Team
162
Klik Next >
Gambar 2.59 Cloud Foundry Account Klik “Manage Cloud” untuk menyeting url CloudFoundry yang akan digunakan. Klik Add Untuk Menanbah Url
Meruvian Cloud Team
163
Gambar 2.60 Add server URL Isi field Name : Azure 4j , isi field URL : http://paas.azure4j.us ,kemudian klik finish
Gambar 2.61 Add Cloud Foundry server url Isikan email dan password dari data yang sudah diregistrasi melalu VMC.klik “Validate Account” untuk memastikan data tersebut valid atau tidak.Kemudian klik finish
Meruvian Cloud Team
164
Gambar 2.61 Add Cloud Foundry server url Gambar dibawah ini menunjukkan bahawa server Cloud Foundry sudah siap pakai.
Gambar 2.62 Cloud Foundry Server Setelah itu , import aplikasi sample hello world ke dalam workspace . File > Import > Maven > Import existing Maven project >
Meruvian Cloud Team
165
Gambar 2.63 Import Maven Project Setelah itu project akan terimport di workspace
Gambar 2.64 Workspace Untuk mulai mendeploy , seret project ke server Cloud Foundry Meruvian Cloud Team
166
Gambar 2.65 seret project ke Cloud Foundry Server Kemudian akan muncul dialog Application Detail .
Gambar 2.66 Application Detail
Next > Kemudian dialog alokasi memory
Meruvian Cloud Team
167
Gambar 2.67 Alokasi memory
Finish > Setelah proses deploy selesai ,
Gambar 2.68 berhasil dideploy
Meruvian Cloud Team
168
Maka “Hello World” sudah bisa diakses di domain yang sudah ditentukan , dalam hal ini adalah http://helloworld.azure4j.us .
Gambar 2.69 Hello World
Meruvian Cloud Team
169
2. OpenShift Eclipse Plugin (JBOSS) Untuk menginstall OpenShift sebagai Plugin Eclipse dapat dilakukan melalui Help > Eclipse Market Place >
Gambar 2.70 Jboss Tools di Marketplace
Setelah itu import project HelloWorld ke workspace , pilih File > Import > General > Existing Project into Workspace
Gambar 2.71 Import project HellWorld Meruvian Cloud Team
170
Gambar 2.72 Workspace
Kemudian buat project OpenShift baru File > New > Project > OpenShift > OpenShift Application dan login dengan password dan username yang telah dibuat.
Gambar 2.73 Sign in ke OpenShif Eclipse Plugin
Meruvian Cloud Team
171
Buat Aplikasi baru dalam project OpenShift. Gunakan type jbossws-1.0 / Tomcat Jboss EWS 1.0 yang sudah terbundle dengan Apache Tomcat Container.
Gambar 2.74 Membuat Aplikasi baru Kemudian tentukan dimana lokasi direktori dari project yang dibuat.
Gambar 2.75 pilih direktori project
Meruvian Cloud Team
172
Setelah itu pilih Next > Finish > Kemudian terdapat proses import project yang ada di server OpenShift.
Gambar 2.76 proses import project dari server OpenShift Setelah itu buat folder “deployments” di project OpenShift (helloworld2) yang berguna untuk menampung deploy dari aplikasi.Klik kana pada project New > Folder > beri nama “deployments” Kemudian mulai mendeploy project HelloWorld tadi ke project OpenShift (helloworld2) dengan cara menyeret ke server OpenShift yang telah terbuat di bar bagian bawah dari Eclipse.
Gambar 2.77 menyeret project HelloWorld ke server OpenShift
Meruvian Cloud Team
173
Kemudian pindahkan file HelloWorld.war yang ada di folder deployments/ di project OpenShift (helloworld2) ke folder webapps/ di project yang sama.
Gambar 2.78 memindahkan HelloWorld.war Kemudian lakukan commit untuk menyimpan hasil perubahan.Klik kanan pada project OpenShift (helloworld2) > Team > Commit > Commit
Gambar 2.79 Commit Meruvian Cloud Team
174
Kemudian push project , caranya hampir sama seperti commit , pilih Push to Upstream .
Gambar 2.80 Console Kemudian akses http://helloworld2-testfirst.rhcloud.com/HelloWorld/ di web browser.Gambar 2.82 Console
Gambar 2.82 HelloWorld
Meruvian Cloud Team
175
3. Jelastic Eclipse Plugin Untuk menginstall Jelastic Eclipse Plugin dapat dilakukan melalui Help > Eclipse Market Place >
Gambar 2.83 Jelastic Eclipse Plugin di Marketplace Kemudian konfigurasi Plugin agar tersinkronisasi dengan user yang ada di Jelastic. Window > Preference > Jelastic Preference
Meruvian Cloud Team
176
Gambar 2.84 Jelastic Preference Setelah konfigurasi bar bagian bawah Window > show View > other > Jelastic Cloud Platform
Gambar 2.85 Jelastic Cloud Platform View Meruvian Cloud Team
177
Hasilnya adalah muncul tab “Jelastic” di bagian bawah dari Eclipse
Gambar 2.86 Jelastic Bar Selanjutnya adalah mendeploy project 'helloworld' yang sudah diimport tadi ke Jelastic. Klik kanan pada project 'helloworld' > Deploy to Jelastic as ..
Gambar 2.87 Deploy Project to Jelastic as ..
Meruvian Cloud Team
178
Lanjutkan dengan Deploy , kemudian proses deploy dimulai
Gambar 2.88 proses deploy Setelah proses selesai , muncul dialog yang memberitahukan bahwa deploy berhasil
Gambar 2.89 berhasil deploy Context baru akan otomatis terbuat di tab Jelastic server .
Gambar 2.90 context baru
Meruvian Cloud Team
179
Akses project 'hellworld' dengan url/domain yang sudah ditentukan , dalam hal ini adalah http://tesitng.jelastic.servint.net/mynewhelloworld
Gambar 2.91 Hello World !!
Meruvian Cloud Team
180
4. Windows Azure Toolkit Windows Azure yang juga menyediakan Platform dalam Cloud Computing tidak mau kalah dengan PaaS lainnya.Windows Azure juga menyediakan Windows Azure Toolkit Plugin yang dapat diinstall di Eclipse . Untuk menginstallnya , klik pada menu Help > Install New Software . Pada bagian World With isikan http://dl.msopentech.com/eclipse .
Gambar 2.92 Install Windows Azure Toolkit Next > Setelah itu proses installasi plugin akan berjalan.
Gambar 2.93 proses install Windows Azure Toolkit
Meruvian Cloud Team
181
Setelah proses installasi plugin selesai , restart Eclipse seperti saat menginstall plugin yang lain. Kemudian import project aplikasi sample 'helloworld' ke dalam workspace , setelah itu klik kanan pada project > Windows Azure > Package Windows Azure.
Gambar 2.94 Package Windows Azure Biasanya muncul dialog yang menandakan bahwa SDK Azure belum terinstall di komputer .
Gambar 2.95 Pop up untuk menginstall Windows Azure SDK
Meruvian Cloud Team
182
Solusinya adalah mendownlad dan menginstallnya , segera setelah tombol Yes dipilih , Eclipse akan otomatis mendownloadkannya .
Gambar 2.96 install Windows Azure SDK Di tengah installasi tersebut , akan diminta untuk merestart komputer untuk menerapkan perubahan , restart komputer , dan lanjutkan installasi SDK.Setelah semua terinstall , kembali ke workspace , lakukan langkah yang sama tadi.
Gambar 2.97 Windows Azure Project Meruvian Cloud Team
183
Isikan 'MyAzureProject' pada Project Name. Kemudian Next > .
Gambar 2.98 Include JDK dan Server Centang opsi 'Include a JDK from this location' , dan isikan lokasi dari jdk atau JAVA_HOME , centang juga 'Include a server form this location' , isikan letak dari container Apache Tomcat yang ada di komputer. Jangan lupa untuk memilih container yang sesuai di opsi 'Select' .Kemudian klik Finish .Setelah itu di workspace akan terimport project baru bernama 'MyAzureProject' .
Gambar 2.99 MyAzureProject Meruvian Cloud Team
184
Untuk melihat hasilnya , pilih project 'MyAzureProject' kemudian klik pada menu 'Run in Windows Azure Emulator '
Gambar 2.100 Run in Windows Azure Emulator icon Kemudian akan muncul tampilan command prompt untuk Run project .
Meruvian Cloud Team
185
Gambar 2.101 Server sudah jalan Kemudian akses http://localhost:8080/HelloWorld
Gambar 2.102 HelloWorld di lokal
Meruvian Cloud Team
186
Dilanjutkan dengan mendeploy sample aplikasi tersebut ke Windows Azure Cloud , tapi sebelumnya buatlah dahulu cloud storage dan cloud service . Pilih project , klik pada icon Publish to Windows Azure Cloud .
Gambar 2.103 Publish to Windows Azure Cloud icon Setlah itu muncul tampilan subscription.
Gambar 2.104 Subscriptions Download credential dari Windows Azure .
Meruvian Cloud Team
187
Gambar 2.105 Download credential Setelah itu import credential yang sudah didownload tadi.
Gambar 2.106 import credential
Meruvian Cloud Team
188
Setelah diimport , akan tampil informasi subsciption dan credential tadi.
Gambar 2.107 informasi subscription dan credential Klik New pada Storage account .
Gambar 2.108 New Storage Account
Meruvian Cloud Team
189
Klik New pada Service name .
Gambar 2.109 New Cloud Service Klik Finish untuk membuat cloud storage dan cloud service.
Gambar 2.110 Informasi subscription baru
Meruvian Cloud Team
190
Untuk mendeploy di atas Azure dibutuhkan software bernama Azure Storage Explore dapat didownload di http://azurestorageexplorer.codeplex.com .
Gambar 2.111 halaman download Azure Storage Explorer
Gambar 2.112 Install Azure Storage Explorer
Meruvian Cloud Team
191
Gambar 2.112 Startup Azure Storage Explorer Setelah itu klik Add Accout dan login dengan Storage Accout dan Storage Account Key , untuk melihatnya masuk ke portla azure di http://manage.windowsazure.com , login dengan username dan password yang sudah dimiliki , klik pada tab Cloud Storage dan pilih Cloud Storage yang sudah dibuat,kemudian klik [I]Manage Keys di bagian bawah dari tampilan .
Meruvian Cloud Team
192
Berikut adalah contoh Storage Accout dan Storage Access Key.
Gambar 2.113 Melihat storage account Name dan access key Masukkan keduanya ke Azure Storage Accout
Gambar 2.114 masukkan Storage account name dan access
Meruvian Cloud Team
193
Setelah itu akan muncul tampilan isi dari Storage yang ada .
Gambar 2.115 Azure Storage Buat container baru dengan memilih menu New pada tab Container
Gambar 2.116 membuat contianer baru
Meruvian Cloud Team
194
Isikan nama container yang sesuai. Kemudian upload file package project sample aplikasi 'helloworld' dengan extensi .cspkg dan file konfgurasinya dengan extensi .cscfg dengan memilih menu Upload di tab Blob.
Gambar 2.117 upload file .cspkg dan .cscfg Klik Open untuk mulai mengupload . Biasanya proses akan memakan waktu yang cukup lama.
Meruvian Cloud Team
195
Gambar 2.118 Upload selesai Setelah itu kembali ke portal azure , kemudian pilih tab 'Cloud Service' , pilih Cloud Service yang telah dibuat .
Meruvian Cloud Team
196
Gambar 2.119 Cloud Service Pilih “Upload a New staging Deployment” .
Muncul dialog untuk mendeploy.
Meruvian Cloud Team
197
Untuk from storage , dan tentukan file extensi .cspkg dan .cscfg yang telah diupload dengan Azure Storage Explorer tadi.
Gambar 2.120 mengambil file .cspkg dan .cscfg dari Cloud Storage
Meruvian Cloud Team
198
Pilih file .cspkg dan .cscfg yang ada di storage.
Klik pada tanda centang untuk mulai mendeploy.
Gambar 2.121 mulai deploy Setelah upload selesai , akan muncul informasi dan site URL sample aplikasi
Meruvian Cloud Team
199
Gambar 2.122 sukses deploy Akses site url http://01c7446253d04f96a4fe119fc703fcb9.cloudapp.net/ untuk mengakses container.
Meruvian Cloud Team
200
Gambar 2.123 Windows Azure Tomcat Dan /HelloWorld untuk mengakses sample aplikasi .
Gambar 2.124 Hello World Windows Azure
Meruvian Cloud Team
201
Chapter 3 Software As Service (SaaS)
BAB I Pengenelanan SaaS (Software as a Service) 1. Pengenalan SaaS (Software as a Service) adalah sebuah aplikasi yang sudah berjalan di atas Cloud , yaitu di atas PaaS . SaaS juga dapat dikatakan sebagai layer atas dari Cloud Computing . Terdaoat banyak tipe aplikasi yang dapat digunakan sebagai SaaS , seperti akutansi , kolaborasi , CRM , MIS , ERP , HRM dan content management.SaaS telah dipilih oleh banyak perusahaan besar untuk menekan biaya pembuatan aplikasi sejenis dengan dukungan IT dan hardware juga pemeliharaanya. Beberapa contoh SaaS yang sudah public digunakan yaitu SaaS milik Google seperti Google Doc , Google Mail , Google App Engine , dll.
2. Yama 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
Meruvian Cloud Team
203
BAB II Deploy Yama dari Client 1. Cloud Foundry (VMC) Langkah awal adalah memastikan bahwa Cloud Foundry Client sudah terinstall dengan baik.
$ sudo apt-get install cloudfoundry-client $ sudo gem install vmc Kemudian targetkan vmc ke vcap yang ada di api.meruvian.cloud : $ sudo vmc target api.meruvian.cloud Succesfully targeted to [http://api.meruvian.cloud] Kemudian lakukan r egister untuk username dan password : $ sudo vmc add-user Email : [email protected] Password : ******
Kemudian login kembali dengan username dan password tadi : $ sudo vmc login
Gambar 3.1 Login Cloud Foundry via VMC
Meruvian Cloud Team
204
Setelah itu masuk ke direktori dari aplikasi , studi kasus berikut menggunakan aplikasi Yama yang berada di direktori /home/meruvian/Yama/ . $ cd /home/meruvian/Yama
Lakukan push untuk mendeploy aplikasi : $ sudo vmc push
Gambar 3.2 Deploy Yama via VMC
Meruvian Cloud Team
205
Kemudian akses di web browser http://yamatest.meruvian.cloud
Gambar 3.3 Yama
Meruvian Cloud Team
206
2. OpenShift (RHC) 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 terseb ut
Gambar 3.4 Sign Up OpenShift Pada terminal ubuntu, install beberapa paket yang dibutuhkan untuk openshift. #apt-get install git-core openssh openssh-client ruby-full rubygems3.8 rake Setelah semua selesai, lanjutkan dengan installasi gem :
Meruvian Cloud Team
207
Gambar 3.5 install gem # gem install –source http://gems.rubyforge.org –source https://openshift.redhat.com/app/repo/ rhc sekarang tool dapat digunakan, pertama kali buatlah sebuah domain $ rhc-create-domain -n meruvian -l [email protected]
Meruvian Cloud Team
208
Gambar 3.6 membuat domain Buatlah sebuah aplikasi dengan menggunakan web server JBOSS AS 7 $ rhc-create-app -a username -t jbossas-7 -l [email protected]
Gambar 3.7 membuat app Meruvian Cloud Team
209
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 Untuk menambahkan database MySQL dapat menggunakan perintah berikut : $ rhc-ctl-app -a username -e add-mysql-5.1
Gambar 3.8 membuat database 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
Gambar 3.9 membuat phpmyadmin Meruvian Cloud Team
210
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. Untuk konfigurasi key dan authenticate dapat menggunakan langkah di bawah ini. $ssh-keygen -t Perintah adalah key yang akan di generate, antara dsa atau rsa. Tambahkan publik key baru untuk akun pengguna : $ rhc sshkey add -i meruvian -k /home/meruvian/.ssh/id_rsa.pub -l [email protected]
Gambar 3.10 generate ssh-key
Meruvian Cloud Team
211
Tambahkan publik key yang baru ke SSH $ ssh-add /home/meruvian/.ssh/id_rsa Authenticate key dengan Openshift server : $ rhc domain status -l [email protected] Untuk melihat semua list yang ada pada domain gunakan perintah berikut. $ rhc sshkey list -l [email protected] Setelah semuanya selesai, saatnya untuk menambahkan konten, hapus pom.xml yang ada di direktori aplikasi : $ cd meruvian $ git rm -r src pom.xml $ git commit -m “Hapus artifak dari aplikasi yang akan dibuat” 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
Meruvian Cloud Team
212
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/
Gambar 3.11 deploy Yama Tunggu beberapa saat sampai konten tersebut berjalan. Konten Yama dapat diakses di http://[username].rhcloud.com/Yama2
Gambar 3.12 akses Yama di web browser Untuk mengakses server openshift dapat menggunakan aplikasi ssh. $ ssh [email protected]
Meruvian Cloud Team
213
Gambar 3.13 remote to OpenShift 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”
Meruvian Cloud Team
214
3. Jelastic (Web Interface) 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-3.0.1/webapp/struts/ .
Gambar 3.14 Jelastic sub Version Klik [+]Add jika sudah.
Gambar 3.15 Maven Setelah itu arahkan pointer ke Yama yang sudah didapat dari svn dan pilih Build and Deploy
Gambar 3.16 Building
Meruvian Cloud Team
215
Jika sudah proses selesai , maka akan ada ROOT di bawah glassfish. Ini menandakan bahwa aplikasi sudah terinstall dan terdeploy di glassfish
Gambar 3.17 deploy dari sini aplikasi bisa diakses dari webrowser dengan mengarahkan pointer ke Open Browser.
Gambar 3.18 akses Yama dari web browser
Meruvian Cloud Team
216
BAB III Deploy Yama melalui Eclipse Plugin Pada bab ini akan dijelaskan langkah-langkah mendeploy Aplikasi Yama ke Cloud melalui berbagai Eclipse IDE Plugin.
1. Cloud Foundry Eclipse Plugin Setelah Cloud Foundry Eclipse Plugin diinstall dan juga registasi, lanjutkan dengan mendeploy project. Dalam hal ini, project yang digunakan adalah Yama versi 3.0.2. Pastikan Maven telah terinstall di Eclipse, kemudian import Yama 3.02 ke dalam Eclipse. Klik Next
Gambar 3.19 Maven Project import
Meruvian Cloud Team
217
Klik Finish
Gambar 3.20 Import Maven Project Maka Project yang telah di import, akan tampil seperti gambar dibawah ini.
Gambar 3.21 Setelah diimport Meruvian Cloud Team
218
Setelah itu diteruskan dengan pembuatan server Cloud Foundry dengan cara : Klik Window > Show View > Other > “Server” . Maka akan muncul seperti gambar dibawah ini.
Gambar 3.22 Server View Klik pada “new server wizard” untuk membuat server baru
Gambar 3.23 Server View Klik Vmware > CloudFoundry > Beri nama “Server Name” misalnya “Azure4j” > Next
Meruvian Cloud Team
219
Gambar 3.24 membuat Server Cloud Foundry Klik “Manage Cloud” untuk menyeting url CloudFoundry yang akan digunakan.
Gambar 3.25 Manage Cloud
Meruvian Cloud Team
220
Klik Add Untuk Menanbah Url
Gambar 3.26 Add server URL Isi field Name : Azure 4j Isi field URL : http://paas.azure4j.us (Server Cloud Foundry yang digunakan adalah Azure4j) Kemudian klik finish
Gambar 3.27 Add Cloud Foundry server url
Meruvian Cloud Team
221
Isikan email dan password dari data yang sudah diregistrasi melalu vmc. Klik “Validate Account” untuk
memastikan
data
tersebut
valid
atau
tidak.Kemudian
klik
Finish.
Gambar 3.28 Validate Account Gambar dibawah ini menunjukkan bahawa server cloud foundry sudah siap pakai.
Gambar 3.29 Cloud Foundry Server bar Kemudian konfigurasi agar project menjadi Cloud Foundry Standalone App Klik kanan pada project Configure > Enable as Cloud Foundry Standalone App Untuk mendeploy seret project ke Server Cloud Foundry.
Meruvian Cloud Team
222
Gambar 3.30 Menyeret Project Yama ke Cloud Foundry Server Kemudian muncul dialog Application Details .Isikan : Name = Yama Application Type = Spring Setelaj itu klik Finish
Meruvian Cloud Team
223
Gambar 3.31 Application Details Setelah itu isi Launch Deployment . Pilihan Deployed URL berfungsi untuk memberi domain/url pada aplikasi.Memory Reservation berfungsi untuk memberikan alokasi memory yang digunakan aplikasi
Gambar 3.32 Launch Deployment Meruvian Cloud Team
224
Klik icon “Add Service (Database)” yang digunakan untuk menyeting database. Kemudian isi Service Configuration : Name : yamadatabases (Nama database pada aplikasi Yama) Type : MySQL database service (Type databases yang dibuat) Klik Finish. Kemudian Project akan otomatis deploy ke server.Keterangan jika menandakan project sedang proses running :
Gambar 3.34 Proses Deploy Keterangan console jika proses running project telah berhasil
Gambar 3.35 Console Akses di web browser yang sesuai url yang sudah disetting : http://yama.azure4j.us login sebagai admin dengan password admin.
Meruvian Cloud Team
225
Gambar 3.36 Yama Cek CRUD dengan Isi form dan save data
Meruvian Cloud Team
226
List data yang sudah disimpan
Gambar 3.367 Yama Crud
Meruvian Cloud Team
227
2. OpenShift Eclipse Plugin Untuk pendeployan Yama melalui Eclipse plugin , penulis menggunakan user yang berbeda dengan sample aplikasi tadi.Langkah pertama adalah membuat project Openshift melalu menu. File > New > Project > Openshift > Masukkan User dan Password yang telah dibuat
Gambar 3.37 OpenShift Eclipse Plugin Next >
Meruvian Cloud Team
228
Next > Setup OpenShift Application
Gambar 3.38 Setup Application OpeShift Name Nama project yang akan dibuat Type Tipe dari project. Jbossews-3.0 adalah tipe project dengan apache tomcat versi 6 sebagai containernya Gear Konfigurasi scalable dari project. Embeddable Catridges Menentukan catridge yang akan ditambahkan. Dalam hal ini mysql + phpmyadmin ditambahkan untuk mengimport database.
Meruvian Cloud Team
229
Next > Setup Project
Gambar 3.40 Setup Application OpeShift Konfigurasi pengimportan project yang telah ada untuk dideploy , dan juga pembuatan server adapter untuk mempermudah pendeployan.Kemudian Next >Import . Kemudian Import ke di direktori mana project akan diletakkan.
Gambar 3.41 Import Project Meruvian Cloud Team
230
Terdapat juga konfigurasi ssh-key untuk mengakses openshift.
Gambar 3.42 OpenShift ssh-key
Setelah itu klik OK.
Meruvian Cloud Team
231
Kemudian terdapat proses git clone dari repository OpenShift
Setelah proses git clone selesai , maka akan terimport dengan sendirinya project dari openshift yang sudah terbundle dengan container apache tomcat 6. Dalam hal ini project tersebut bernama “tomcat6”.
Meruvian Cloud Team
232
Gambar 3.43 OpenShift MySQL and PhpMyadmin Informasi catridge yang telah dibuat.
Meruvian Cloud Team
233
Untuk mendeploy project , sebelumnya perlu diimport project maven ke dalam workspace. File > Import .. > Existing Maven Project
Gambar 3.44 Maven Project Import Kemudian tentukan direktori maven project
Meruvian Cloud Team
234
Finish Seperti yang dijelaskan di atas bahwa dalam pembuatan project “tomcat6” juga telah terpasang mysql + phpmyadmin untuk mengimport database sehingga terdapat koneksi antara Yama dengan database. Untuk mengkoneksikan Yama dengan database , hal yang pertama kali perlu dilakukan adalah membuka port database (mysql) dengan fitur port forwarding. Klik kanan OpenShift Server (tomcat6 at OpenShift [Started])> Openshfit > Port Forwarding > Start All
Meruvian Cloud Team
235
Gambar 3.45 OpenShift Port Forwarding Biasanya terdapat error seperti berikut
Solusinya adalah dengan merestart eclipse , kemudian mengulangi lagi port forwarding. Untuk
mengakses
phpmyadmin
url
yang
digunakan
adalah
:
http://appname-namespace.rhcloud.com/phpmyadmin/ contoh http://tomcat6-openpaas.rhcloud.com/phpmyadmin/
Meruvian Cloud Team
236
Masukkan username dan password yang telah diberikan,dan buatlah database melalui phpmyadmin
Kemudian dalam project Yama , edit db.prpoperties
Kemudian simpan.
Meruvian Cloud Team
237
Sebelum project Yama dideploy , terlebih dulu mengedit pom.xml dari project Yama agar maven dapat terbaca oleh OpenShift. Tambahkan line berikut di bagian paling bawah sebelum dari pom.xml : <profiles> <profile> openshift container <artifactId>maven-war-plugin 2.3.1 webapps <warName>ROOT Kemudian simpan.
Meruvian Cloud Team
238
Untuk memulai mendeploy , seret project Yama ke OpenShift server yang ada di menu bagian bawah .
Gambar 3.46 OpenShift error saat deploy Jika saat proses terdapat error seperti berikut :
Solusinya adalah membuat direktori/folder baru bernama deployments di dalam project tomcat6 Meruvian Cloud Team
239
Klik kanan project tomcat 6 New > Folder > tomcat6
Kemudian finish dan seret sekali lagi. Jika proses selesai , maka akan terdapat file Yama3.2.war di folder deployments yang tadi dibuat . Kemudian copy/seret Yama3.2.war tadi ke dalam folder webapps , agar Yama3.2.war dapat dibaca dan dicompile oleh apache tomcat yang telah terinclude.
Meruvian Cloud Team
240
Setelah itu commit dan push project tomcat6 . Klik kanan project tomcat6 > Team > Commit
Meruvian Cloud Team
241
Berikan komentar kemudian Commit
Gambar 3.47 OpenShift Project Commit Setelah semua proses selesai akses dari web browser http://tomcat6-openpaas.rhcloud.com/Yama3.2/home
Meruvian Cloud Team
242
Gambar 3.32 akses Yama dari web browser
Meruvian Cloud Team
243
3. Jelastic Eclipse Plugin Jika pada bab di atas telah dijelaskan bagaimana langka-langkah deploy Yama ke PaaS Jelastic melalui web interface , kali ini aplikasi Yama akan dideploy melalui Jelastic Eclipse Plugin.Tentunya Jelastic Eclipse Plugin harus terlebih dulu terinstall,terkonfigurasi,dan tersinkronisasi dengan user jelastic dalam Eclipse. Langkah awal adalah membuat environment yang terdiri dari Tomcat 6 dan MySQL sebagai databasenya.
Gambar 3.48 Jelastic environment dengan Tomcat6 dan MySQL Pastikan juga bahwa mode view bar di bagian bawah Eclipse dapat menampilkan informasi user Jelastic.
Gambar 3.49 Jelastic Bar
Meruvian Cloud Team
244
Langkah berikutnya adalah membuat database dalam MySQL yang ada di Jelastic , akses alamat phpmyadmin yang telah dikirimkan oleh Jelastic ke email user.
Gambar 3.50 phpmyadmin Jelastic Kemudian buat database Yama.
Meruvian Cloud Team
245
Gambar 3.51 Membuat database Yama Setelah itu dump database Yama yang ada di lokal untuk di-import ke database yang ada di Jelastic
Gambar 3.52 import database Yama
Meruvian Cloud Team
246
Kemudian pastikan bahwa project Yama telah terimport ke workspace yang ada di Eclipse
Gambar 3.53 Project Yama (yama3) sudah terimport Untuk memulai mendeploy , klik kanan pada project Yama (yama3) , kemudian pilih Deploy project to Jelastic as ..
Gambar 3.54 Klik Deploy project to Jelastic as ..
Meruvian Cloud Team
247
Setelah itu akan ada tampilan untuk informasi deploy
Gambar 3.55 informasi Deploy project Isi Contex : dengan ROOT Pilih testing.jelastic.servint.net sebagai environment domainnya. Kemudian proses deploy akan berjalan
Gambar 3.56 Proses Deploy
Meruvian Cloud Team
248
Gambar 3.57 sukses Deploy Kemudian kembali ke web interface Jelastic dan edit konfigurasi database Yama,dan arahkan ke database yang ada di Jelastic yang telah di-import tadi.
Gambar 3.58 Konfigurasi Database
Meruvian Cloud Team
249
Kemudian restart Tomcat , dan akses domain yang sudah ditetapkan sesuai environment . http://testing.jelastic.servint.net/home
Gambar 3.59 Yama
Meruvian Cloud Team
250
4. Windows Azure Toolkit Dalam hal ini , disarankan Eclipse diinstall dalam Platform Windows (XP/Vista/7) dikarenakan plugin Windows Azure teruji baik dalam platform Windows sesuai dengan produknya. Sebelum user mempublish yama ke Windows Azure Cloud, ada beberapa hal yang perlu dipersiapkan, yaitu : •
Membuat Database Azure
•
Web Archive (War) file dari aplikasi yang akan user deploy
•
Membuat Azure Project
•
Membuat Hosted Service
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.
Gambar 3.60 Create a new database
Meruvian Cloud Team
251
Akan muncul pop up seperti di bawah ini :
Gambar 3.61 Create a new database Isikan nama database, pilih Edition dan Maximum Size sesuai dengan kebutuhan. Klik OK untuk menyutujui. Lalu Akan muncul list database yang telah user buat pada bagian bawah.Klik Firewall Rules
Gambar 3.62 Firewall Rules Klik tombol Add
Meruvian Cloud Team
252
Gambar 3.63 Add rule 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 .
Gambar 3.64 Subscriptions 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.
Meruvian Cloud Team
253
Gambar 3.65 db.properties 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]@[subcription];pass word=[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
Meruvian Cloud Team
254
Gambar 3.66 Export menjadi file war
Gambar 3.67 Project yang akan diexport
Meruvian Cloud Team
255
Isikan nama project yang akan user simpan.lalu klik Finish .Namun karena Yama menggunakan maven, user bisa mendapatkan file war dengan klik kanan pada project terpilih \ Run As \Maven Build
Gambar 3.68 Maven Builde Lalu isikan perintah clean verify pada textbox goals.Klik tombol Run Membuat Azure Project Untuk membuat Azure Project dengan eclipse, klik File\New\Windows Azure Deployment Project
Meruvian Cloud Team
256
Gambar 3.69 Membuat Azure Project Isikan nama Project , klik Next .
Meruvian Cloud Team
257
Keterangan : Centang checkbox include JDK from this location dan pilih lokasi {Java_Home} pada komputer .Centang juga checkbox include server from this location.Pada combo box select pilih server yang ada pada komputer, 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.
Meruvian Cloud Team
258
Membuat Hosted Service Selanjutnya user perlu membuat hosted service sebagai tempat beroprasinya aplikasi Yama yang user install di Azure.Untuk membuat hosted service login terlebih ke Azure dashboard melalu http://windows.azure.com .
Gambar 3.70 Azure Dashboard 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 .
Meruvian Cloud Team
259
Gambar 3.71 Create a New Hosted Service Yang perlu di perhatikan adalah pada textbox URL Prefix for your service.Isikan textbox tersebut sesuai dengan nama calon subdomain user dengan domain utama cloudapp.net Jadi secara default domain akan auto-generate otomatis menjadi [namaprefixservice]. cloudapp.netPada 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 .
Meruvian Cloud Team
260
Setelah proses berjalan dengan sukses, user dapat mengakses aplikasi yang telah user deploy dengan format url : http://[url prefix].cloudapp.net/[nama contextpath aplikasi] Dalam hal ini domain Yama adalah http://yama7.cloudapp.net/yama
Gambar 3.73 Yama
Meruvian Cloud Team
261
Lampiran 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
Meruvian Cloud Team
262
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
Meruvian Cloud Team
263
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)
Meruvian Cloud Team
264
Hubungi Kami
Meruvian Cloud Team
265