Dewacloud: Hosting Terbaik untuk Pemrograman GoLang

Dewacloud: Hosting Terbaik untuk Pemrograman GoLang

Selain bahasa pemrograman Java, PHP, Ruby, .NET, Node.js, dan Python, terdapat juga bahasa Go atau disebut GoLang. Dewacloud PaaS merupakan hosting terbaik yang mampu mendukung semua bahasa pemrograman di atas. Lantas apa saja yang bisa kamu lakukan dengan bahasa Go ini? Simak penjelasan berikut.

Pengertian GoLang

Bahasa Go (GoLang) adalah suatu bahasa pemrograman milik Google yang dipublikasikan secara umum sehingga bebas digunakan, diperbaiki, dimodifikasi, atau disebarkan dengan gratis (open source).

GoLang dibuat Google pada tahun 2009 oleh Robert Griesemer, Rob Pike, dan Ken Thompson. Awalnya, GoLang hanya digunakan untuk sistem produksi Google, project open source, dan beberapa perusahaan yang memerlukannya saja.

Robert dkk. membuat GoLang dengan tujuan membuat bahasa pemrograman yang yang mudah dipelajari, memiliki skalabilitas tinggi untuk sistem yang lumayan besar namun tidak memerlukan environment tertentu, multiprocessing, serta mudah diakses di sistem lainnya.

Baca juga: Hosting Terbaik untuk Aplikasi & Environment Golang di Dewacloud

Kelebihan GoLang

Beberapa kelebihan bahasa Go (GoLang) dibandingkan bahasa pemrograman lainnya adalah:

  1. Bersifat open source
  2. Aman dan proses kompilasinya cepat
  3. Support dynamic language
  4. Dapat digunakan untuk cloud programming (Go Cloud) dan membuat program shared memory multiprocessor
  5. Cepat dan produktif
  6. Continuous integration dan continuous deployment
  7. Mendukung beberapa layanan provider cloud seperti (Amazon Web Service, Azure, Digital Ocean, Heroku, IBM Bluemix serta OpenStack)

Baca juga: Fleksibilitas Dewacloud PaaS untuk Hosting Aplikasi Java

Fitur-Fitur GoLang di Dewacloud PaaS

Adapun beberapa fitur yang dapat kamu manfaatkan dari bahasa Go ini dalam hosting Dewacloud, di antaranya:

1. Go Environment Hosting

Untuk meng-host aplikasi Go milik kamu di Dewacloud, kamu perlu membuat environment baru terlebih dulu menggunakan topology wizard. Langkah-langkahnya:

  • Klik tanda +New Environment di pojok kiri atas dashboard Dewacloud.
  • Selanjutnya pilih tab Go.
  • Tambahkan GoLang sebagai server aplikasi kamu dan software stack yang diperlukan untuk project aplikasi tersebut, seperti load balancers, database, atau shared storage.
  • Atur jumlah nodes environment, limit cloudlet untuk RAM dan CPU, menghubungkan public IP, dan sebagainya.
  • Klik Create untuk membuat environment baru.

buat environment golang

Catatan : Semua instance yang ada pada Dewacloud adalah isolated container yang nantinya akan dibagikan secara merata ke seluruh hardware nodes yang tersedia (e.g. server fisik atau VM) menggunakan anti-affinity. Hal ini akan menghilangkan risiko downtime pada aplikasi kamu. 

2. Versi Golang di Dewacloud

Ada beberapa versi Golang yang didukung oleh Dewacloud, diantaranya adalah:

  • 1.17.2
  • 1.17.1
  • 1.17
  • 1.16.9
  • 1.16.8
  • 1.16.7
  • 1.15.15
  • 1.15.14
  • 1.15.13
  • 1.14.15
  • 1.14.13
  • 1.14.12

Kamu juga bisa melihat versinya ketika membuat environment baru seperti gambar berikut.

versi golang Dewacloud

Apabila sebelumnya kamu sudah memilih versi ketika pembuatan environment, maka kamu masih bisa menggantinya ketika melakukan container redeploy. Dengan begitu, semua data terkait node akan disimpan, misalnya seperti memungkinkan untuk upgrade software ketika rilis new stack template.

3. Go Application Deployment

Setelah environment baru sudah terbuat, kamu bisa mulai melakukan deploy project aplikasi Golang dari repositori Git kamu.

Hal ini memungkinkan kamu untuk menyesuaikan proses deployment dengan menyediakan container variables berikut ini.

    • GO_RUN: untuk menetapkan nama file biner. Apabila kamu tidak membuat variables tersebut, maka deployment script akan mencarinya berdasarkan nama project Git nya.
    • GOPATH: untuk mendefinisikan folder deployment seperti  /home/dewacloud/webapp.
    • GO_BUILD_OPTIONS: menyediakan opsi tambahan untuk build operation (secara default biasanya untuk melakukan rebuilding packages yang sudah lama atau mutakhir)
    • GO_RUN_OPTIONS: menyediakan opsi untuk menjalankan operasi.

deploy aplikasi golang

