I only use Cloudflare for this blog so you can imagine I was quite surprised when I got an invite to their first European #internetSummit hosted in London. I signed right up and was pretty curious about the topics. Compared to some conferences it was a simple single track conference that consisted entirely of panel discussions rather than your more traditional speaker/talk arrangement. This is by no means a bad thing at all.
APM products aren’t part of your solution - they are part of your problem Don’t get me wrong - they are for the most part great products and they do absolutely serve a purpose. But, as we move towards a much more distributed world with lots of smaller interconnected applications that are frequently updated and dynamically scaled, I’m not sure that these traditional products are the solution. Certainly not in the product format they are in currently where you pay per “host” or “agent”.
This week I attended the Azure Challenge in Leeds hosted by Microsoft at the Hilton Leeds City. This was a 2 day event focussing on Kubernetes in Azure. There was very little information about the format and content and it felt like it was being kept under wraps! The only info we were given was Install the Azure CLI 2.0 Install Docker Install Kubectl Install Postman - this is optional but useful I arrived a bit late and sat down with Team 8 that consisted of Lee Dyche, Paul Latham and David Betteridge.
Any company of a decent size and age that creates software at any scale will have gone through a number of “technical evolutions”. These come along as you hire new people, create new products or just better ways of doing things come along. The kind of changes I’m talking about are the adoption of different technologies over time and the introduction of new ones. This cuts right across different aspects of software, from languages to frameworks to techniques to tooling.
LINQ is amongst the greatest features of c# and when it was released people instantly took to using it. It forms the basis of may ORMs and other object manipulation tools. It can form a great abstraction when loading and manipulating data. It can however like a lot of great tools be horrendously misused by a lot of people. I have seen 10+ line LINQ statements dropped into the middle of large blocks of business logic.
Software Design Patterns This is the basics. Every software developer needs to understand these things. Im far from saying that this book contains the only rules you should ever follow when creating software and using patterns. I think you need to mix and match these and other patterns to help you solve the problem. But having everyone know these basic patterns and be able to speak to them from the same context is a great thing.