Bukti paling meyakinkan tentang sebuah bahasa bukan klaim di halaman depan situsnya, melainkan perangkat lunak produksi yang benar-benar dibangun dengannya. Go menempati posisi istimewa di sini: perangkat yang menopang infrastruktur cloud modern — mulai dari platform container hingga sistem monitoring — mayoritas ditulis dengan Go. Pada chapter ini kita kelilingi wilayah pemakaian Go yang paling dominan, lalu kita hubungkan setiap wilayah dengan karakteristik bahasa yang menjelaskan kecocokannya.
Bukti dari Dunia Nyata #
Daftar berikut memuat perangkat lunak populer yang ditulis dengan Go dan dipakai di produksi di seluruh dunia:
| Proyek | Fungsi | Kaitan dengan Go |
|---|---|---|
| Docker | Platform container | Ditulis dengan Go sejak rilis pertama |
| Kubernetes | Orkestrasi container | Proyek inti ditulis dengan Go |
| Terraform | Infrastructure as code | Ditulis dengan Go oleh HashiCorp |
| Prometheus | Monitoring dan time series database | Ditulis dengan Go |
| Caddy | Web server dengan HTTPS otomatis | Ditulis dengan Go |
| Hugo | Static site generator | Ditulis dengan Go; situs tutorial ini pun dibangun Hugo |
| CockroachDB | Database SQL terdistribusi | Dibangun di atas Go |
Backend Service dan API #
Wilayah terbesar pemakaian Go adalah backend service. Package net/http di standard library sudah mencukupi untuk melayani HTTP produksi tanpa framework, sementara encoding/json mengurus pertukaran data API. Model satu goroutine per koneksi membuat service yang padat I/O — menerima permintaan, membaca database, memanggil service lain — memanfaatkan banyak core CPU tanpa kode threading manual. Karakter binary tunggal juga menyederhanakan deployment ke container image yang sangat kecil. Di wilayah ini Go bersaing langsung dengan Java, Node.js, dan Python, dengan ciri khas latensi rendah dan pemakaian memori yang hemat.
Bentuk paling umum wilayah ini adalah microservice dan REST API: satu proses kecil yang fokus menangani sekumpulan endpoint, dikemas dalam container, dan direplikasi sesuai beban. Ketika beban tumbuh, goroutine yang murah membuat service yang sama tetap sanggup menampung lonjakan trafik tanpa perombakan arsitektur. Pola ini pula yang akan kita praktikkan langsung pada section REST API dan HTTP dan Networking .
Command Line Application #
Alat baris perintah adalah wilayah kedua yang paling cocok untuk Go. Alasannya murni praktis: hasil go build berupa satu binary statis, sehingga pengguna alat kita tidak perlu memasang runtime, pustaka, atau bahkan Go itu sendiri. Kompilasi silang memudahkan satu rilis menyediakan binary untuk Linux, macOS, dan Windows sekaligus. Hugo dan Caddy di tabel sebelumnya adalah contoh matangnya; di luar itu, ekosistem DevOps dipenuh CLI buatan Go, mulai dari plugin kubectl hingga alat internal di banyak perusahaan.
DevOps, SRE, dan Platform Engineering #
Tim platform memakai Go untuk tiga alasan yang saling menguatkan. Pertama, alat otomasi infrastruktur butuh distribusi binary yang bebas dependensi ke ratusan mesin. Kedua, kecepatan kompilasi menjaga umpan balik tetap singkat saat alat internal iterasi cepat. Ketiga, go test yang terintegrasi membuat alat kritis mudah diuji sebelum didistribusikan. Bukan kebetulan pula bahwa Kubernetes dan Prometheus — dua fondasi standardisasi cloud native — sama-sama ditulis dengan Go; bahasa dan komunitasnya tumbuh bersama gerakan ini.
Wilayah Lain yang Layak Dikenal #
Di luar tiga wilayah utama, Go juga hadir di database terdistribusi (CockroachDB), perangkat jaringan (Caddy), dan static site generator (Hugo). Pola yang menyatukan semuanya: perangkat lunak yang harus efisien, mudah didistribusikan sebagai satu binary, dan dirawat bertahun-tahun oleh tim besar — persis profil yang dikejar tujuan desain Go. Bagi kita sebagai pembelajar, daftar ini sekaligus menjadi daftar karier: lowongan kerja Go paling banyak bermuara ke empat wilayah di atas, jadi materi Course ini langsung terpakai di dunia kerja.
Referensi #
- Solutions — gambaran resmi pemakaian Go dari sudut pandang organisasi dan industri.
- Solutions: Use cases — peta resmi wilayah pemakaian Go beserta contoh kasusnya.
Dari backend service hingga orkestrasi container, satu benang merah menghubungkan semua wilayah tersebut: hasil akhir berupa binary native yang mandiri. Bagaimana persisnya source code Go menjelma menjadi file itulah topik chapter berikutnya, lengkap dengan demonstrasi nyata dari kompilasi hingga eksekusi binary.