Secure runtime for virtual machines
A computer-implemented method at a data management system comprises: generating, with one or more processors, a containerized runtime in a memory in communication with the one or more processors; instantiating, with the one or more processors, an app in the runtime; receiving, with the one or more processors, a request from the app for data; retrieving, with the one or more processors, a copy of the requested data from a data source; and transmitting, with the one or more processors, the data to the containerized runtime for the app to operate on.
1. A data management system, comprising:
a server; and
one or more processors in communication with the server, the one or more processors configured to perform operations including:
instantiating a virtual machine, wherein memory in communication with the one or more processors is allocated to the virtual machine;
generating, with the one or more processors, a sandboxed containerized runtime within the memory allocated to the virtual machine, the sandboxed containerized runtime associated with one or more application programming interfaces (APIs) for accessing a plurality of data sources;
instantiating, with the one or more processors, an application from a first runtime to the sandboxed containerized runtime, wherein the application comprises a first user interface in the first runtime;
generating a second user interface for the application in the sandboxed containerized runtime;
receiving, with the one or more processors and from the application, a request for data stored in a data source of the plurality of data sources;
retrieving, with the one or more processors and using an API of the one or more APIs, a copy of the requested data from the data source, the requested data comprising input and output from a second virtual machine;
transmitting, with the one or more processors and using the API, the copy of the requested data to the sandboxed containerized runtime for the application to operate on, wherein the second user interface for the application that is generated in the sandboxed containerized runtime displays indexed files associated with the requested data; and
disabling the second virtual machine based at least in part on analysis of the input.
2. The data management system of claim 1 , wherein the operations further include identifying the API of the one or more APIs to retrieve the data based on the data source.
3. The data management system of claim 1 , wherein the data is a snapshot of a second virtual machine.
4. The data management system of claim 1 , wherein the operations further comprise:
restoring a database to a target location, wherein the application performs queries on the restored database.
5. A computer-implemented method at a data management system, the method comprising:
instantiating a virtual machine, wherein memory is allocated to the virtual machine;
generating, with one or more processors, a sandboxed containerized runtime in the memory allocated to the virtual machine, the sandboxed containerized runtime associated with one or more application programming interfaces (APIs) for accessing a plurality of data sources;
instantiating, with the one or more processors, an application from a first runtime to the sandboxed containerized runtime, wherein the application comprises a first user interface in the first runtime;
generating a second user interface for the application in the sandboxed containerized runtime;
receiving, with the one or more processors and from the application, a request for data stored in a data source of the plurality of data sources;
retrieving, with the one or more processors and using an API of the one or more APIs, a copy of the requested data from the data source, the requested data comprising input and output from a second virtual machine;
transmitting, with the one or more processors and using the API, the copy of the requested data to the sandboxed containerized runtime for the application to operate on, wherein the second user interface for the application that is generated in the sandboxed containerized runtime displays indexed files associated with the requested data; and
disabling the second virtual machine based at least in part on analysis of the input.
6. The method of claim 5 , further comprising:
identifying the API of the one or more APIs to retrieve the data based on the data source.
7. The method of claim 5 , wherein the data is a snapshot of a second virtual machine.
8. The method of claim 5 , further comprising:
restoring a database to a target location, wherein the application performs queries on the restored database.
9. A non-transitory, machine-readable medium storing instructions which, when read by a data management system, cause the data management system to perform operations comprising, at least:
instantiating a virtual machine, wherein memory is allocated to the virtual machine;
generating, with one or more processors, a sandboxed containerized runtime in the memory allocated to the virtual machine, the sandboxed containerized runtime associated with one or more application programming interfaces (APIs) for accessing a plurality of data sources;
instantiating, with the one or more processors, an application from a first runtime to the sandboxed containerized runtime, wherein the application comprises a first user interface in the first runtime;
generating a second user interface for the application in the sandboxed containerized runtime;
receiving, with the one or more processors and from the application, a request for data stored in a data source of the plurality of data sources;
retrieving, with the one or more processors and using an API of the one or more APIs, a copy of the requested data from the data source, the requested data comprising input and output from a second virtual machine;
transmitting, with the one or more processors and using the API, the copy of the requested data to the sandboxed containerized runtime for the application to operate on, wherein the second user interface for the application that is generated in the sandboxed containerized runtime displays indexed files associated with the requested data; and
disabling the second virtual machine based at least in part on analysis of the input.
10. The medium of claim 9 , wherein the operations further comprise:
identifying the API of the one or more APIs to retrieve the data based on the data source.
11. The medium of claim 9 , wherein the data is a snapshot of a second virtual machine.
12. The medium of claim 9 , wherein the operations further comprise:
restoring a database to a target location, wherein the application performs queries on the restored database.