QConLondon is one of my favourite conferences. I don’t know exactly how many I have been to, but I’m in the double figures now. This year’s 14th QConLondon has been something I’ve been looking forward to for some time, not least because I’m speaking on performance on Tuesday and I’m track hosting the Java track on Wednesday, unless anything changes.
This year of course QConLondon is being held with the backdrop of the Corona virus starting its worldwide tour. Already we’ve seen a few global conferences canned (such as the GDC and the Mobile one) and I had feared that QConLondon would be the next in the list. Fortunately, the planning staff for both the conference itself and the QEII centre have been remarkably well prepared; there were hand sanitisers on the way in, personal sanitisers handed out, and instead of the usual help-yourself-lunch that have been a staple of prior conferences, this year there are pre-packed bento boxes. In fact, the only unpackaged food has been the bananas and oranges on the fruit stands, and arguably, they come in their own packaging. Together with that and the code of conduct and the pronoun badges, I think QCon is showing the way to go for other conferences.
That being said, global health has been a concern, and people are adapting. Gone are the handshakes that one might have expected, with a friendly ‘elbow bump’ or other non-contact greeting. Of course, it probably didn’t help that a conference at the QEII had a case of Corona virus a couple of weeks ago happened, but then again, with that foreknowledge I think the preparations have been handled admirably.
The only other problem to report, before writing what I went to see, was the fire alarm. There was an issue on the 2nd floor with a vape-related incident (note to people who vape: do it outside, please) causing the entire building to be evacuated. There was a brief interlude while a lot of people huddled outside – fortunately, in the sunshine – and then we went back in. The 2nd floor unfortunately kept ringing, but the rest of the floors were OK. I feel sorry for the presenters who were mid-flow when the alarm sounded; it’s not great being interrupted like that.
So, on to today’s topics. The morning keynote was by @aallan on the problems with today’s Internet of Things. There aren’t any slides available, but the content was excellent; the first half talked about how a failure in a consumer product shouldn’t have a failure mode of a dead cat (unlike some commercial providers whose pet-feeding devices had a failure that they forgot to dispense food for over a week). In particular, he looked at running TensorFlow on low power devices, like Raspberry Pi. He has a blog post talking about running TensorFlow on various devices, highlighting that the new Raspberry Pi 4 is sufficient to do machine learning tasks, and the even lower-power spark fun edge which can do machine learning while powered with a CR2032 like button battery. Seriously impressive stuff!
The next talk I went to was @samnewman on journeys from monolith to micro-services, and strategies for achieving that. He discussed the ability to refactor in-place from a monolith to a modular monolith, and by using an HTTP(S) proxy to sit between the client and the back-end implementation, which provides a control and dispatch point for diverting between new and old versions, either in a live-live, red/green or phased deployment. His slides are available and he referenced Michael Feather’s “Working effectively with legacy code” book and James Governer’s towards progressive delivery as well.
One talk you should watch when it becomes available is @deniseyu21 presentation on why is building distributed services so hard. The style of presentation (caution: cats included) and takeaways were one of the best I’ve seen; in particular, the fact that in the traditional CAP theorem, viewing it as a see-saw rather than a triangle (you don’t get to choose ignoring partition tolerance) means you have to decide whether you want to have availability at the cost of consistency or vice versa. She referenced Jepsen’s views on consistency and is writing a book for children on consistency.
Alexandra Noonan’s talk on “From monolith to micro-services and back again” was entertaining, and talked about the difficult issues they had in the transition, the subsequent explosion of services, and then the requirement to bring them back together again. The issues they had in the first instance were due to slow development; moving to micro-services sped that up, but then the explosion meant that library updates weren’t consistent, and so bringing them back to a monolith fixed that problem. Slides aren’t yet available, but I’ll update this post with the links when they are.
The final talk I went to was @hatofmonkeys talking about what can go wrong as part of a deployment of a new massively online player game, Monopoly City Streets. Essentially, an underfunded project with a massive marketing budget ended up attracting a few more than the 20,000 expected gamers – 1.7m, to be exact. A lot of this talk was how to survive under pressure, how 56 hour stints are not to be recommended, how a load of over 400 on a dual-core system is not great, and how PHP is full of facepalm. But the takeaway for this was a plea to allow others who have experienced failure (and failure at scale) to come and share their stories so that others can learn. I hope that Colin gives this talk again, and that it was recorded; his style of delivery was both entertaining and comedic.
All in all, the 14th QCon London first day was excellent, despite the prevailing conditions. Looking forward to tomorrow – and my talk, which is at 16:10 in St James. See you there!