This is the group for programmers who are interested in the High Performance, Scalable, lightweight, cross platform development tool that also promises ease of programming, agility and the fun you don't usually get using a low-level language. Welcome to the Israeli Go language Group.
Writing code is hard, maintaining it is even harder. In this workshop we'll cover the daily tasks a typical gopher goes through (aka "best practices").
Required prior knowlege: Programming in Go, git, working with the command line.
We will write together an example project and cover the following subjects:
- Design decisions
- Code structure
- Managing dependencies
- Logging & metrics
- Performance tuning
- Continuous integration
There will be a lot of quotes, bad jokes and lines of code.
- A word from Cloudinary (5min)
- Always Be Closing, Or Stay Up For 3 Days Debugging Production Issue by Vladimir Shteinman
- Infrastructure testing using Golang and Kubernetes by Ran Tavory
About Vlad's talk:
If you used Golang's standard http client you must know that the client must close the response body when finished with it, you might also know what happens when you don't do so.
Usually, this problem is easy to spot, but we were unfortunate to learn that it's not always the case.
We'll walk through net/http internals to better understand why response body must be closed, learn some necessary tweaks for apps that use http calls heavily and monitoring that is required if you don't want to stay up for 3 days debugging production.
Infrastructure testing using Golang and Kubernetes by Ran Tavory
We show how Golang and Kubernetes are used to test infrastructure. At AppsFlyer Ran works on multi-region implementation of the data stack. At the backbone AppsFlyer relies heavily on Kafka and so we tested how is it possible to replicate Kafka topics across different datacenters.
In this project Ran created a specialized high throughput Kafka producer and consumer in Golang and automated deployment and replication of multiple Kafka clusters across multiple datacenters encompassing continents and oceans using Kubernetes. (https://github.com/AppsFlyer/kafka-mirror-tester)
In this presentation Ran will present the project, challenges and conclusions.