Sam Newman Profile Banner
Sam Newman Profile
Sam Newman

@samnewman

Followers
37,400
Following
1,540
Media
1,122
Statuses
25,879

Independent consultant focusing on Microservices, cloud and CD. Author of Building Microservices. SSTID🐰 he/him @samnewman @hachyderm .io

UK
Joined May 2007
Don't wanna be here? Send us removal request.
Explore trending content on Musk Viewer
Pinned Tweet
@samnewman
Sam Newman
2 years
If you're interested in a general introduction into microservices, as well as getting a taste of my latest book, then the first chapter of Building Microservices, 2nd edition is for you. Details on how to download for free here: .
5
12
96
@samnewman
Sam Newman
7 years
Don’t forget - having legacy software is often a sign of success. Your business was successful to last long enough for your software to become legacy.
29
915
2K
@samnewman
Sam Newman
7 years
I was in the middle of creating this slide (wrt patch hygiene) and had to stop half-way through and ask myself - aren’t we all just making this worse?
Tweet media one
47
1K
2K
@samnewman
Sam Newman
3 months
My new book, Building Resilient Distributed Systems, is now available in early access form @OReillyMedia . A few chapters are available at this stage, ahead of the planned publication in August next year. You can find out more about the book here:
Tweet media one
18
212
2K
@samnewman
Sam Newman
6 years
Lots of people worried about Microsoft’s acquisition of GitHub. I wonder how many of those people are familiar with the Microsoft of today. There are few other similar large companies I see who so consistently focus their efforts on making developers lives easier. Relax a bit!
74
512
2K
@samnewman
Sam Newman
5 years
A big day - got to hold a copy of my new book, Monolith To Microservices! It won’t go on sale in dead tree version till the end of November, but great to see this rush copy.
Tweet media one
69
212
1K
@samnewman
Sam Newman
2 years
Blaming Jira for your shitty software development process is like blaming oxygen for forest fires.
49
132
1K
@samnewman
Sam Newman
10 years
Anyone can pick huge holes in a codebase more than a year old, no matter who wrote it. So don’t be an asshat when inheriting code.
33
795
810
@samnewman
Sam Newman
3 years
If you make a decision to build a microservice architecture, then you don't get to describe all of the complexity of distributed systems as "accidental". That's like jumping into a den of lions and describing the resulting injuries as being an accident.
19
222
811
@samnewman
Sam Newman
3 years
Finished the manuscript for Building Microservices, 2nd edition today! It's off for its copy edit. Nice to have it done. Will be out in August.
30
36
615
@samnewman
Sam Newman
5 years
So I've been thinking a bit about Service Meshes, especially with the whole SMI (Service Mesh Interface) thing. (Thread) 1/18
9
264
582
@samnewman
Sam Newman
7 years
If you want to implement microservices, the 1st thing you need to do is implement aggregated logging. The 2nd is implement correlation IDs
22
394
548
@samnewman
Sam Newman
2 years
I've come to the conclusion that there are two golden rules of distributed computing. 1.) You can't beam information from point A to point B instantly. and 2.) Sometimes the thing you want to talk to isn't there. All other challenges of distributed systems flow from these rules.
23
87
542
@samnewman
Sam Newman
5 years
I've been thinking for a while about how Amazon - specifically AWS - go about their product development (Thread!)
15
226
526
@samnewman
Sam Newman
4 years
My view on microservice architecture certification?. If you come to one of my microservice workshops and want a certificate, I will happily provide a one that certifies that "You were there when certificates were handed out".
17
47
519
@samnewman
Sam Newman
2 years
So if you’ve just purchased a company that uses microservices and want to understand what the hell they are, and whether or not turning them off randomly will cause issues, this might be helpful:
23
67
508
@samnewman
Sam Newman
3 years
Let's get real for a moment. If you're a dev, 75% of your time is going to be spent taking stuff out of a database and putting it on a screen. If you're lucky, some of that remaining 25% will involve you taking stuff off a screen, and putting it into a database. Then death.
@KevinNaughtonJr
Kevin Naughton Jr.
3 years
my typical day at Google: 9am - reverse a linked list 11am - count unique ways to climb a staircase with dp 12pm - lunch 3pm - help animal escape NxM matrix efficiently 4pm - invert a binary tree 5pm - commute home using Dijkstra's
221
2K
24K
24
82
505
@samnewman
Sam Newman
2 years
So, rather than screaming into the void regarding my thoughts on Platform Engineering, I thought I'd just scream those thoughts into a blog post instead - Don't Call It A Platform:
26
138
495
@samnewman
Sam Newman
5 years
Really nice overview of different types of testing from @alexsotob at #CloudNativeLondon - looking at what this stuff looks like in an era of #ProgressiveDelivery
Tweet media one
7
187
456
@samnewman
Sam Newman
4 years
If you call yourself a “Microservices Developer”, you are doing it wrong.
34
81
442
@samnewman
Sam Newman
7 years
Dear Software Vendors. On your website, I need screenshots of your product at an absolute minimum, and ideally I want a video showing how it is used. Don’t make me sign up for a demo to see your product.
11
98
419
@samnewman
Sam Newman
9 years
Microservices are not something you should aim for. They are a means to an end. Focus on what's important - building useful software.
7
505
408
@samnewman
Sam Newman
2 years
I’m really hoping that the new fondness for Architectural Decision Records results in better critical thinking and internal communication, rather than just more ceremony.
16
34
391
@samnewman
Sam Newman
6 years
I’m working on a new thing! Early access version of my forthcoming book “Monolith To Microservices” is now available. . It’s very much a rough draft, and only part of it is up so far, but feedback is greatly appreciated.
11
106
382
@samnewman
Sam Newman
7 years
If you aren't able to adopt a consistent logging format from your services, you shouldn't be implementing a distributed system
9
275
375
@samnewman
Sam Newman
3 years
Well, the 2nd edition of Building Microservices is off to the printers. Ebook release in about a week, print books arriving in the US and EU/UK in around 3-4 weeks.
27
33
374
@samnewman
Sam Newman
5 years
And here is the front cover of my forthcoming book, Monolith To Microservices, in the fancy new O’Reilly cover style. More details here: .
Tweet media one
14
72
355
@samnewman
Sam Newman
3 years
True story: I once joined a project where the lead was very proud of the test suite that “never failed” and had “100% test coverage”. He was right about the coverage. The reason the suite never failed? Not a single assertion anywhere in the suite.
@martinfowler
Martin Fowler
3 years
@shs96c @samnewman If my tests never failed, either my programming is perfect or my tests are inadequate. I know which way I'd bet.
4
55
176
35
40
342
@samnewman
Sam Newman
6 years
What a bunch of rubbish
@MongoDB
MongoDB
6 years
A friendly reminder! 😉
Tweet media one
128
910
3K
21
79
332
@samnewman
Sam Newman
3 years
Microservices are not the antithesis of a modular, monolithic architecture. In fact, I'd argue that a modular monolithic architecture and a microservice architecture have much more in common with each other than either styles do with a big ball of mud.
8
82
336
@samnewman
Sam Newman
5 years
I think if your tech lead acts like this, they don’t know what leadership is. If you think this is what leadership is, you haven’t worked with good leaders.
10
87
329
@samnewman
Sam Newman
3 years
An anti-pattern is just a pattern used in a sub-optmial context. A good practice is just a practice used in the right context. You shouldn't talk about patterns and practice being "good" or "bad" without talking about the context in which they will be used.
10
88
304
@samnewman
Sam Newman
4 years
So a few people have asked why I have this snarky response. What is my problem with this service? Well, to be clear, it’s not an issue with GraphQL, it’s an issue with direct coupling with underlying datasources #thread
@samnewman
Sam Newman
4 years
Great to see AWS providing direct data coupling as a service.
10
13
93
11
116
304
@samnewman
Sam Newman
4 years
Am I alone in not liking the term “platform team”? Makes me worried that the team just ends up focusing on the tooling, rather than their actual job which should be enabling other teams to do their job. I much prefer “delivery support” or “delivery services”.
43
56
291
@samnewman
Sam Newman
2 years
Patterns aren’t invented, they are discovered.
10
58
283
@samnewman
Sam Newman
3 years
There is something deeply broken about this.
@myfear
Markus Eisele
3 years
Red Hat survey reveals: career progression is driving #developer hunger for containers and #Kubernetes
Tweet media one
7
26
55
31
79
269
@samnewman
Sam Newman
2 years
Perhaps the greatest video in human history.
@ThatsSoVillage
That’s So Village
2 years
691
3K
16K
7
25
256
@samnewman
Sam Newman
6 years
Saying a software architecture is “bad” isn’t terribly helpful, and misses the point. All architecture ends up being optimised around something, and the goals and constraints you now have may just differ from those people who came before
11
87
253
@samnewman
Sam Newman
7 years
In my experience, a lot of BPM tools are predicated on the idea that non-technical users will expect to design business process using the tools, but that this never actually happens. So we get the complexity without the benefit. Is this what other people see?
59
90
240
@samnewman
Sam Newman
2 years
So, how many of you deciding to use CQRS considered using database read replicas first?
54
32
217
@samnewman
Sam Newman
8 years
Think big, but get there by shipping small and often
1
144
217
@samnewman
Sam Newman
7 years
This is awesome from @aahoogendoorn - system architecture as Ikea furniture...
Tweet media one
5
129
213
@samnewman
Sam Newman
5 years
If you don’t own your part of the customer experience, it’s pretty hard to create an autonomous customer-focused delivery team. Continuing to have dedicated front end teams is all too common for “microservice” organisations, and misses so much of the point of a ms architecture
6
121
212
@samnewman
Sam Newman
6 years
More information on my new book, Monolith To Microservices, can be found here:
19
53
202
@samnewman
Sam Newman
6 years
Probably controversial hypothesis: the emergence of Kubernetes and the surrounding ecosystem of tools is enabling enterprises to remain stuck in the sunk cost fallacy of running things on premise.
17
56
201
@samnewman
Sam Newman
6 years
Today’s typo of the day: Interfaeces
8
16
199
@samnewman
Sam Newman
5 years
Just saw a job add for “Head Of Software Development - Frontend”. There is nothing better for slowing down your pace of change than enforcing organisational silos.
12
59
190
@samnewman
Sam Newman
7 years
I find the fact that people now say “serverless” when they mean “Function as a service” to be very annoying
12
90
179
@samnewman
Sam Newman
4 years
My new video “How big should microservices be?” is now up. Make sure you subscribe, as I’ll be having a new video every week!
Tweet media one
18
73
170
@samnewman
Sam Newman
9 years
“Yeah, we’ve found this great person to do all the DevOps” That isn’t DevOps
8
223
164
@samnewman
Sam Newman
3 years
What an amazing crock of shit. And this person is a CEO? I hate to think what the recruitment process looks like at this person’s company.
15
9
161
@samnewman
Sam Newman
4 years
I had a lovely chat a while back with @martinfowler about the merits of microservices, and when (or when not) to use them. It’s now available as a podcast: thanks to @GOTOcon
0
50
164
@samnewman
Sam Newman
2 years
So, some fine clickbait bullshit here. Am I going to read your report? No! Does it imply you don't know what DevOps is? Yes, clearly yes. If this is the mindset behind this company's products, they've done a great job and steering me well clear. 🤦
@luca_cloud
Luca
2 years
DevOps is dead, platform engineering is in… or so people say. 👀 The first-ever State of Platform Engineering Report is here to set the record straight. 🧠 Get 🔥 insights from top performing orgs and platform veterans👇
8
3
35
13
15
159
@samnewman
Sam Newman
4 years
I’m getting close to finishing up the 2nd edition of Building Microservices, working towards publication in August. If you can’t wait for that, and want to read the book in early access form, then you can read it on @OReillyMedia ’s online platform:
2
27
162
@samnewman
Sam Newman
2 years
@QuinnyPig @awscloud Boris Johnson has been deprecated and will be EOL this autumn, to be replaced with a brand new service which does 75% of what the old one did but in a confusingly different way and yet also costs you more money.
4
4
156
@samnewman
Sam Newman
4 years
A great exploration of how many 9s you might actaully need, and what it might cost you, by @debs_za at #OReillyInfraOps
Tweet media one
Tweet media two
4
62
160
@samnewman
Sam Newman
4 years
The fact that the same organisation can talk about DevOps and Fullstack, and yet still be happy with silo'd frontend and backend teams will never get old.
9
33
157
@samnewman
Sam Newman
7 years
This was an awesome talk - moving to microservices isn't a one-size fits all approach!
@GOTOcon
GOTO
7 years
Recorded at @GOTOchgo : "One Journey, Many Paths: A Pragmatic Guide for Migrating to Microservices" by @zhamakd !
Tweet media one
0
16
49
0
58
154
@samnewman
Sam Newman
3 years
This looks like required reading for those of you struggling with silo'd, monolithic frontend teams!
@lucamezzalira
Luca Mezzalira
3 years
Almost 2y, ~280 pages, ~110 diagrams, tens of conferences around the world, 16 workshops, uncountable evenings and weekends spent on my laptop… and it is finally READY 🚀 🎉 Building Micro-Frontends is the book where I reversed all my experience on #microfrontends 🧵👇
Tweet media one
37
215
1K
3
21
153
@samnewman
Sam Newman
6 years
I’ve lost track of how many times I’ve pointed people at this talk on Sagas in distributed systems by @caitie - such a great summary of the concept with enough real-world detail that people can work out how to actually use these things:
2
23
151
@samnewman
Sam Newman
3 years
So much great stuff in this @infoq article about @github ’s process of migrating functionality to microservices. The query watcher for helping data decomposition is genius! Thanks to @StartupSha for sharing this!
2
42
149
@samnewman
Sam Newman
7 years
All abstractions hide something. Some may hide too much for you, or hide too little. Some will be perfect, just for you. But no abstraction is perfect for everyone.
6
56
147
@samnewman
Sam Newman
4 years
Interesting side effect of the Cloud Native Foundation is now that I’m commonly speaking to people who believe it can’t be cloud native without Kubernetes 🙄
15
16
149
@samnewman
Sam Newman
4 years
So is there any reason why I can't describe the use of DB read-replicas as a form of caching? Reads from the replicas might be stale, invalidation is a concern but handled by the replication technology. Conceptually, it's a cache - albeit one with limited general applicability.
51
18
147
@samnewman
Sam Newman
11 months
I will not be speaking at DevTernity on 7th of December as previously planned. Unfortunately it turns out aspects of the conference were misrepresented to me.
3
8
142
@samnewman
Sam Newman
4 years
@SaintFrankly No worries Francis - I used to live in Australia so I get this a lot. You should see the emails I get! The people who agree with him are the worst. PS my Aussie wife is a fan of yours and says hi!
3
0
141
@samnewman
Sam Newman
7 years
Clusterfuck?
@pcalcado
✨ Phil Calçado
7 years
What is the collective noun for microservices (or larger ones, i dont care)? I've been using "fleet".
15
0
20
3
54
140
@samnewman
Sam Newman
8 years
Tech debt is inescapable because a.) You don't have time to do everything and b.) you can't predict the future.
7
103
141
@samnewman
Sam Newman
5 years
I’ve heard some fun alternative terms for legacy software in recent years: - Heritage - Legendary - Classic The most common alternative term for “legacy” software that I’ve heard used recently is course deeply unfortunate - “monolith”.
@matthewpskelton
Matthew Skelton #BLM 💙🌻
5 years
Last week, we agreed at a client to replace the word "legacy" with "revenue generating". Instead of "don't make me work on the legacy software"... 💀 Say "Actually, yes - I'd like to work on the revenue generating software" 💰💴💵💶💷 #NoLegacy
48
382
1K
29
37
138
@samnewman
Sam Newman
4 years
I’ve said it before, and I’ll say it again, you’ll never appreciate the true horror, pain, and suffering a Microservices architecture can cause until it’s running in production and serving actual traffic.
@al94781
Andrew Harmel-Law 🏡 @[email protected]
4 years
Let’s return briefly to where we began. Why have #microservices failed in so many places to date? - iI've argued that it's because the intended architecture, if there was one, didn’t get shipped to production. To be successful, an architecture needs to be RUNNING.
1
2
23
6
49
139
@samnewman
Sam Newman
5 years
A nice (and brief) overview of why @shopify went for a modular monolith over microservices by @kmkwesteinde . I’d love to see/read a deeper dive on this as well, but I really enjoyed this overview of what drove their decision making.
0
37
132
@samnewman
Sam Newman
5 years
I’ve been saying this for a while - clearly I’m doing a bad job of spreading the word!
@boyanio
Boyan Mihaylov
5 years
"I feel that microservice architectures are often a bad choice for brand new products or startups." Yet, the hype spreads faster than the reason
1
14
39
8
23
133
@samnewman
Sam Newman
5 years
Really glad my new book, Monoliths To Microservices, seems to be doing so well. As a reminder, it’s available now! More details here:
Tweet media one
13
29
126
@samnewman
Sam Newman
3 years
It seems ironic that so many people looking to implement CQRS are keen to conflate the concepts of event-driven collab with event sourcing 🙄
11
26
124
@samnewman
Sam Newman
5 years
Reminder for everyone who is looking for something to do in lockdown that my new book Monolith to Microservices is available now, more information on my website:
Tweet media one
11
40
124
@samnewman
Sam Newman
4 years
So, as far as I can tell, GraphQL basically breaks caching via CDNs or reverse proxies, unless you do a bunch of work on top. Is this an unfair statement?
15
29
123
@samnewman
Sam Newman
5 years
I have a youtube channel where you can find playlists with many of my conference talks and interviews I have given over the years. Lots more content to come over the next few weeks, so please subscribe:
Tweet media one
10
30
125
@samnewman
Sam Newman
4 years
Trying to come up with some (non-exhaustive) pictures to help categorise different styles (and supporting implementations) of microservice-to-microservice communication. Thoughts on this one?
Tweet media one
17
39
123
@samnewman
Sam Newman
4 years
Good quality code can help you go faster in the wrong direction. Bad code will cause you to go slower in the right direction.
@sciak
Mirko Sciachero
4 years
@samnewman @sogrady Code quality is almost orthogonal with delivered value
1
0
4
17
25
118
@samnewman
Sam Newman
3 years
I've updated the page on Building Microservices, 2nd edition, to detail confirmed translation plans, and to add a full table of contents so you can see what you can expect when the book arrives in August.
Tweet media one
3
17
118
@samnewman
Sam Newman
3 years
Over the years I've become convinced that to get the most out of microservices you need to see them as style of modular architecture - with the added complexity that rather than in-process calls between modules, we instead have to deal with the horror of networks.
10
24
117
@samnewman
Sam Newman
4 years
It’s interesting to see more content in this space, but the idea that using domain-driven design with microservices is somehow new is kinda odd. This is really of most interest in terms of what uber does internally, rather than a wider discussion of these ideas.
@johncutlefish
John Cutler
4 years
“Domain-Oriented Microservice Architecture” thus draws heavily from established ways to organize code such as Domain-driven Design, Clean Architecture, Service-Oriented Architecture, and object- and interface-oriented design patterns.”
9
35
179
8
22
117
@samnewman
Sam Newman
6 years
When I run a workshop, I come prepared!
Tweet media one
5
5
118
@samnewman
Sam Newman
3 years
AWS is way behind on offering sensible cost controls, and it could end really badly. Good coverage of this via @QuinnyPig and a recent @InfoQ article by Renato Losio . AWS can and should do better - this is a fixable problem they don’t care enough to fix.
@browniepoints
A Guy Who Codes
3 years
The responses along the lines of “he should’ve figured it out and not racked up such a big bill” shows what’s wrong with society. Great you’re an AWS expert who knows how to prevent this. This is a student trying to learn and changed a setting that he didn’t understand
18
29
388
8
21
118
@samnewman
Sam Newman
6 years
This talk by @adrian_trenaman from Gilt/HBC was one of my favourite talks from this year’s excellent @qconlondon lineup - great stuff on streaming vs batch, Kinesis, and towards the end Kafka. Highly recommended.
1
37
117
@samnewman
Sam Newman
4 years
There have been a lot of comments around this post from the Uber engineering team, highlighting the fact that some prior art here is misunderstood, with other ideas being presented as coming from Uber despite being well established prior art. #thread 1/17
@samnewman
Sam Newman
4 years
It’s interesting to see more content in this space, but the idea that using domain-driven design with microservices is somehow new is kinda odd. This is really of most interest in terms of what uber does internally, rather than a wider discussion of these ideas.
8
22
117
2
44
110
@samnewman
Sam Newman
3 years
A quick note on people asking me to speak at conferences. If you're trying to make your event sound appealing by telling me the names of the other people you have already booked, then don't be surprised if when it turns out they're all white men I decline.
6
17
107
@samnewman
Sam Newman
5 years
Those of you stuck at home might want something to add to your reading list. My new book Monolith to Microservices is available now, more information on my website:
Tweet media one
6
27
108
@samnewman
Sam Newman
5 years
If you want to know more about breaking apart a monolith my book has that covered: For a brief snapshot of some of the topics in the book, you can also watch this video:
Tweet media one
2
32
102
@samnewman
Sam Newman
7 years
Trunk based development simplifies your use of scm, in exchange for asking you to change the design of your app in ways you'd want to anyway
6
94
107
@samnewman
Sam Newman
5 years
So if you find yourself constantly having to change your middleware, be it an ESB, API Gateway or Service mesh, take a pause for a moment and ask yourself if your architecture is working for you, or are you working for your architecture? 18/18
8
31
106
@samnewman
Sam Newman
6 years
This shouldn’t be a surprise. Git was designed to make merging fast and easy, and this was a key requirement for managing with the kernel source code. The fact that people now abuse git branches to *avoid* merging and continuous integration isn’t really the tools fault
8
52
104
@samnewman
Sam Newman
6 years
Does your application talk to a database on another machine over a network? Then you have a distributed system! Most people work on distributed systems - some just show the pain in a more obvious fashion.
5
23
101
@samnewman
Sam Newman
10 years
Good ideas never die /cc @joewalnes http://t.co/ml2cDjyzXP
Tweet media one
5
120
100
@samnewman
Sam Newman
8 years
Microservices can help large number of people go faster by allowing more autonomy. I remain to be convinced it does the same for small teams
19
80
102
@samnewman
Sam Newman
2 years
Also, if you are now short of cash due to any recent purchases you may have been forced to make, the first chapter is available to download for free:
2
5
100
@samnewman
Sam Newman
4 years
The golden rule here is never expose anything until someone actually needs it. Think outside in - what exactly do external parties need? This allows you to be selective in what you expose. Too many people think inside out, and expose everything in case it *might* be needed.
3
22
97