Operations | Monitoring | ITSM | DevOps | Cloud

Go

Discord Bot Part 1: Getting started the right way

I’ve recently started working on a new project to build a Discord bot in Go, mostly as a way to learn more Go but also so I can use it to manage various things in Azure and potentially elsewhere. I figured it’d be useful to document some of this project to give some insights as to what I’ve done and why. First up was setting up the CI/CD pipeline for it so that I don’t need to worry about it later and can save myself a bunch of time when testing.

Find the Path to Go Module Major Versions With GoCenter

How many major versions of a given Go module are there? That simple question doesn’t always have an easy-to-discover answer. Golang’s unique system of semantic import versioning solves some key problems of ensuring Go module compatibility across dependencies. But it also makes it a bit harder to learn what major versions of a Go module are available. The go client doesn’t provide a way to find out, nor will it inform you when a newer major version of a dependency exists.

Coordinated disclosure of XML round-trip vulnerabilities in Go's standard library

This blog post is a part of Mattermost’s public disclosure of three serious vulnerabilities in Go’s encoding/xml related to tokenization round-trips. The public disclosure comes as a result of several months of work, including collaborating with the Go security team since August 2020 and with affected downstream project maintainers since earlier this month.

Go for systems operators, part 1: a brief history of Go

For Sensu Software Engineer Eric Chlebek, the Go programming language is a core part of his day-to-day, and building a monitoring tool has given him unique insight into the world of operations and what operators are looking for in a monitoring solution. In this series, he shares his learnings about Go as it relates to and benefits IT operators.

Beginner's Guide to Jaeger + OpenTracing Instrumentation for Go

This post aims to provide a very simple beginner’s guide to Jaeger + OpenTracing instrumentation for Go applications (the terms “application” and “service” is used interchangeably in this document) via a working example. If you are new to instrumentation, I recommend that you first read this post for a practical introduction to instrumentation for Jaeger and OpenTracing. You can also get more info on using logs in Go.

Logging Golang Apps with ELK and Logz.io

The abundance of programming languages available today gives programmers plenty of tools with which to build applications. Whether long-established giants like Java or newcomers like Go, applications need monitoring after deployment. In this article, you will learn how to ship Golang logs to the ELK Stack and Logz.io. It’s usually possible to get an idea of what an application is doing by looking at its logs. However, log data has a tendency to grow exponentially over time.

Top Go Modules: Writing Unit Tests with Testify

All developers have seen them, even in well-structured Golang programs: comments suggesting you keep away from lines of code since they seem to be working in a magic way. These warnings make us timid, fearing we might break something. But applications need to change, to improve and innovate. That’s why unit tests are a vital part of software development. They help developers know whether the small parts of their software perform their intended function correctly.

Top Go Modules: Golang Web APIs with GORM

Robert Greiseimer has called Go the language of cloud computing and while it’s no secret that Go has strong features that support the needs of microservice architecture, distributed systems, and large-scale enterprise applications, what is less talked about is that Go was also built with web development in mind from the start. In fact, many developers in the community are using Go for full-stack development and championing new modules and frameworks that make Go a strong language for the web.

The Go client for Elasticsearch: Working with data

In our previous two blogs, we provided an overview of the architecture and design of the Elasticsearch Go client and explored how to configure and customize the client. In doing so, we pointed to a number of examples available in the GitHub repository. The goal of these examples is to provide executable "scripts" for common operations, so it's a good idea to look there whenever you're trying to solve a specific problem with the client.

A Gentle Introduction to Web Services With Go

When you're deciding on a technology to use for your project, it helps to have a broad understanding of your options. You may be tempted to build a web service in Go for performance reasons - but what would that code actually look like? How would it compare to languages like Ruby or JS? In this article, Ayooluwa Isaiah gives us a guided tour through the building blocks of go web services so you'll be well-informed.