Distributed Computing with Go: Practical concurrency and parallelism for Go applications