How to use AWS S3 for persistence in Kubernetes

We recently deployed a Kubernetes cluster based on KubeSpray at a client. Since there is no out of the box cloud storage, one of the first task to clear for the cluster deployment is the data persistence.

We gave sshfs a try, and then thought we could actually also manage the distributed persistence using Goofys. Goofys allows you to simply mount an AWS S3 bucket as a file system. In effect, all the S3 data is synchronized between the different nodes of the cluster.

Shipping Go [Manning]

Thanks to the (very friendly) reviewers team at Manning I just got my hands on the newly released Shipping Go, and first of all I had a great time reading from start to finish which hasn’t happened in a long time as far as IT books go.

I was actually pleasantly surprised.

  • the amount of code in the book is kept to a minimum
  • the focus is on keeping the product to a minimal set of features,
  • shows how to push a quality code out,
  • and to a various set of plateforms and environments (and why both production and developpers environment should be kept as close as possible to each other )

The book focuses and explores the lifecycle of go projects in particular, but the techniques presented can be easily reused in the scope of other languages.

LondonAirquality Analysis with IcCube

../london.jpeg

If you do analytics, you probably usually go straight for Python Notebooks, and create a bunch of graphs to visualize the analysed data.

When you don’t want to show that data to someone outside, and hide implementation details, a nice alternative, and my de facto favourite, is to go and use IcCube.

As an exercice, I was teaching how to get ready and graph quickly with IcCube, using air quality data.

Writing an API Wrapper in GoLang

I had a really time-limited effort to do to prove how to write a command line wrapper for an open API a customer is developping.

The target Rest API is the jquants-api, as presented in a previous post.

I chose to implement the wrapper in GoLang, which proved to be extremely fast and pleasant to do. The task was eventually done in a short evening, and the resulting Golang wrapper with core features has been uploaded on github.