Category: cloud
-
Docker ENTRYPOINT (and a note about $@)
This is something I keep forgetting, so I figure I’ll write it down so it’s here for future reference. General rule: use the exec form of ENTRYPOINT, in other words do this: As expected, this will run apache in the foreground, with PID 1 (unless you’re being a complete idiot and using hostPID – see…
-
Integrating Open Policy Agent with Spring Security Reactive and JSON Web Tokens
We present a Java library that simplifies adopting the Open Policy Agent server to manage user authorization for a Spring Boot microservice, while also managing API Token (JWT) authentication. Motivation Spring Security assumes a fairly simplistic Role-Based access control (RBAC) where the service authenticates the user (via some credentials, typically username/password) and returns a UserDetails…
-
Gossip-based Failure Detectors – 0.8.0 released
We have just released version 0.8.0 of our distlib C++ library that implements a number of popular distributed systems algorithms. This concludes a first iteration of the “SWIM Gossip Protocol” for failure detection: the implementation is now fully thread-safe and can scale up to many servers with minimal process overhead. The gossip_example.cpp toy server shows how a client…
-
A python notebook to experiment with the Apache Mesos HTTP API – Part 3 of 3
This is the third and final part of a three-part series: Part 1 describes the required setup and how to get Apache Mesos Master and Agent running in two Vagrant VMs; Part 2 shows how to connect to the HTTP API and accept resource offers. This series is an extended (and updated) version of the…
-
A python notebook to experiment with the Apache Mesos HTTP API – Part 2 of 3
This is the second part of a three-part series: Part 1 describes the required setup and how to get Apache Mesos Master and Agent running in two Vagrant VMs This series is an extended (and updated) version of the talk I gave at MesosCon Europe 2015 updated for Apache Mesos 1.0.0, which has just been…
-
REST-based User Management web service in Scala
Today I’ve opened access to my sentinel repo which is still at a very early stage development, but I thought was worth sharing with others. I’ve been using Scala on and off for the past couple of years, since I’ve completed the Coursera Scala course (passed with 95% and distinction, obviously!); however, to really learn a language (and…
-
From null to a hundred in six months (3)
Or how to achieve bi-weekly releases at SaaS scale Part III – People This is Part III of a series, see Other Parts in the Series Stupidity Laws One day many years ago, must have been around 2001, when I was still involved with my own venture, I happened across a short pamphlet tantalizingly named The…
-
From null to a hundred in six months (4)
Or how to achieve bi-weekly releases at SaaS scale Part IV – Processes This is Part IV of a series, see Other Parts in the Series Code Reviews When you join Google, you cannot commit code to the main codebase – no matter how senior or experienced you are (I suspect they did not allow…
-
From null to a hundred in six months (2)
Or how to achieve bi-weekly releases at SaaS scale Part II – Tools This is Part II of a series, see Other Parts in the Series Code is King A certain kind of people will tell you that a car is just a means to “get from A to B”: I insist that there is…
-
From null to a hundred in six months
Or how to achieve bi-weekly releases at SaaS scale Background Almost exactly a year ago I joined RiverMeadow: a self-described “cloud mobility” SaaS platform, with the modest task of improving a product I was told was “ready for market” and a team that only needed “some improvement, and a better adoption of Engineering best practices” – in slightly…