Ketika melakukan deployment pada Dewacloud PaaS, maka secara otomatis akan terjadi langkah seperti berikut.

  • Mem-parsing URL Git yang sudah dimasukan untuk mendapatkan link ke project Go tersebut.
  • Mengunduh package dengan semua dependensinya menggunakan go get command. Apabila terjadi error, maka lakukan pengunduhan seperti untuk project Git dan coba lagi untuk mendapatkan Go dependencies.
  • Builds project menggunakan command go build (menggunakan opsi tambahan seperti pada variabel GO_BUILD_OPTIONS).
  • Menjalankan biner yang sudah ditentukan oleh variable GO_RUN dengan perintah go run (menggunakan opsi tambahan yang ditentukan pada variable GO_RUN_OPTIONS).

Setelah deployment berhasil dilakukan, project Go tersebut terletak pada direktori yang sudah di set pada variable GOPATH. 

4. Domains Management

Dengan Dewacloud PaaS, kamu dapat dengan mudah melakukan bind custom domain ke aplikasi Go tersebut. Yang nantinya digunakan sebagai pengganti default  environment domain. Ada dua opsi yang bisa dipilih.

  • CNAME Redirect – apabila kamu menggunakan Shared Load Balancer, ini direkomendasikan untuk environment developer dan test.
  • DNS A Record – apabila kamu menggunakan IP Publik, hal ini dapat menghandle trafik yang tinggi dan cocok untuk environment production.

domains management

Selain itu, kamu juga bisa melakukan swap domains yang bertujuan untuk mengalihkan satu environment ke environment lainnya. Misalnya untuk beralih ke versi aplikasi yang lebih baru.

Catatan: apabila kamu menggunakan IP Publik, trafik dapat dialihkan ke environment lain dengan bantuan metode API SwapExtIps.

5. Automatic Vertical Scaling

Automatic Vertical Scaling secara dinamis dapat diatur untuk menyediakan resource seperti RAM dan CPU untuk server dalam batas yang sudah ditentukan, sesuai dengan demands-nya saat ini tanpa perlu melakukan intervensi manual.

Dengan fitur ini, kamu tidak akan lagi membayar biaya lebih untuk resource yang tidak digunakan. Selain itu akan lebih menghemat waktu karena tidak ada lagi kebutuhan untuk penyesuaian terkait beban (load) atau perubahan arsitektur.

automatic vertical scaling

Proses scaling dilakukan oleh platform secara otomatis, kamu hanya perlu menentukan limit cloudlet minimum dan maksimum (masing-masing 128 MiB RAM dan 400 MHz CPU) untuk server Go kamu.

Oleh karena itu, aplikasi kamu mengurangi konsumsi resource ketika ketika beban turun, dan meningkatkannya ketika beban atau load-nya naik.  Dengan demikian, kamu hanya perlu membayar untuk resource yang dikonsumsi saja.

6. Manual Horizontal Scaling

Kamu dapat dengan mudah menambahkan Golang server tambahan topology wizard ketika membuat environment baru atau mengelola environment yang telah ada. Kamu hanya perlu mengklik tombol + seperti gambar di bawah, dan tentukan jumlah resource yang diperlukan.

manual horizontal scaling

Di Dewacloud, kamu dapat menggunakan Tapi biasanya batasnya yaitu 16 node, dan dapat diperbesar lagi dengan meminta request khusus pada team support.

Selain itu, kamu juga bisa melihat pada Golang Server Scaling, bahwa node load balancing-nya secara otomatis ditambahkan pada environment topology.

7. Automatic Horizontal Scaling

Automatic horizontal scaling dapat diimplementasikan menggunakan trigger yang dapat diatur, nantinya memungkinkan untuk menambah atau mengurangi jumlah node karena load aplikasi. Adapun cara mengatur automatic scaling sebagai berikut:

  • Pilih environment-nya terlebih dulu.
  • Selanjutnya klik Settings.
  • Pilih Auto Horizontal Scaling.
  • Klik tombol Add.
  • Lakukan konfigurasi triggers untuk stacks dan resource seperti CPU, RAM, Network, dan disk sesuai dengan kondisi scaling.

automatic horizontal scaling

Baca juga: Dewacloud PaaS: Cloud Platform Terbaik untuk Ruby

Kesimpulan

Itu merupakan beberapa hal yang bisa dilakukan terkait bahasa pemrograman GoLang menggunakan hosting Dewacloud. Tidak hanya itu, masih banyak fitur lagi seperti Custom SSL, Public IPv4 atau IPv6  dan lainnya. Untuk merasakan semua fitur tersebut dan bisa bermanfaat bagi project aplikasi GoLang kamu, segera bergabung bersama Dewacloud PaaS.

Semoga artikel ini bermanfaat, ya. Kamu juga bisa membaca kumpulan artikel informatif lainnya di blog Dewaweb. Jika tertarik, kamu juga dapat mengikuti program afiliasi dari Dewaweb ataupun webinar gratis dari Dewatalks yang pastinya bermanfaat untuk menambah wawasanmu seputar dunia digital dan pengembangan website. Salam sukses!