Archive

The Dulin Report

Browsable archive from the WordPress export.

Results (27)

Strategic activity mapping for software architects May 25, 2025 On the role of Distinguished Engineer and CTO Mindset Apr 27, 2025 My giant follows me wherever I go Sep 20, 2024 The day I became an architect Sep 11, 2024 Form follows fiasco Mar 31, 2024 On Amazon Prime Video’s move to a monolith May 14, 2023 One size does not fit all: neither cloud nor on-prem Apr 10, 2023 Comparing AWS SQS, SNS, and Kinesis: A Technical Breakdown for Enterprise Developers Feb 11, 2023 Why you should question the “database per service” pattern Oct 5, 2022 Monolithic repository vs a monolith Aug 23, 2022 All developers should know UNIX Jun 30, 2022 There is no such thing as one grand unified full-stack programming language May 27, 2022 Most terrifying professional artifact May 14, 2022 Best practices for building a microservice architecture Apr 25, 2022 TypeScript is a productivity problem in and of itself Apr 20, 2022 Tools of the craft Dec 18, 2021 TDWI 2019: Architecting Modern Big Data API Ecosystems May 30, 2019 Which AWS messaging and queuing service to use? Jan 25, 2019 Let’s talk cloud neutrality Sep 17, 2018 What does a Chief Software Architect do? Jun 23, 2018 Singletons in TypeScript Jul 16, 2017 Online grocers have an additional burden to be reliable Jan 5, 2017 What can we learn from the last week's salesforce.com outage ? May 15, 2016 IT departments must transform in the face of the cloud revolution Nov 9, 2015 Top Ten Differences Between ActiveMQ and Amazon SQS Sep 5, 2015 What can Evernote Teach Us About Enterprise App Architecture Apr 2, 2015 Docker can fundamentally change how you think of server deployments Aug 26, 2014

On Amazon Prime Video’s move to a monolith

May 14, 2023

Last week an article about how Amazon Prime lowered their monthly AWS costs by 90% by shifting part of their system called VQA (Video Quality Analysis) away from a server-less micro-service architecture to a monolith server.



I want to warn my readers about reading too much into it regarding cloud costs. Please don’t take this article as proof that servers are cheaper and serverless is not. This conversation is not about cloud vs. on-premise; the broader message is that micro-service architectures are costly and overcomplicated.



There is nothing fundamentally wrong with a monolith, and a well-architected monolith with well-structured code with separation of concerns serves its purpose quite well. If Amazon Prime’s experience proves anything, it is that when the granularity of services is too fine, complexity and costs skyrocket.



As an architect, I need to worry about many things: the application needs to work, it needs to scale, and developers need to be productive. When left to their own devices, developers gravitate towards monoliths for a straightforward reason: they can run the entire application stack in their development environment and, most importantly, step through it in a debugger end-to-end. A monolithic repository (aka monorepo) can answer all architectural concerns, starting with developer productivity and to deployment and scalability.



Most importantly, just because someone from Amazon (or Apple, or Facebook, or Google, or Microsoft) said they do things a certain way, it does not mean you should drop everything and do things the same way. My number one rule of software architecture is “Don’t shakespearize!”.



I’ve written on this subject over the years. Here are my other ruminations on micro-service architectures: