Month: March 2018

Keeping your Golang Docker image healthy

At Soluto we are working on an open-source project named Tweek. One of its components is a proxy server that we decided to implement in Go. In order to make the Docker  image of the proxy server lighter we built it from scratch. But, while building a container from scratch has its advantages, it also comes with a big setback. # Stage 1: Build executable FROM golang:1.9.2 as buildImage WORKDIR /go/src/github.com/Soluto/golang-docker-healthcheck COPY main.go . RUN CGO_ENABLED=0 go build -a -installsuffix cgo…

Read More

Lesson learned: Disabling weak TLS cipher suites without breaking up everything

Recently, I caused a pretty big production issue. It was bad. It all happened when I tried to harden our APIs – by disabling weak cipher suites in the TLS protocol. If you’re not sure what that means – or how it is done, stay tuned! In this post, I’ll explain what happened, why it’s important to harden your APIs, and how to do it properly. Mmm, something looks weird here… A few months ago, while investigating a bug in…

Read More

Applying microservices design patterns to scale react app development

Working with React and React Native for the past two years has been a great experience. It’s helped us overcome many issues with our hybrid app, improved the look and feel of the app, and generally had a very positive impact on our development experience. As great as these technologies are, having multiple teams working on the same app (a single, shared codebase) was still a difficult task and we were still dealing with some challenging issues: A team could…

Read More

Powered by WordPress & Theme by Anders Norén