De impact van Go op DevOps

In het eerder gepubliceerde blog ‘De programmeertaal Go’ heb je kennis gemaakt met Go, ook vaak Golang genoemd. In deze blog gaan we in op de impact van Go op DevOps.

Introductie in DevOps

DevOps beslaat de gehele levensloop van een applicatie en wordt gedragen door drie pilaren: development en operations en kwaliteitsbeheer (QA, quality assurance). Ontwikkelaars, systeembeheerders en kwaliteitsmanagement werken bij DevOps in één (virtueel) team nauw samen om een product of dienst te ontwerpen, te bouwen en continue te verbeteren. Dit alles om uiteindelijk meer waarde voor de klant te realiseren.

Voor meer informatie over DevOps, ga naar de themapagina ‘Kiezen voor DevOps?’. Hier vind je alle trainingen, interessante nieuwsartikelen en handige downloads.

Wat maakt Go zo goed voor DevOps?

Go is door google ontworpen met het oog op de programmeerbaarheid, snelheid van compilatie en de noodzaak om functies zoals gelijktijdigheid en garbage collection te ondersteunen. Doordat Go compileert in een stand-alone binary, is Go uitstekend voor het werken in omgevingen waar je geen afhankelijkheden wilt of wilt installeren.

Een van de kenmerken van Go is dat de programmeertaal eenvoudig te begrijpen is. Hierdoor kunnen testers en ontwikkelaars de code gemakkelijk lezen en goed samenwerken. Daarnaast is Go een open source project om ontwikkelaars meer productief te maken.

DevOps zegt Go!

Uit een onderzoek van The New Stack bleek dat het vooral DevOps-mensen zijn die Go in de toekomst meer willen gebruiken.

newstack_go

Op de CopherCon conferentie  (2019) in Londen en San Diego heeft JFrog meer dan duizend ontwikkelaars ondervraagd om de Go community beter te begrijpen. Hieruit blijkt dat bijna een vijfde van de ondervraagden Go voor DevOps gebruiken.

go_devops

 Waarom gaan voor Go?

De meeste DevOps tools zoals Kubernetes, helm, Docker, etcd en Istio zijn in Go geschreven. De maker van Kubernetes, Joe Beda, heeft een blog geschreven ‘Why Kubernetes is written in Go.’ In deze blog schrijft Joe Beda onder andere over waarom de keuze op Go is gevallen: “Kubernetes is an all new code base. While it is heavily influenced by systems we have been developing and running for a long time (10+ years) at Google, we started with a blank slate. As we made this decision, Go was the only logical choice.

De logische keuze voor Go onderbouwt Joe met 8 redenen om van Go te houden:

1)“Great Libraries. There are a great set of system libraries that come out of the box with Go. In addition, there exist high quality libraries for pretty much everything we needed.
2)Fast tools. Building and testing is fast. We are getting addicted to the speed of development.
3)A KISS culture. Code in Go isn’t overly complex. People don’t create FactoryFactory objects. Tracing through the code for the part of the system you are interested in is usually pretty easy.
4)Cool extended tools. We love gofmt, easy code coverage, race detection coverage and go vet.
5)Built in concurrency. Building distributed systems in Go is helped tremendously by being able to fan out and collect network calls easily.
6)Anonymous functions. Something with the feel of C with more advanced features like anonymous functions is a great combo.
7)Garbage Collection. We all know how to clean up after our selves but it is so nice to not have to worry about it.
8)Type safety. Any time you are parsing untrusted bits of the internet, having a language that protects you from many simple buffer overflow bugs is a huge step up.”

Go in de lift

Go is een van de snelst groeiende programmeertalen volgens GitHub. De taal is in 2019 Q1 ruim 8% gegroeid ten opzichte van het vorige kwartaal. Kijk je naar de Tiobe Index dan is Go in populariteit aan het stijgen; waar de taal in februari 2019 nog op de 18e plek stond, is Go in februari 2020 naar de 11e plek gestegen.

Veel grote organisaties werken met Go. Als voorbeeld: Uber, Twitter, SoundCloud, GitHub en Google. Overzicht organisaties die werken met Go. https://github.com/golang/go/wiki/GoUsers

Go leren

WP Engine deed een onderzoek onder bijna 1000 ontwikkelaars in de VS. In het onderzoek werd hen gevraagd naar hun ervaringen met programmeertalen en welke het makkelijkst onder de knie te krijgen zijn. Volgens de ondervraagden is Go een van de meest intuïtieve programmeertaal en 3,6 procent van hen noemde de taal als de makkelijkste om te leren.

Wil jij Go leren? Bekijk dan onze Go opleiding.

Onderwerpen
Actieve filters: Wis alle filters
Loading...