Perhaps instead of it being "all teams" it should be "all cpu processes"?
Perhaps instead of it being "all teams" it should be "all cpu processes"?
It's not a "you must find some data or service to expose". If you have data and someone wants to use it, they do it via service.
I'd say you're being a pedant but you're not even technically correct.
https://martinfowler.com/bliki/TellDontAsk.html
I'd also like to point out that with all design decisions there are trade offs. Bezos made these trade offs specifically with Amazon's scale in mind and likely would not make the same trade offs with a team of 5 devs or even a team of a thousand devs that had good habbits around adhering to data boundries.
Clearly the dev culture at Amazon had a habbit of abusing those boundries or it wouldn't have gotten to the point where such a black and white mandate made a net positive change to the status quo.
It's more nuanced for Amazon - they intentionally ignored language skills when looking to hire good developers (difficult in 90's Seattle), so the end result was a hodgepodge of services written in many different languages talking any number of protocols which including Service A directly accessing the database of Service M. This mandate was his answer to teams complaining about working with each other and the bullshit they had to go through when integrating features across service boundaries to get things done.
Bezos didn't build AWS, people who worked for him did. They also didn't do it as part of the normal day to day at Amazon, no matter how much Amazon pushes the "it's the tech we use already" narrative.
The comment to which you’ve replied said exactly that.
The people that worked on AWS didn't build it, the other people that worked on AWS built it. That's the meaning of your statement.
Bezos works for Amazon, he decides whether AWS gets built or not, how large resources are deployed in the company, and what the priorities are over time. He worked on AWS. If you aren't an engineer, that doesn't mean you didn't help build a product or business. There are a lot of non-engineers that were required to build AWS, including managers, support staff, sales, marketing, HR, accounting and so on.
Saying he didn't build it and that everyone else did, is the same style of mistake as pretending that Bezos built it by himself would be (and nobody actually thinks he built it by himself).
The Bezos-as-Demiurge theory, or “Gnostic Amazon” theory? I like it.
What it really means is that if you're building something that you run on your teams hosts it needs to be exposed through services. For most of the services at amazon that means using the common service interfaces that everyone uses and not just giving out DB credentials (which I've seen happen it took (think it's still in progress 5+ years later)) to untangle.
- you build a matrix math system as a service... or
- you build cloud rendering (as they have done several times)
I'm assuming you're more likely talking about something like GRPC/protobuf which I have similar gripes about.
I advertise a rule set, you give me a function - pattern really - and i return all the data related to that pattern.
There are other organizations that accept a function. effectively the result is return the record in the True case, and don't in the False case.