Deployment infrastructure for sharing usage metrics with customers
A deployment infrastructure for sharing usage metrics with customers is described. An example method includes transforming a usage view file into an anonymous block build file. The usage view file corresponds to a view of customer usage data. The method includes embedding the anonymous block build file into a task, and executing the task to produce a share object that is based on the anonymous block build file. The method includes deploying the share object to a customer account, which enables the customer account to access the view of the customer usage data.
1 . A method comprising:
transforming a usage view file into an anonymous block build file, wherein the usage view file corresponds to a view of customer usage data and the anonymous block build file comprises instrumentation code and one or more structured query language (SQL) statements generated from validating and traversing the usage view file;
embedding the anonymous block build file into a task;
executing, by a processing device, the task to produce a share object that is based on the anonymous block build file; and
deploying the share object to a customer account, wherein the share object enables the customer account to access the view of the customer usage data.
2 . The method of claim 1 , further comprising:
adding a machine learning function into the anonymous block build file; and
in response to deploying the share object, invoking, by the customer account, the machine learning function on the customer usage data.
3 . The method of claim 1 , wherein the share object is deployed by a local account running in a cloud region that comprises the customer account, the method further comprising:
adding a share object version control to the anonymous block build file, wherein the share object version control indicates removal of one or more previous share objects; and
removing, by the local account, the one or more previous share objects from the cloud region.
4 . The method of claim 3 , wherein the task is executed by a background service running in the cloud region, the method further comprising:
detecting, by the background service, a new anonymous block build file stored in a global services repository;
retrieving the new anonymous block build file from the global services repository, wherein the new anonymous block build file comprises a new view of the customer usage data;
embedding the new anonymous block build file into a new task;
executing the new task to produce a new share object; and
deploying the new share object to the customer account, wherein the new share object enables the customer account to access the new view of the customer usage data.
5 . The method of claim 1 , wherein the customer usage data is stored in a regional database, the method further comprising:
instantiating, at the customer account, a customer database based on the share object, wherein the customer database virtualizes the customer usage data stored in the regional database.
6 . The method of claim 5 , further comprising:
receiving a query request at the customer account to perform a query on the customer database;
passing the query from the customer account to a local account;
performing the query, by the local account, on the regional database to produce a query result; and
providing the query result to the customer account.
7 . The method of claim 1 , wherein the usage view file is a structured query language (SQL) file, and wherein the instrumentation code and one or more SQL statements correspond to the SQL file.
8 . A system comprising:
a processing device; and
a memory to store instructions that, when executed by the processing device, cause the processing device to:
transform a usage view file into an anonymous block build file, wherein the usage view file corresponds to a view of customer usage data and the anonymous block build file comprises instrumentation code and one or more structured query language (SQL) statements generated from validating and traversing the usage view file;
embed the anonymous block build file into a task;
execute the task to produce a share object that is based on the anonymous block build file; and
deploy the share object to a customer account, wherein the share object enables the customer account to access the view of the customer usage data.
9 . The system of claim 8 , wherein the processing device, responsive to executing the instructions, further causes the system to:
add a machine learning function into the anonymous block build file; and
in response to deploying the share object, invoke, by the customer account, the machine learning function on the customer usage data.
10 . The system of claim 8 , wherein the share object is deployed by a local account running in a cloud region that comprises the customer account, and wherein the processing device, responsive to executing the instructions, further causes the system to:
add a share object version control to the anonymous block build file, wherein the share object version control indicates removal of one or more previous share objects; and
remove, by the local account, the one or more previous share objects from the cloud region.
11 . The system of claim 10 , wherein the task is executed by a background service running in the cloud region, and wherein the processing device, responsive to executing the instructions, further causes the system to:
detect, by the background service, a new anonymous block build file stored in a global services repository;
retrieve the new anonymous block build file from the global services repository, wherein the new anonymous block build file comprises a new view of the customer usage data;
embed the new anonymous block build file into a new task;
execute the new task to produce a new share object; and
deploy the new share object to the customer account, wherein the new share object enables the customer account to access the new view of the customer usage data.
12 . The system of claim 8 , wherein the customer usage data is stored in a regional database, and wherein the processing device, responsive to executing the instructions, further causes the system to:
instantiate, at the customer account, a customer database based on the share object, wherein the customer database virtualizes the customer usage data stored in the regional database.
13 . The system of claim 12 , wherein the processing device, responsive to executing the instructions, further causes the system to:
receive a query request at the customer account to perform a query on the customer database;
pass the query from the customer account to a local account;
perform the query, by the local account, on the regional database to produce a query result; and
provide the query result to the customer account.
14 . The system of claim 8 , wherein the usage view file is a structured query language (SQL) file, and wherein the instrumentation code and one or more SQL statements correspond to the SQL file.
15 . A non-transitory computer readable medium, having instructions stored thereon which, when executed by a processing device, cause the processing device to:
transform a usage view file into an anonymous block build file, wherein the usage view file corresponds to a view of customer usage data and the anonymous block build file comprises instrumentation code and one or more structured query language (SQL) statements generated from validating and traversing the usage view file;
embed the anonymous block build file into a task;
execute, by the processing device, the task to produce a share object that is based on the anonymous block build file; and
deploy the share object to a customer account, wherein the share object enables the customer account to access the view of the customer usage data.
16 . The non-transitory computer readable medium of claim 15 , wherein the processing device is to:
add a machine learning function into the anonymous block build file; and
in response to deploying the share object, invoke, by the customer account, the machine learning function on the customer usage data.
17 . The non-transitory computer readable medium of claim 15 , wherein the share object is deployed by a local account running in a cloud region that comprises the customer account, and wherein the processing device is to:
add a share object version control to the anonymous block build file, wherein the share object version control indicates removal of one or more previous share objects; and
remove, by the local account, the one or more previous share objects from the cloud region.
18 . The non-transitory computer readable medium of claim 17 , wherein the task is executed by a background service running in the cloud region, and wherein the processing device is to:
detect, by the background service, a new anonymous block build file stored in a global services repository;
retrieve the new anonymous block build file from the global services repository, wherein the new anonymous block build file comprises a new view of the customer usage data;
embed the new anonymous block build file into a new task;
execute the new task to produce a new share object; and
deploy the new share object to the customer account, wherein the new share object enables the customer account to access the new view of the customer usage data.
19 . The non-transitory computer readable medium of claim 15 , wherein the customer usage data is stored in a regional database, and wherein the processing device is to:
instantiate, at the customer account, a customer database based on the share object, wherein the customer database virtualizes the customer usage data stored in the regional database.
20 . The non-transitory computer readable medium of claim 19 , wherein the processing device is to:
receive a query request at the customer account to perform a query on the customer database;
pass the query from the customer account to a local account;
perform the query, by the local account, on the regional database to produce a query result; and
provide the query result to the customer account.