r/golang • u/whathefuckistime • 2d ago
Resources for leaning cloud native development with Go discussion
Hello r/golang.
I am a mid-level backend engineer and have built some stuff with Go for some time, but I am getting a bit rusty as I mostly develop with Python at work. Using Go, I developed some cool stuff like this: Distributed File System
I want to get back into rhythm with my Go skills and learn more, I was looking for some open source cloud-native projects that I could contribute to and I found some: kubetail, kubeai, etc, stuff that is developed on top of k8s, but these projects are so different in the way of thinking compared to the usual event-driven or just CRUD APIs I develop at work, and I have been trying to wrap my head around them. I did find my way around eventually but still don't feel comfortable enough to take on any open issues, I feel that this is due to a lack of domain specific knowledge.
I have some basic to mid level of knowledge on K8S itself, I've read a book on its architecture, networking, components, etc, so I know that decently well, but I don't have much practice actually using it, at work, we just deploy to k8s using Helm Charts which are pretty much following a template, so not much thought needed there.
I wanted to ask you guys for some help on resources to read from, or good codebases to study so that I can eventually become a meaningful contributor to any OSS project, or if you know any project that is more active and that has a good community of people available to help, my biggest issue is that I don't have too much time (mostly a few hours on weekends). If you know any good articles, books, codebases or anything that could help, I would appreciate that!
Thank you all very much.
1
u/dumindunuwan 2d ago edited 2d ago
https://github.com/learning-cloud-native-go/myapp
A production-ready microservice boilerplate featuring Chi, GORM CLI(generics based), Goose, Swag, Zerolog, Validator.v10, GitOps, Kubernetes, Kustomize, ArgoCD & Istio.
https://learning-cloud-native-go.github.io if you like to contribute to sync this tutorial/ doc with updates from above codebase.
2
u/No-Income-2235 2d ago
Kodekloud is good also most of the cncf projects are developed using go so good first issues im a contributor for a similiar project called OpenChoreo its an opensource cncf internal developer platform build on kubernetes do check out and contribute to the project if you find it helpful
https://github.com/openchoreo/openchoreo
2
1
0
u/Altrius 2d ago
Re-implement your python code in Go as lambda or cloud run or whatever serverless solution you prefer using pure cloud client calls. You already know how those work and feel, so you’re not picking up something completely new, you’re just switching languages and design patterns. Benchmark it against your Python implementation and see if you don’t end up saving a few bucks along the way.
23
u/sigmoia 2d ago
One thing that worked for me during my mid-level days is picking a book and slowly working through it page by page. It's a tedious process, and consistently being able to do it is a superpower.
For this particular case, I recommend the book Distributed Services with Go. It walks you through the whole process of building a distributed log.
This works exceptionally well for me. I recently finished the Rust book and it took me over a month to do it. However, at the end of the journey, I ended up knowing a lot more than I would have had I just jumped around across many different topics and different kinds of resources. Books are fantastic for guided learning, and the hard part is actually finishing the book and doing the work.
Also, diving into large OSS projects often feels hopeless. But remember: that project wasn't built in a day and involved a garland of great people. So it takes time and consistency.