Go DevOps için iyi mi?
Evet, bir scripte sığmayacak kadar büyüyen araçlar için: diğer ekiplere verdiğin CLI'lar, Prometheus exporter'ları, Kubernetes controller'ları, admission webhook'ları ve bir platformun etrafındaki küçük servisler. Go sana dağıtılacak tek bir binary, çapraz derleme, hızlı açılış, HTTP, JSON ve başka programları çalıştırmayı (os/exec) kapsayan bir standart kütüphane ve Kubernetes ile Prometheus için resmi Go istemci kütüphaneleri verir. Araçları birbirine bağlayan hızlı bir script içinse bash ya da Python genellikle daha çabuk yazılır.
DevOps otomasyonu için Go mu, Python mu?
Zamanla ikisi de. Python daha yaygın DevOps script dilidir: tek seferlik scriptler için daha hızlıdır, Ansible onunla yazılmıştır, her büyük bulut platformu için bir SDK'sı vardır ve DevOps yol sayfasının son adımında öğrettiği dil de odur. Bir script bir araca dönüştüğünde ise Go kazanır: başkalarının kurduğu, Python ortamı olmayan makinelerde çalışması gereken ya da hızlı ve eşzamanlı olması gereken bir şey. İlk beş adım her iki durumda da aynıdır.
DevOps mühendislerinin Go bilmesi gerekir mi?
Başlamak için gerekmez, pek çoğu da hiç yazmaz: günlük otomasyonun çoğunu bash ve Python karşılar. Go'nun önemi, Kubernetes operatörleri, Terraform provider'ları ya da şirket içi CLI'lar yazdığın platform mühendisliği ve SRE işlerinde ve çalıştırdığın araçların kaynak kodunu okuman gerektiğinde artar. Bir DevOps mühendisi için güçlü bir ikinci dildir ve bu sayfanın öğrettiği dil de odur.
Bu DevOps yolundan sonra Go ile neler yapabilirim?
İyi ilk projeler: Cobra gibi bir kütüphaneyle yazılmış bir CLI, client_golang kullanan bir Prometheus exporter'ı, Kubernetes API'sini client-go üzerinden okuyan küçük bir servis ya da shell komutlarından oluşan bir runbook'u os/exec ile tek bir binary'ye dönüştüren bir araç. Go kursu sana dili verir (struct'lar, interface'ler, goroutine'ler ve channel'lar); bu kütüphaneler ve Kubebuilder gibi operatör framework'leri sonraki katmandır ve burada henüz kapsanmıyor.
Go ile DevOps öğrenmek ne kadar sürer?
Günde bir saatle Linux, Git ve Docker birlikte yaklaşık bir ay, Kubernetes yaklaşık bir hafta, SQL iki-üç hafta, Go kursu da yaklaşık yedi hafta sürer: toplamda üç-dört ay. Terminal çalışması, Go adımından çok önce, ilk haftadan itibaren karşılığını verir.
Bu Go DevOps yol haritası ücretsiz mi?
Evet. Yoldaki her kurs ücretsiz: Linux terminali, Git, Docker ve Kubernetes alıştırmaları, SQL ve Go dersleri, Bugsy'nin ipuçları ve bitirdiğin her kurs için bir sertifika. Hepsi tarayıcıda çalışır: kurulacak bir şey, kiralanacak bir küme ya da bulut faturası yok.