I've heard a lot of people say something like "but we don't need huge scalability" when pushed for reason why their architecture is straight out of the 90's. "We're not big enough for devops" is another regular excuse. But while it's certainly true that many enterprises don't need to worry so much about high loads … Continue reading Scale or Fail
Category: Architecture
What’s Slowing Your Business?
There are lots of problems that prevent businesses from responding to market trends as quickly as they'd like. Many are not IT related, some are. I'd like to discuss a few problems that I see over and over again, and maybe present some useful solutions. As you read this, please remember that there are always … Continue reading What’s Slowing Your Business?
Don’t Stream JSON Data (Part 2)
I've discussed the merits of JSON streaming in two prior posts: Large JSON Responses and Don’t Stream JSON Data, if you haven't read these yet then take a quick look first, they're not long reads. I'm attracted to the highly scalable proposition of scaling out the consumer, so many requests can be made individually rather than returning a … Continue reading Don’t Stream JSON Data (Part 2)
Don’t Stream JSON Data
I recently published a post about how to stream large JSON payloads from a webservice using a chunked response, before reading this post it's probably best to read that post here. Streaming is a fantastic method of sending large amounts of data with only a small memory overhead on the server, but for JSON data … Continue reading Don’t Stream JSON Data
Large JSON Responses
The long slog from a 15 year old legacy monolith system to an agile, microservice based system will almost inevitably include throwing some API's in front of a big old database. Building a cleaner view of the domain allows for some cleaner lines to be drawn between concerns, each with their own service. But inside … Continue reading Large JSON Responses
Making Decisions with Cynefin
A friend tweeted recently about how it isn’t always possible to decide late on which product to use for data storage as different products often force an application to use different patterns. This got me thinking about making other decisions in software design. In general it’s accepted that deciding as late as possible is usually a … Continue reading Making Decisions with Cynefin
Getting FitNesse to Work
Sample code here. Recently I've been looking into Specification by Example, which people keep defining to me as BDD done the right way. Specification by Example fully implemented includes the idea of an executable specification. A concept that has led me back to FitNesse having given it the cold shoulder for the last six or seven years. … Continue reading Getting FitNesse to Work
DDD Europe 2016
The Domain Driven Design Europe happened in January this year in Brussels. Recently, two presentations were made available: Eric Evan's keynote speech is available here. Greg Young presents 'A Decade of DDD, CQRS and Event Sourcing' here. Both are worth a watch. I was particularly interested to hear some of Greg's opinions on what patterns … Continue reading DDD Europe 2016
PaaS
My last two clients have had completely contrasting views on PaaS, specifically on whether it should be used at all. Both clients deploy to AWS and Azure. Both want to embrace software volatility. Neither want to introduce unnecessary complexity. Both have a similarly scaled online offering where traffic is subject to peaks and troughs which … Continue reading PaaS