View from the venue
Of three days of conferencing I probably did best on the second day when I felt all ears for most of the day. First day it was hard to sit down and third day I found myself zoning out on a few occasions (mind I was early in bed the night before). With six simultaneous tracks you are going to miss more than 80% of the conference anyway. Luckily they video all the things. Three days of information overload pass by rather quickly and in the end things tend to blur into each other. I feel I need to sort things out for myself. So here it goes.
Adrian Colyer was first out as introduction key note speaker. I think he has a point in that reading research papers is a good habit, and his blog seems to be a good starting point.
Matteo Collina explaining IoT on a high level
In one sentence QCon London 2016 can be summarized as “Microservices, microservices, blah, blah, microservices”. And the three letter acronym “iot” can sure be fitted into most sentences, especially true among the many vendors at the venue.
Nice visualization of Netflix’s system
After attending a few microservice sessions, some more enlightening than others, I started to discern a common pattern. It goes something like this: “Before we had a monolith running on-premise, then we virtualized the monolith, and then we decomposed it further, and somewhere on the way we decided to call our architecture a microservice one. And now we see these problems.” And then the session ends.
Quite annoying when the speaker never get’s to the “good stuff”. However, there was pieces of good stuff to be found in most talks. Some of the common learnings seem to be that things ARE going to fail, and whatever you do, things are going to fail anyway. If it aint’s broken, try harder. The motto for yesteryears was “embrace change”, now we’re supposed to “embrace failure”
Testing in production is now a thing. I imagine testers cringe when hearing this. Apparently Netflix is doing this large scale with their Chaos Monkey and Kong tools, and has been doing it for quite some time, starting somewhere after that infamous outage christmas eve 2012. They call it failure drive architecture. Given a system is sufficiently complex things are bound to go wrong and we cannot completely test our way to quality (if that was ever an option). Maybe fault tolerance and confidence are more useful words.
Rather than walking away with a bunch of handy solutions I walked away with a set of new questions. On a basic level, how do we even comprehend a system made of many small parts?
As Katherine Kirk concluded, the 3 characteristics for human existence is also true for our business:
- Everything is in a constant state of change
- We need to collaborate
- We will always battle dissatisfaction
New innovations in hardware will impact how we build systems: persistent RAM will fundamentally change how we database stuff, and hosts being able to access RAM on other hosts over super low latency network channels without consuming CPU will impact what’s possible to build.
Embrace the (distributed commit) log
Keeping stuff in sync is a thing, and even more so when things are distributed. Martin Kleppmann in his session “Staying in Sync: From Transactions to Streams” proposed a stupid simple solution, as he put it, as an alternative to distributed transactions by using a distributed commit log.
Another trending topic is blockchains and not only in the scope of crypto currency. Chris Anderson had an interesting talk about per document non global consensus blockchains. It took me about 50 minutes into the session (the very end) before I could conjure up a use case for this in my head; to me this just sounds like the perfect thing for tradable items in games. Today and always, supply has to be managed within the system since otherwise digital content is easily copied and multiplied and items gets devalued. With this technology items could be traded outside the system, call it p2p DRM. Just an idea. Could be a huge thing. We’ll see. There seems to be a common notion that blockchains will eventually disrupt the current financial system as we know it, and in that light it’s a small irony that the company holding 10% of all bitcoins has locked its private keys, split into many parts and encrypted by many key holders, into good old bank vaults 🙂
(well, I am)
Glen Ford talked about culture and the perhaps not so obvious danger of trying to copy someone else’s culture. Culture is a complex matter and to some degree culture is a differentiator, something unique that is separating “us” from “them”, and on the bottom line makes the business successful. Looking at contemporary recruitment posters it’s clear that “culture” is a currency. And like most fiat currencies, cultures turn out to be hard to copy.
John Willis talked about burnout, and it’s a thing not only in society but in our business. Turns out software people tend to be more receptible than the general population, especially the high achievers. A slippery slope that may go unnoticed until too late. Regular self assessment to monitor indicators, just as you would monitor any system, and to just be there for your friends. Important stuff. Be alert.
Man’s best friend
What a heartwarming moment to watch Simon Wheatcroft, the blind ultra marathon runner, on stage with his guide dog slumbering at his feet. Being a mere marathoner myself I could not constrain my amazement over this man’s achievements, let alone he’s blind on top of that. Technically speaking, the solution that will enable him to run 126 km unassisted through the Namibian desert, is rather straight forward—a gps based beeper thingie that simply beeps when he strays off track. No drones, no real time room mapping, nothing fancy at all. I will start hallucinate anyway so I want it to be simple, he explained. Stupid simple solutions are the best.