Java Developer’s Center
Platform ini saat ini mendukung multibahasa, awalnya diciptakan sebagai Java Cloud murni dan masih mempertahankan fokus utama pada bahasa pemrograman ini. Kematangan teknologi platform ini diakui oleh komunitas Java dengan Duke’s Choice Award sudah dua kali (pada 2012 dan 2018). Panduan ini mengenalkan Anda pada fitur-fitur khas hosting Java dalam platform dan memungkinkan Anda memulai dengan daftar fungsi yang luas.
Gunakan daftar isi di bawah ini untuk menemukan informasi yang diperlukan dalam panduan lebih cepat:
- Java Versions
- Java Application Servers
- Java Environment Creation
- Java Application Deployment
- Domains Management
- Automatic Vertical Scaling
- Horizontal Scaling: Manual and Automatic
- Java Clusterization
- Database Connection to Java Application
Java Versions
Saat ini (pada saat penulisan ini), versi dan distribusi Java berikut tersedia:
- AdoptOpenJDK : 8.0.312; 11.0.13; 13.0.2; 14.0.2; 15.0.2; 16.0.2
- Alibaba Dragonwell : 8.11.12
- Amazon Corretto : 8.422.05.1; 11.0.24.8.1; 15.0.2.7.1; 16.0.2.7.1; 17.0.12.7.1; 18.0.2.9.1; 19.0.2.7.1; 20.0.2.10.1; 21.0.4.7.1
- Eclipse OpenJ9 : 0.11.0 (8u192-b12; 11.0.1); 0.15.1 (8u222-b10; 11.0.4); 0.17.0 (8u232-b09; 11.0.5; 13.0.1); 0.18.1(8u242-b08; 11.0.6; 13.0.2) 0.20.0 (8u252-b09; 11.0.7); 0.21.0 (8u262-b10; 8u265-b01; 11.0.8; 14.0.2); 0.22.0 (15.0.0); 0.23.0 (8u272-b10; 11.0.9); 0.24.0 (8u282-b08; 11.0.10); 0.25.0-16; 0.26.0 (8u292-b10; 11.0.11); 0.27.0 (8u302-b08; 11.0.12); 0.29.0 (8u312-b07; 11.0.13); 0.30.0 (8u322-b06; 11.0.14); 0.32.0 (8u332-b09; 11.0.15); 0.33.1 (8u345-b01; 11.0.16); 0.35.0 (8u352-b08; 11.0.17); 0.36.1 (8u362-b09; 11.0.18); 0.38.0 (8u372-b07; 11.0.19); 0.41.0 (8u392-b08; 11.0.21); 0.43.0 (8u402-b06; 11.0.22)
- Eclipse Temurin : 8.0.422; 11.0.24; 17.0.12; 18.0.2.1; 19.0.2; 20.0.2; 21.0.2
- GraalVM CE (saat ini, untuk Java Engine dan Maven saja): 19.3.1; 20.2.0; 21.3.0; 22.3.3
- Liberica JDK : 8.0.322; 11.0.14; 13.0.2; 14.0.2; 15.0.0; 16.0.0; 17.0.2
- Oracle JDK Dev : 7.0_79; 8.0_202; 11.0.2
- Oracle OpenJDK : 7.0.261; 8.0.412; 11.0.24; 13.0.2; 14.0.2; 15.0.2; 16.0.2; 17.0.2; 18.0.2.1; 19.0.2; 20.0.2; 21.0.2; 22.0.2; 23.ea-b31
- Zulu Community : 7.0.352; 8.0.422; 11.0.24; 13.0.9; 14.0.2; 15.0.10; 16.0.2; 17.0.12; 18.0.2.1; 19.0.2; 20.0.2; 21.0.4; 22.0.2
Versi 6th , 9th , 10th , dan 12th Java tidak dapat dibuat dalam lingkungan baru lagi karena akhir masa pakai dari rilis terkait. Namun, instance yang sudah ada tetap berfungsi penuh (termasuk re-deploy, cloning, dan horizontal scaling).
Daftar terbaru dari rilis yang tersedia di platform disediakan melalui dokumen Software Stack Versions yang didedikasikan dan diperbarui secara berkala (mingguan).
Anda dapat memilih versi preferensi saat membuat environment, atau mengubahnya nanti. Prosedur ini dijelaskan dalam dokumen Java Versions.
Java Application Servers
Di dalam beragam software stack, platform ini mendukung Java Engine murni dan server aplikasi Java berikut:
Baca dokumentasi di bawah untuk informasi tambahan tentang spesifikasi server Java dalam platform:
Java Environment Creation
Untuk meng-host aplikasi Java, Anda perlu membuat environment yang sesuai. Cukup buka topology wizard di dashboard PaaS Anda, navigasikan ke tab bahasa Java, pilih server aplikasi Java yang diinginkan, database, dan stack lainnya. Jika diperlukan, sesuaikan pengaturan (seperti cloudlets, ruang disk, wilayah, dll.) dan klik Create.
Semua server yang ditambahkan mewakili container terisolasi sepenuhnya, yang terletak pada host yang berbeda untuk lebih banyak ketersediaan, sementara isolasi menghilangkan risiko interferensi satu sama lain. Anda dapat melampirkan alamat public IP ke salah satu server ini untuk diakses langsung. Jika tidak (mis. jika menggunakan pengaturan default), permintaan masuk yang dikirimkan kepada aplikasi Anda akan diproksikan oleh Shared Load Balancer.
Java Application Deployment
Setelah pembuatan environment, Anda dapat mendepoy aplikasi Java Anda. Platform ini sepenuhnya mengotomatisasi proses deployment, memungkinkan Anda untuk membuat proyek berjalan dengan mudah.
Metode deployment berikut didukung:
- melalui archive aplikasi - .war , .zip , .jar , dan .ear archives
- dari repository GIT/SVN jarak jauh, menggunakan node build Maven
Anda dapat membaca dokumen yang sesuai untuk mempelajari lebih lanjut tentang deployment aplikasi Java:
Terdapat juga instruksi terpisah untuk mengelola proyek Anda melalui Gitblit dan WebDAV.
Domains Management
Anda dapat mengikat nama custom domain ke URL aplikasi Anda dan menggunakannya sebagai pengganti domain environment default:
- CNAME redirect jika menggunakan Shared Load Balancer ; direkomendasikan untuk environment dev dan test
- DNS A Record jika menggunakan public IP ; dapat menangani beban lalu lintas tinggi dan cocok untuk environment production
Juga, dengan bantuan fitur swapping domains atau metode SwapExtIps API/CLI, Anda dapat meng-upgrade dan memodifikasi aplikasi Anda tanpa downtime (yaitu pengguna Anda tidak akan melihat adanya gangguan).
Platform ini memungkinkan penggunaan multiple domain dalam satu environment untuk meningkatkan kegunaannya, efisiensi, dan skalabilitas, sementara secara bersamaan menghemat biaya Anda dengan menghindari kebutuhan untuk mengatur instance terpisah untuk aplikasi yang berbeda. Lihat contoh yang sesuai di bawah:M ulitiple Domains dengan Public IPMultiple Domains untuk TomcatMultiple Domains untuk GlassFish
Automatic Vertical Scaling
Platform ini secara dinamis menyediakan sejumlah cloudlet (sebagai sumber daya RAM dan CPU), yang dibutuhkan oleh aplikasi Anda untuk menangani beban saat ini. Cukup tentukan batas maksimum, dan semuanya akan dilakukan oleh platform secara otomatis - tidak diperlukan intervensi manual. Fitur ini disebut automatic vertical scaling dan memastikan bahwa Anda tidak pernah membayar lebih untuk kapasitas yang tidak digunakan tanpa mengalami kekurangan sumber daya.
Untuk mengatur atau mengubah batas penskalaan vertikal, cukup gunakan slider yang sesuai dalam topology wizard:
Horizontal Scaling: Manual and Automatic
Jika aplikasi Anda menjadi sangat populer dan satu node tidak cukup, jangan ragu untuk meng-skala secara horizontal. Untuk memastikan keandalan dan ketersediaan tinggi, semua node yang baru ditambahkan dibuat pada node perangkat keras yang berbeda.
Klik tombol +/- dalam bagian Horizontal Scaling pada topology wizard untuk mengatur jumlah node yang diperlukan (load balancer akan ditambahkan secara otomatis).
Anda juga dapat menyesuaikan mode penskalaan yang diinginkan:
- Stateless - secara simultan membuat semua node baru dari template gambar dasar
- Stateful - secara berurutan menyalin sistem file dari container master ke dalam node baru
Penskalaan horizontal dapat dilakukan tidak hanya secara manual namun juga secara otomatis berdasarkan beban saat ini pada node, yang dipantau melalui pemicu yang dapat disesuaikan.
Dalam bagian Settings > Monitoring > Auto Horizontal Scaling, Anda dapat menyesuaikan kondisi penskalaan sesuai kebutuhan Anda, yaitu batas bawah/atas (persentase) untuk tipe sumber daya yang ditentukan selama periode tertentu. Jika beban tetap di luar batas yang ditetapkan, proses penghapusan/penambahan node akan dipanggil secara otomatis.
Ada lima tipe sumber daya yang berbeda, yang dipantau oleh pemicu:
- CPU
- Memori (RAM)
- Jaringan
- Disk I/O
- Disk IOPS
Pemicu mulai memantau konsumsi sumber daya segera setelah penambahan, dan ketika tingkat penggunaan melebihi batas yang dinyatakan, pemicu diaktifkan. Kemudian, jika beban berlanjut untuk periode yang ditentukan, itu akan dieksekusi, menyesuaikan jumlah node.
Java Clusterization
Fitur clustering server aplikasi tersemat menyediakan replikasi sesi antar pasangan node dan menghilangkan kebutuhan untuk perangkat lunak tambahan atau penggunaan Memcached untuk meningkatkan ketersediaan aplikasi.
Platform ini menyediakan replikasi sesi otomatis antara server Tomcat dan TomEE dengan bantuan multicast untuk mendapatkan ketersediaan tinggi aplikasi web dalam cluster Java. Fitur High-Availability ini dapat diaktifkan di wizard selama pembuatan environment atau penyesuaian topologi.
Solusi Auto-Clustering modern yang lebih baru disediakan untuk stack GlassFish , Payara , dan WildFly:
Database Connection to Java Application
Sekelompok server database yang dapat diskalakan dan dikelola sepenuhnya dapat dengan mudah diinstal dalam lingkungan Java. Untuk membangun koneksi, sesuaikan aplikasi Anda mengikuti instruksi berdasarkan database yang Anda butuhkan:
Platform ini menyediakan hosting Java berkualitas tinggi dengan peningkatan ketersediaan, redundansi, dan kekuatan skalabilitas untuk aplikasi Anda.