This reads like it was written by ChatGPT and provides no specific insight into Golang or Python from a devops perspective. It doesn't talk about which one is easier to use to actually <i>automate</i> your ops (definitely Python) or which one is easier to deploy (definitely Golang.) Flagged, waste of time.<p>I hope we quickly arrive at a social standard where posting AI-written content is viewed as extremely disrespectful to your audience.<p>EDIT: based on previous submissions it looks like aoms is the author of this post. Aoms, am I misunderstanding something here? Why are you doing this?
This article doesn't make any sense to me. DevOps from my perspective is CI/CD defined with a YAML file and using Docker biuld containers or custom GitLab Runners (or the Github equivalent), not something where programming in Python or Golang is needed.<p>What am I missing here?
(Didn't read the article at all)<p>As someone who has done devops-y stuff with both, I highly prefer Go just because I can plop in one binary + config file and it'll just work.<p>With Python I need to install Python, the virtual env manager du jour and all the required packages. And I need to keep them up to date. And everything is just one step harder if I don't, for some reason, have root privileges on the environment in question.<p>The Go version has been running for days in the time the Python one has all it's dependencies in order =)
Focusing on on performance, seriously?<p>I'm more sysadmin than devops, but how fast you can script over something for a quick automation is the defining trait for most devops tasks, not performance. Going for performance is closer to dev than to ops. Using APIs of several systems doesn't need so much performance neither, unless you are doing pretty intensive amount of calls (and the backend/network could be more of a limitation than the language you use in your side).<p>Yes, the performance and one-file-deploy are Go advantages against python performance (not for that much) and dealing with dependences and versions. But that is not the whole story, at least for most of the tasks I had to deal with.<p>And it is not "or". You may want to decide between python or i.e. perl for scripting language used for automation, but there are things that should be addressed with python, and others with go.
Since the article is meaningless, I'll offer my take on the current situation. There is no battle: Go is used for testing Terraform, for writing Kubernetes operators etc. In CDK, every language except Typescript is a second-class citizen and you need to translate the examples to your language since TS has the best docs. As for Lambda, practically speaking you will use the same language that is used by the rest of the company. As a DevOps,you pretty much have to understand the idioms of a few languages - at least HCL, Python, Java, JS and Go - and TypeScript if you use CDK.
The frontend and backend dev teams should be making major platform decisions based on the problem domain and their own expertise. Whatever they choose, packaging and deploying and monitoring it is not going to be a showstopper.<p>And there are other languages that ought to at least be considered for scale and concurrency: Scala, Rust, Erlang …