I remember those days too - my sins were T-SQL and I remember those headaches quite clearly.
One huge difference today is that you can actually unit-test user-defined functions and stored procedures using the same tooling you use for your application code. That lends itself naturally to integration testing, and so on.
I wouldn't necessarily recommend taking it to the property-based testing extreme like I did just to see whether it worked (it does).
> you can actually unit-test user-defined functions and stored procedures using the same tooling you use for your application code
Can you give an example of how this is possible, or what tools/services it's possible with? I can understand how it would work on UDFs, but not entirely sure how it would be possible for stored procedures, esp when they're often times doing something more complex than simple read operations.
I actually think this piece aligns with your thinking. Using a single, strongly consistent data store to eliminate the "train wreck of complexity" allows for a better developer experience while still delivering a responsive user experience. That matters at all kinds of scale, not just hyper.
My favorite thing about this pattern is that it allows developers to build globally distributed applications while reasoning about them like a single, centralized monolith.
A lot of complicated practices that we’ve adopted to overcome the challenges of distributed systems just disappear when you have fast, strongly consistent transactional writes on a single data store. Either a thing happened or it didn’t. No need to wait around and see.
This matters even more as applications move from single failover to multi-region to edge computing with hundreds of locations of compute. How do you get consistent state out to each PoP?
Is multi-cloud a good idea, inevitable, or an advantage? Should you use the tooling cloud service providers offer or are third-party tools a better fit for your workflows?
On this episode of Serverless Chats, Jeremy chats with Rob Sutter about how bottom up adoption by developers has led to the proliferation of "cloud" inside most companies, the role third-party tooling plays in winning developer loyalty, and how the API economy inevitably leads to components distributed across cloud providers.
One huge difference today is that you can actually unit-test user-defined functions and stored procedures using the same tooling you use for your application code. That lends itself naturally to integration testing, and so on.
I wouldn't necessarily recommend taking it to the property-based testing extreme like I did just to see whether it worked (it does).