The Self Provisioning Runtime
September 24, 2021Big thoughts on where the industry is headed from Shawn Wang:
Advancements in two fields — programming languages and cloud infrastructure — will converge in a single paradigm: where all resources required by a program will be automatically provisioned, and optimized, by the environment that runs it.
I can’t articulate it like Shawn, but this all feels right.
I think of how front-end development has exploded over time with JavaScript being everywhere (see: “ooops, I guess we’re full-stack developers now”). Services have also exploded to help. Oh hiiii front-end developers! I see you can write a little JavaScript! Come over here and we’ll give you a complete database with GraphQL endpoints! And we’ll run your cloud functions! But that means there are a lot more people doing this who, in some sense, have no business doing it (points at self). I just have to trust that these services are going to protect me from myself as best they can.
Follow this trend line, and it will get easier and easier to run everything you need to run. Maybe I’ll write code like:
/*
- Be a cloud function
- Run at the edge
- Get data from my data store I named "locations", require JWT auth
- Return no slower than 250ms
- I'm willing to pay $8/month for this, alert me if we're on target to exceed that
*/
exports.hello = (message) => {
const name = message.data
const location = locations.get("location").where(message.id);
return `Hello, ${name} from ${location}`;
};
That’s just some fake code, but you can see what I mean. Right by your code, you explain what infrastructure you need to have it work and it just does it. I saw a demo of cloudcompiler.run the other day and it was essentially like this. Even the conventions Netlify offers point highly in this direction, e.g. put your .js
files in a functions
folder, and we’ll take care of the rest. You just hit it with a local relative URL.
I’d actually bet the future is even more magical than this, guessing what you need and making it happen.