From RPC to transactions and durable executions