An edge spot market incentivizes all the right behaviors by providing an abstraction mechanism over real estate, energy, and silicon.
What would this look like in practice? Who are the key players? 🧵
> What would this look like in practice?
I am a developer at a software company and I want to deploy my software and data as close (latency wise) to my target consumers as possible.
My software is likely containerized. My data is encrypted using my own keys.
In the traditional deployment scenario I would go to AWS, select a region(s), spin up ECS, EKS, or Lambda + a data layer (DynamoDB, RDS, etc.), and then ship my code. Finally, I update some DNS entries and now the world can access my software. Optional final step: profit.
In the edge scenario much of this is the same. My data tier can still live in AWS owned and operated data centers/regions to take advantage of services that can only exist in large data centers (e.g. Aurora).
My compute and cache move to the edge spot market.
What's the ideal API for this?
I am willing to pay $n for X vCPU, Y RAM, Z storage
With options to allocate capacity based on latency, performance, pools, or price.
Latency to who? I can specify a global latency target in ms or a geomap target.
As an infra user as long as I know my network and data are encrypted and secure I don't care where or on what machines the compute is happening. Providing that secure compute and network at scale isn't trivial at all, but it is possible and AWS is the key player for this.
As a user I have a CloudWAN and whatever VPCs and route tables I want. I can see the sites where my infra is deployed with API calls but ideally it's just a set of IPs / internal endpoints.
> An edge spot market incentivizes all the right behaviors
Why? What does this look like for a capacity provider?
Well as a capacity provider I can programmatically advertise my capacity, pricing, and SLAs to a control plane (AWS) and make it their responsibility to sell my capacity (and they take some margin for providing the market).
I would have to VPN/DirectConnect into the control plane (AWS). Then my electricity and silicon run encrypted payloads and store encrypted data. As a capacity provider I have no idea what the underlying compute/data is doing or who the customer is.
I'm incentivized:
* To get my electricity at the best rates (solar?)
* My real estate is a function of fiber access + geo proximity to consumers + smallest possible space for workloads
* Modern efficient silicon
> Who are the key players?
Developers (you, me)
Providers (AWS, GCP, Azure, Equinox, My Home Rack)
Broker (AWS, ... mystery company)
I've handwaved a lot of important components away during this tweet thread but there are very real portions of this that could be built *today*. Especially for containerized workloads.
I think AWS is uniquely positioned to build this edge broker and I think they'd benefit immensely from it.
AWS is the best control plane for infrastructure that's ever existed and if that control plane could spread beyond AWS owned data centers everyone would benefit.
Anyway... good morning.
Oh one last thing - while I think about this a lot and have done enough writing/speaking on it to get offers from VCs to raise a round... it's not my original idea. I got it from a one off idea in scifi story @nealstephenson wrote. So you know... credit to that guy.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Had a consult with a principal engineer today and they brought up something that might be obvious but I'm repeating it because it wasn't obvious to me:
Just because you can make something more performant doesn't mean you should. Why? (thread)
If I can build a system capable of handling millions of WS connections on a single container that's great right? But do I really need millions? If I do need millions do I really want, in the case of a failure, to re-establish millions of connections on a new set of containers?
Or is it better to artificially limit it to something like 30k connections / container? Just for blast radius purposes - if this container dies I'm only reallocating 30k connections, not 1 million.
(Thread)
One of my favorite things about teams at AWS is that they all have these little subsections on their internal wiki pages:
"Our Tenets, unless you know better ones":
Each one is typically an extension of an existing Leadership Principle but expanded specifically for the unique challenges and skills of that team. amazon.jobs/en/principles
Sometimes the tenets are directly contradictory but they have caveats e.g.:
Quality over Speed
⭐️"We design and test with tremendous rigor to earn customer trust... unless:"
Speed over Quality
⭐️ "If a customer is in pain we react quickly to get them out of pain"