Serta Integrasi dengan MySQL
Pendahulan — Apa itu Back4App?
Back4App merupakan suatu layanan yang mempercepat dalam pengembangan BackEnd. Back4App menyediakan dua layanan saat ini yaitu Backend as a Service dan Container as a Service.
Kita tidak akan membahas bagian Backend as a Service. Layanan tersebut cukup simpel dan kita hanya perlu mengelola sedikit dan sangat cocok jika memiliki aplikasi yang tidak kompleks. Namun, jika kamu memiliki proses bisnis yang tidak hanya CRUD (Create, Read, Update, dan Delete), kamu bisa mencoba bagian cloud functions-nya.
Container as a Service
Layanan ini cukup baru dari Back4App. Saya sempat mencobanya sebelum mereka merilis beta public-nya. Layanan ini juga cukup simpel seperti saingannya yang sekarang tidak lagi gratis yaitu Heroku. Kamu hanya cukup mempersiapkan Dockerfile. Lalu, Back4App akan mempersiapkan container-nya berdasarakan Dockerfile tersebut. Saya sarankan untuk baca dokumentasinya untuk belajar lebih detail mengenai layanan ini. Sayangnya, saat ini masih terbatas integrasinya. Hanya bisa dari GitHub.
Pengetahuan yang Dibutuhkan
Kamu perlu paham hal-hal ini dahulu:
- Docker
- GitHub
- Linux
- Bash
- curl
Contoh Proyek
Saya punya contoh proyek yang akan saya deploy ke Back4App. Proyek ini dibangun dengan Express dan memiliki koneksi ke basis data MySQL. Supaya lebih simpel, saya menggunakan Sequelize untuk koneksi ke basis datanya. Kamu bisa eksplorasi proyeknya di sini.
GitHub - bervProject/node-back4app-example
Persiapkan Dulu MySQL-nya
Kalau kamu hanya butuh untuk testing, kamu bisa coba beberapa layanan free MySQL server. Kalau saya coba pakai ini.
db4free.net - MySQL Database for free
Namun, saya tidak sarankan untuk menggunakan server tersebut untuk data sensitif maupun sifatnya sebagai production.
Alternatif lainnya:
Namun, jika memungkinkan, saya tetap menyarankan untuk menggunakan layanan berbayar dan terpercaya, terutama untuk production.
Catatan:
Saya tidak melakukan endorsement kepada layanan tersebut. Mohon perhatikan lagi syarat dan ketentuan layanan tersebut. Jika terjadi apa-apa mengenai data yang tersimpan, saya tidak bertanggung jawab. Gunakan layanan tersebut dengan bijak.
Konfigurasi dan Membuat Container di Back4App
- Pastikan kamu sudah mendaftar di Back4App.
- Lalu navigasi ke My Apps.
- Klik Build new app.
- Pilih Container as a Service.
- Pastikan kamu mengikuti instruksi untuk integrasi dengan GitHub.
- Setelah berhasil di-integrasi-kan, kamu bisa mencari repositorinya dan klik Select.
- Masukan nama service/aplikasi-nya.
- Pada bagian port , kamu bisa sesuaikan.
- Pastikan konfigurasi Environment Variables untuk CONNECTION_STRING sudah benar. Formatnya adalah mysql://:@:/. Contoh: mysql://devtest:devtestpassword@mysqllocation.com:3306/noteapp.
- Bagian Health Check sebisa mungkin URL yang dapat segera diakses setelah aplikasi berjalan. Kebetulan, proyek yang saya siapkan punya path / dan hanya mengeluarkan respon dengan status 200 dan Hello world.
- Setelah selesai, kamu bisa klik Create App. Kamu bisa menunggu hingga container selesai ter-deploy.
- Jika berhasil, kamu dapat melihat log ini.
- Kamu bisa mengakses aplikasinya dengan klik atau ketik URL yang ada di sini.
- Ini contoh aplikasi yang sudah berjalan.
- Kamu bisa coba untuk buat Note menggunakan curl.
curl -X POST -H "Content-Type: application/json" -v --data '{"content": "my content", "title": "my title"}' -v <back4app url>/notes
- Mari kita cek hasilnya.
Simpulan
Mudah kan? Kamu cukup konfigurasi:
- Port
- Environment Variables
Sisanya kita hanya menggunakan pengaturan default. Namun, jika kamu punya kasus lain, kamu masih bisa konfigurasi beberapa hal seperti:
- Branch
- Path Dockerfile
- Path Health Check
- Domain
- Mematikan Automatic Deployment
Sayangnya Back4App hanya menyediakan integrasi dengan GitHub. Akan lebih baik lagi jika bisa terintegrasi dengan git secara umum.
Terima Kasih
Terima kasih sudah membaca. Semoga harimu menyenangkan!