3 ms·
This is Fly - a much earlier stage company and them receiving early funding is the genesis of this entire discussion. I point to Cloudflare (what I'm most fami
by kkielhofner 3y ago
This is Fly - a much earlier stage company and them receiving early funding is the genesis of this entire discussion.
I point to Cloudflare (what I'm most familiar with). Across their entire stack of compute, storage, db, etc product lines you won't see a hint of region anywhere. It just works, everywhere. Same with Fastly/Oracle (although they like Fly are quite a ways behind Cloudflare).
I suspect (hope) that as Fly matures their apparent true goal of edge and region-less applications will mature more. Their compromises on region awareness for DB has always struck me as a more of a resource restraint compromise on their part than end goal. As you say these challenges are hard (expensive).
- bob1029 3y ago> you won't see a hint of region anywhere. https://developers.cloudflare.com/d1/learning/data-location/ https://developers.cloudflare.com/d1/learning/data-location/ Hint Hint description wnam Western North America enam Eastern North America weur Western Europe eeur Eastern Europe apac Asia-Pacific There is no free lunch here. This is always a game of information theory and physics at the end.
- kkielhofner 3y agoIf I were at Cloudflare I'd suggest calling these "geographies" where the magic still applies (any one of those geographies has at least dozens of component POPs that are invisible). The fact remains this is somewhat down in the docs because it is automatic and invisible to the point it works well enough where most developers don't know, don't care, and aren't exposed to it in any meaningful way. Contrast this with AWS where the first thing you are presented with is picking a region where everything lives, while not clearly and explicitly explaining that many things are ultimately dependent on us-east. Cue the shock and confusion when us-east has yet another issue and those in all other regions don't understand how and why they are impacted. You are correct about the free lunch, information theory, and physics at the end. I don't think a reasonable person can think when you write data to a pop in Tokyo that it could possibly show up in Chicago instantly. That is fundamentally impossible and always will be. I think CF does a pretty good job making it "magic" for most devs and use cases while explaining these fundamental realities and limitations to those who need to know (potentially) for whatever their application is.
- skybrian 3y ago"Won't see a hint of region anywhere" is an exaggeration. Here's the Durable Objects documentation [1]. Don't those "location hints" look like regions? Also, here's the "Data location" page for Cloudflare D1 [2]. See "available hints" at the bottom. I think it would be more accurate to say that Cloudflare's architecture is designed around having lots of regions, automatic migrations between them, and no guarantee about which one you'll get. But they're still there. [1] https://developers.cloudflare.com/workers/runtime-apis/durable-objects/#provide-a-location-hint https://developers.cloudflare.com/workers/runtime-apis/durab... [2] https://developers.cloudflare.com/d1/learning/data-location/ https://developers.cloudflare.com/d1/learning/data-location/
- kentonv 3y agoThese are offered more as an escape hatch in case the system doesn't do what you want automatically. But the goal is definitely for the system to do what you want automatically, so that no one ever has to provide these hints. I actually argued against adding these hints at all, since it confuses the messaging and most people don't need them... but they were easy to add and solved an immediate problem for a few customers, so we did. In other cases we've held firm. For example, some people have wanted to restrict their Workers to run in specific regions because the Worker made lots of requests to a specific back-end in that region. Instead of actually offering explicit hints, we built a system to detect this automatically: https://blog.cloudflare.com/announcing-workers-smart-placement/ https://blog.cloudflare.com/announcing-workers-smart-placeme... In any case, most people don't have to think about regions on Workers, and for the few that do, our goal is to change that. (I'm the tech lead for Cloudflare Workers.)
- mahmoudimus 3y ago> In other cases we've held firm. For example, some people have wanted to restrict their Workers to run in specific regions because the Worker made lots of requests to a specific back-end in that region. Instead of actually offering explicit hints, we built a system to detect this automatically: https://blog.cloudflare.com/announcing-workers-smart-placeme https://blog.cloudflare.com/announcing-workers-smart-placeme... That is an excellent way to design a product. Great job.