Tampilkan postingan dengan label heroku. Tampilkan semua postingan
Tampilkan postingan dengan label heroku. Tampilkan semua postingan

Rabu, 18 September 2013

Aplikasi Database MySQL dengan Heroku dan CloudBees


Pada artikel sebelumnya tentang hosting PHP gratisan menggunakan layanan heroku.com saya telah mencoba membahas tentang apa itu heroku dan bagaimana melakukan administrasi sederhana seperti cara mendeploy app dan menggunakan git untuk melakukan manajemen file. Karena memang hanya untuk perkenalan maka disitu tidak dibahas bagaimana cara membuat aplikasi yang menggunakan database. Sebenarnya di heroku terdapat addon untuk bermacam hal, termasuk untuk mendapatkan database MySQL secara gratis, hanya saja sebelum bisa benar-benar menggunakannya kita harus terlebih dahulu memvalidasi pembayaran (biasanya dengan kartu kredit). Karena itu, masih dengan semangat "cari yang gratis", kita cari cloud database lain yang bisa kita gunakan untuk menyimpan data dari aplikasi PHP yang kita buat di heroku.

Kandidat


Pencarian awal di google saya menemukan beberapa kandidat yang akan kita bahas satu persatu. Kita tidak akan terlalu teknis membahas fasilitas, kemampuan dan fitur dari masing-masing cloud database yang saya sebutkan karena satu hal yang paling mendasar sebenarnya adalah: GRATIS.


  1. Xeround.com. Saya dulu sempat menggunakan layanan disini, pendaftaran mudah, gratis dan disediakan halaman phpMyAdmin, sempurna. Tapi ternyata entah kenapa layanan nya ditutup pada bulan Mei 2013. Karena tidak dapat digunakan lagi maka kita coret kandidat ini.
  2. AWS Amazon. Cukup menjanjikan sebenarnya sebelum saya menyadari bahwa saat pendaftaran terdapat step untuk melakukan validasi pembayaran menggunakan kartu kredit. Kandidat ini juga kita coret.
  3. ClearDB. Lebih menjanjikan dibandingkan dengan AWS Amazon namun dia hanya bisa digunakan untuk aplikasi yang berjalan di appfog dan heroku. Pas sebenarnya, tapi di heroku dia menjadi addon yang kalau ingin menggunakan harus validasi pembayaran juga. Kita coret juga kandidat ini.
  4. Google Cloud. Dilengkapi dengan database MySQL dan berasal dari Google harusnya kandidat ini meyakinkan, tapi sayang, harus validasi pembayaran juga meskipun kita ingin mencoba yang gratis. Jadi terpaksa kandidat ini kita coret.
  5. CloudBees. Tidak begitu terkenal dibanding kandidat sebelumnya tapi ternyata lumayan menjanjikan. Pendaftaran mudah tanpa menggunakan kartu kredit, dan dapat menggunakan akun Google kita untuk mendaftar. Dengan kapasitas 5 MB cloud database ini layak digunakan untuk coba-coba. Hanya saja saya belum menemukan halaman phpMyAdmin disitu :), karena untuk administrasi databasenya oleh cloudbees kita dianjurkan menggunakan SQLyog.


Membuat dan Mengatur Database di CloudBees


Setelah terdaftar, Anda akan diberi pilihan untuk melanggan layanan yang ada tergantung kebutuhan Anda. Klik layanan database di bagian atas dan subscribe. Setelah itu buat Database baru, beri nama database nya, username, password dan klik Finish. Setelah dibuat klik database tersebut dan akan muncul halaman untuk manajemen database seperti gambar berikut:





Beberapa parameter akan kita gunakan untuk melakukan koneksi ke database di cloudbees seperti Server, Port, Username dan Password.
Dengan parameter ini kita sudah bisa bernafas lega karena mendapatkan database gratis yang bisa kita gunakan untuk menyimpan data aplikasi yang kita buat. Namun mungkin muncul masalah baru, bagaimana mengatur database yang sudah ada, bagaimana membuat tabel, melihat data pada tabel, drop tabel dan sebagainya. Jika Anda mengikuti anjuran dari cloudbees, Anda dapat menggunakan SQLyog, tapi saya lebih nyaman dengan tampilan berbasis web jadi saya gunakan DBNinja seperti ini.



Mengkoneksikan App di Heroku ke Database di CloudBees


Anggap kita sudah mempunyai app di heroku. Untuk menguji apakah applikasi di heroku dapat terkoneksi ke cloudbees kita buat script sederhana seperti ini:


<?php

/**
 * DATABASE CONNECTION
 */

$host = 'ec2-23-21-211-172.compute-1.amazonaws.com:3306';
$user = 'username';
$pass = 'password';
$dbnm = 'database';

$link = mysql_connect($host, $user, $pass);
if ( ! $link) {
    die('Could not connect: ' . mysql_error());
}

$db_selected = mysql_select_db($dbnm, $link);
if ( ! $db_selected) {
    die ('Can\'t use ' . $dbnm . ' : ' . mysql_error());
}

Simpan dengan nama file dbconfig.php misalnya. Lakukan upload file ini ke heroku dengan git push dan coba akses halaman: namaapp.heroku.com/dbconfig.php. Jika tidak muncul error apapun maka Anda telah berhasil mengkoneksikan aplikasi di heroku Anda dengan cloud database di cloudbees. Terima kasih dan Happy coding :D

Sumber:

  1. http://www.comtechies.com/2013/03/how-to-create-and-connect-cloudbees.html 
  2. http://www.sitepoint.com/database-as-a-service-mysql-in-the-cloud/


