Git for DevOps
You might have noticed that we have picked up our coverage of Git. Last week, Michelle Gienow posted an introductory tutorial on how to use the open source version control software. Later this week she will have another on extending this knowledge to GitHub, the predominant online hosted version of Git. Initially, Git can be, for many new to it, a confusing set of abstractions (stage or push?). But those experienced in using it swear by utility as a collaborative tool. Linus Torvalds created it to manage the Linux core, after all, because he got fed up with the limitations of other version control systems. It has since become the lingua franca of collaborating developers.
We are also seeing it expand beyond developer use. Last week at Kubecon + CoudNativeCon EU 2018, Weaveworks' Alexis Richardson talked about using the Git interface, possibly in conjunction with Kubernetes, to control clusters. Make the changes to a YAML configuration file, push it into the mainline, and Kubernetes will make the changes to the running system. We’ve covered a lot of technologies and best practices for cloud-native computing over the past few years. While a concept such as “immutable infrastructure” may sound good in theory, Git may actually be the tool to bring it to IT shops.