We are going to deploy a Go application directly from your repo to AWS with Cloud 66. Any application using any language on any framework can be deployed with Cloud 66 as long as it has a Dockerfile. Note: Rails applications are exceptions as we deploy them natively. If your application does not have a Dockerfile, we will suggest one for you based on your code. However, we would recommend reviewing what we have suggested and making sure the Dockerfile meets your requirements.
While Go provides a testing package and a go test command, the former only offers basic testing capabilities. The package also has some drawbacks, such as missing assertions and increasing repetition with large-scale tests. As a result, several Go testing frameworks have been created to augment it. Go testing frameworks consist of tools and resources for creating and designing tests. Some of these frameworks incorporate the testing package and go test command, while others take a different approach.
We've gone through many iterations of ways to build, deploy and distribute applications written in Go at Cloud 66. Unlike Rails, Go applications can be web applications, daemons or CLIs and therefore have different requirements. I'll share some of what we've learned with you in this post.
At incident.io, we're acutely aware that we handle incredibly sensitive data on behalf of our customers. Moving fast and breaking things is all well and good, but keeping our customer data safe isn't something we can compromise on. We run incident.io as a multi-tenant application, which means we have a single database (and a single application).
We recently announced the release of our RemoteWrite SDK to support custom metrics from applications using several different languages – The first SDKs allow shipping of metrics from Golang (Go), Python, Java, Node.js, and.NET. This tutorial will cover the Golang SDK. The SDKs cover not just Logz.io, but can be used by any platform that supports the Prometheus remote write endpoint.
Every developer knows there are some utilities that are completely indispensable from their workflows. The programmer’s toolbelt, if you will. These toolbelts are usually different from person to person, but if there is one tool that everyone should use or at least know how to use, it is tcpdump. If you are unfamiliar, tcpdump is a tool that allows you to dump and inspect live network traffic being observed on a network interface.