Rabu, 22 Agustus 2012

Hosting PHP Gratisan Dengan Heroku


Apa itu heroku?


Heroku adalah web hosting berbasis Cloud yang biasanya digunakan untuk mengembangkan web app menggunakan beragam bahasa pemrograman termasuk PHP. Aku tahu heroku saat akan membuat aplikasi facebook, disitu terdapat penawaran untuk menggunakan jasa heroku bagi app yang akan kita buat. Awalnya aku bingung, ini gimana cara kerjanya ya?. Ehm, pada dasarnya menggunakan layanan heroku tidaklah sulit bahkan dapat dikatakan gampang, namun bagi orang yang baru kenal menggunakan layanan heroku akan terasa membingungkan. Pada post ini akan membahas dari awal bagaimana mendeploy app PHP di heroku dan melakukan manajemen file yang ada didalamnya.

Mulai Menggunakan Heroku (Windows)


Aku asumsikan kamu sudah terdaftar di heroku, jika belum silakan daftar disini: https://api.heroku.com/signup. Setelah itu kamu perlu mendownload heroku-toolbelt di https://toolbelt.heroku.com/. Setelah heroku-toolbelt diinstal seharusnya akan ada menu baru di Context Menu (menu yang muncul saat kamu klik kanan Explorer atau Desktop) yaitu "Git Init Here", "Git Gui" dan "Git Bash". Anggap saja kamu punya sebuah aplikasi PHP di folder manapun (biasanya di htdocs). Klik kanan di jendela Explorer lalu pilih menu "Git Bash".



Akan muncul kotak console. Lalu ketikkan perintah berikut:

$ heroku login

tanda $ akan muncul sendirinya jadi kamu cukup mengetik "heroku login" saja. Setelah itu masukkan email dan password untuk login di heroku (sama saat kamu login di halaman webnya heroku). Tampilan yang muncul kira-kira seperti ini (jika kamu login pertama kali mungkin beda sedikit tapi yang penting sukses autentifikasi).



Deploy App dan Menggunakan Git


Selanjutnya kita akan membuat subdomain di heroku, sekaligus tempat bagi aplikasi yang akan kita buat. Caranya adalah dengan mengetikkan perintah:

$ heroku create nama_app --stack cedar

"nama_app" bisa kamu ganti apapun, jika kamu tidak menentukannya maka heroku akan mengenerate otomatis untukmu. saat berhasil dibuat maka akan muncul keterangan alamat URL dari sub domain kita dan alamat dari git repository. Konsep dasarnya adalah: ada dua git yang kita gunakan, satu git yang ada di komputer lokal kita dan git remote yang ada di server heroku. Git ini akan mencatat perubahan susunan file, apa yang diedit, dihapus atau ditambah, sehingga file yang ada dikomputer kita akan selalu sama dengan yang diserver. Pencatatan seperti ini sangat berguna jika kita bekerja membuat project bekerja sama dengan orang lain.

Misalkan aku membuat project bersama programmer A, aku bisa mencopy (download) semua file yang ada diserver dengan perintah git clone. Lalu saat aku mengedit di komputer lokal dan mengupload ke server aku selalu memberi semacam "tanda" perubahan apa saja yang aku lakukan dengan perintah git commit. Programmer A pasti tidak akan kebingungan saat melihat ada perubahan karena dia bisa melihat apa saja yang aku lakukan pada project tersebut berdasarkan commit yang aku buat.

Sekarang aku sudah punya git di server heroku yaitu "git@heroku.com:nama_app.git" dan git ini masih kosong (iya lah, kan masih baru dibuat). Terus ada beberapa file PHP yang akan aku upload ke server dan sudah aku letakkan di folder htdocs, maka untuk itu aku harus membuat juga git di komputerku dengan perintah:

$ git init

kamu akan melihat ada folder .git tersembunyi di dalam folder htdocs. Setelah itu kita update git lokal kita dengan perintah:

$ git add .

ini akan menambahkan semua file disitu. kalau ingin menambah satu file maka perintahnya: $ git add namafile.ext. Saat kamu selesai mengedit suatu file maka kamu harus memanggil perintah git add agar git di lokal tahu bahwa file kita berubah. Setelah di add selanjutnya kita memerintahkan agar git mencatat semua perubahan yang kita buat dengan perintah:

$ git commit -am "keterangan perubahan"



oh iya, untuk menghapus kita gunakan git rm. Setelah perintah "git commit" digunakan berarti git lokal kita sudah terupdate, sekarang waktunya meng-uptodate git di server heroku. Kita beritahu dulu git remotenya ada dimana dengan perintah:

$ git remote add heroku git@heroku.com:nama_app.git

setelah itu saatnya mengupload dengan perintah:

$ git push heroku master



Catatan: setelah ini kamu bisa membuang kata-kata "master" dan ada satu hal lagi yaitu pastikan bahwa ada satu file "index.php" di folder kerjamu.

$ git push heroku

Seperti itulah, mudah kan?. Jadi kalau mengedit atau menambah file tinggal di git add, menghapus file tinggal di git rm, atau kalau males tinggal git add . lalu terakhir di git commit agar git kita terupdate. Setelah semua oke baru digunakan git push untuk menyimpan file kita ke server sekaligus menyamakan git lokal dengan git server. Demikianlah posting kali ini, semoga bermanfaat, dan Happy Coding.

Jika tertarik melihat hasil ujicobaku di heroku berdasarkan kode di http://nazoftware.blogspot.com/2012/08/belajar-yql.html (dengan sedikit modifikasi), bisa dilihat disini: http://nazoftware.heroku.com