31/01/19

What we loved about GoDays Berlin

By Arne Wieding & Goke Obasa

On the 30th of January a group of our backend engineers attended the first GoDays conference in Berlin. As Go is becoming a core technology of our foodora and foodpanda platforms, our group of six backend engineers were excited to meet and mingle with the Go Community, exchange best practices and gain new knowledge.
In this article, we want to share our major takeaways from GoDays Berlin 2019.

The most popular session among our engineers was “Going Secure with Go” by Elana Grahovac and Baruch Sadogursky, who gave valuable insights and best practices on how to design secure applications in Go.
This is what our engineers had to say about it:

  • Wilson especially liked to see how fellow developers approach problems that are similar to the ones we are facing. By getting a new perspective and discovering new tools, we now feel better equipped to solve these issues. The speaker also provided a really valuable list of Do’s and Don’ts. For example, it’s always a good idea to include linting (https://github.com/golangci/golangci-lint) during docker image build process to make sure you’re following the best practice.
  • Karan also thought the set of best practices for integrating security earlier into the life cycle of the application was especially interesting. The talk provided actionable insights such as the Golang Security Checker that inspects the source code to uncover security problems that our team can implement immediately.
  • Gonzalo found their advice on how to secure customer data valuable, which can be very important in the age of GDPR. Instead of masking sensitive data at the application level and then sending it already masked to the logs, you can configure roles for Kibana users, allowing only authorized developers to see the sensitive data, in case you need to troubleshoot in the production environment.
  • Niko was excited to learn about new tools that we can integrate into our flow and automate security best practices in our CI flow, like gosec and golangci-lint.

Another very popular talk was “Designing for Failure” by Italo Vietro who spoke about his experience and struggles in monitoring distributed system and avoiding cascading failures.

  • Goke’s main takeaway was “Resilience is a requirement, not a feature”. This resonated a lot with him and resulted in knowledge that the team can implement directly to improve the resiliency of our systems. He especially liked the good overview of current best practices such as bulkheads, outlier server host detection, the outbox pattern, service mesh, distributed tracing and tools such as Open Census and Jaeger.
  • Arne learned about Veneur, an open source distributed observability pipeline created at Stripe from the talk “Building Resilient Services in Go” by Aditya Mukerjee, which focused on Observability.

Engaging and learning from the Go Community is really important to us. Delivery Hero is hosting the Go Meetup on the 20th of March in and you can meet us at the dotGo conference in Paris on the 25th of March. Looking forward to seeing you there!

Find out more about what we are working on and check our Github repositories, like go-ranger, an open source library to build standardized apps. And if you’re as passionate about Go as we are and want to solve challenging problems, we would love to hear from you!