Objective
Enable canisters to pay in ICP for computing services outside the Internet Computer.
Background
After participating in the ICP.Lab Gaming & Metaverse, @ilbert and I realized that many developers in the IC ecosystem still rely on AWS - or similar services - for some parts of their dapps. This is due to the IC being not yet mature enough to serve all their needs. Current services outside of the IC include the HTTP Gateway and WebSocket Gateway - and any other networking protocol gateway like MQTT - game servers for multiplayer games and notification services.
We believe that the Internet Computer will eventually reach the point in which it can serve any developer’s needs. In the meantime, we are exploring whether developers would benefit from being able to pay for the off-chain services their dapps need using ICP instead of fiat. This would enable recipients of developer grants or SNS DAOs to pay for the Web2 services they depend upon.
With the following proposal we would like to start a discussion around alternative ways for developers to pay for the services that cannot yet be deployed on the IC and their dapps require.
Proposal
We are considering creating an orchestrator canister controlling non replicated compute instances which developers can use to run the service that they currently run on AWS. The canister is used to receive the ICP payments from developers who need a non replicated instance and takes care of creating the needed instance and running the code specified by the developer. These instances would not provide a replicated environment to run applications and therefore developers should consider them as centralized instances with a wrapper enabling the payment in ICP.
These instances would be servers provided by independent parties. To launch an instance, canisters would transfer ICPs to the orchestrator canister and specify some code to be run. The orchestrator canister would take care of launching the instance and running the code on it.
Conclusion
The goal is to provide an IC-like interface to run the parts of a developer’s dapp that currently cannot run on the IC. This way, developers could pay in ICP for the services they would otherwise pay with credit card and run them on sovereign hardware instead of AWS.
P.S. This is only a high level idea to start a discussion and understand the community’s feelings on this topic.