Mastering the Fire
“If you play with fire, you’re gonna get burned.” ~ Anonymous
Dmytro is a Senior Member of Tech Staff at eBay with over 20 years of experience. His current role involves the evolution of the Node.JS platform at eBay and open source projects like Trooba and Oja, as well as a set of internal frameworks. His current focus is on the frameworks that can simplify the developer experience while developing relatively complex software products, increase the speed and effectiveness of the development process, and improve scalability, reliability, and quality of the final product.
Technologies are shown for storing data from a data object in a distributed application architecture and reassembling the data object from the stored data. A first set of data from the data object is stored on a distributed file system, and a second set of data from the data object is stored on a blockchain. In response to a request for the data object, a script from the blockchain is executed to generate a reassembled data object by: obtaining, from the blockchain, metadata to reassemble the data object, obtaining the second set of data from the blockchain and the first set of data from the distributed file system, and generating the reassembled data object using the first set of data and the second set of data based on the metadata.
Technologies are shown for storing a data object in a distributed application architecture. Critical data in the data object is stored in an object data block on a blockchain. Noncritical data elements in the data object are stored in data block files at an address on a distributed file system, where the addresses are stored in the data block. The object data block is retrieved from the blockchain. The noncritical elements are retrieved from the file system using the address in the data block. The critical and noncritical elements are combined into a reassembled data object. The critical and noncritical data elements can be differentiated in a data definition for the data object or algorithmically analyzing data in the data object. Metadata for the data object can be stored in the object data block and utilized to combine the critical and noncritical elements into the reassembled data object.
Technologies are shown for storing a data object in a distributed application architecture. Critical data in the data object is stored in an object data block on a blockchain. Noncritical data elements in the data object are stored in data block files at an address on a distributed file system, where the addresses are stored in the data block. The object data block is retrieved from the blockchain. The noncritical elements are retrieved from the file system using the address in the data block. The critical and noncritical elements are combined into a reassembled data object. The critical and noncritical data elements can be differentiated in a data definition for the data object or algorithmically analyzing data in the data object. Metadata for the data object can be stored in the object data block and utilized to combine the critical and noncritical elements into the reassembled data object.
Technologies are shown for storing a data object in a distributed application architecture. Critical data in the data object is stored in an object data block on a blockchain. Noncritical data elements in the data object are stored in data block files at an address on a distributed file system, where the addresses are stored in the data block. The object data block is retrieved from the blockchain. The noncritical elements are retrieved from the file system using the address in the data block. The critical and noncritical elements are combined into a reassembled data object. The critical and noncritical data elements can be differentiated in a data definition for the data object or algorithmically analyzing data in the data object. Metadata for the data object can be stored in the object data block and utilized to combine the critical and noncritical elements into the reassembled data object.
Technologies are shown for storing a data object in a distributed application architecture. Critical data in the data object is stored in an object data block on a blockchain. Noncritical data elements in the data object are stored in data block files at an address on a distributed file system, where the addresses are stored in the data block. The object data block is retrieved from the blockchain. The noncritical elements are retrieved from the file system using the address in the data block. The critical and noncritical elements are combined into a reassembled data object. The critical and noncritical data elements can be differentiated in a data definition for the data object or algorithmically analyzing data in the data object. Metadata for the data object can be stored in the object data block and utilized to combine the critical and noncritical elements into the reassembled data object.
Technologies are shown for storing a data object in a distributed application architecture. Critical data in the data object is stored in an object data block on a blockchain. Noncritical data elements in the data object are stored in data block files at an address on a distributed file system, where the addresses are stored in the data block. The object data block is retrieved from the blockchain. The noncritical elements are retrieved from the file system using the address in the data block. The critical and noncritical elements are combined into a reassembled data object. The critical and noncritical data elements can be differentiated in a data definition for the data object or algorithmically analyzing data in the data object. Metadata for the data object can be stored in the object data block and utilized to combine the critical and noncritical elements into the reassembled data object.
Event data for an application execution is accessed from a table of logged events, the event data comprising a sequence, a hierarchy, and a start time and duration for each event. Dependency data for each event is also accessed to determine whether the start time for an event is dependent on the prior completion of at least one other event. A waterfall representation is then generated, the representation including an entry for each event in the sequence, with a start time and duration represented for each event. Based on the dependencies and hierarchy, it is determined, for each event with a start time that is later than the start time of an event which precedes it in the sequence, whether the event?s start time is dependent on the prior completion of at least one preceding event. The start time for each event may then be advanced based on the determination.
Event data for an application execution is accessed from a table of logged events, the event data comprising a sequence, a hierarchy, and a start time and duration for each event. Dependency data for each event is also accessed to determine whether the start time for an event is dependent on the prior completion of at least one other event. A waterfall representation is then generated, the representation including an entry for each event in the sequence, with a start time and duration represented for each event. Based on the dependencies and hierarchy, it is determined, for each event with a start time that is later than the start time of an event which precedes it in the sequence, whether the event?s start time is dependent on the prior completion of at least one preceding event. The start time for each event may then be advanced based on the determination.
Event data for an application execution is accessed from a table of logged events, the event data comprising a sequence, a hierarchy, and a start time and duration for each event. Dependency data for each event is also accessed to determine whether the start time for an event is dependent on the prior completion of at least one other event. A waterfall representation is then generated, the representation including an entry for each event in the sequence, with a start time and duration represented for each event. Based on the dependencies and hierarchy, it is determined, for each event with a start time that is later than the start time of an event which precedes it in the sequence, whether the event?s start time is dependent on the prior completion of at least one preceding event. The start time for each event may then be advanced based on the determination.
A method of managing delivery of content to end users of an application executing on an application server is disclosed. A definition of a first variant of a web page is received, the definition of the first variant specifying that an instance of a first widget is to be included in the first variant at a first region conforming to a page layout of the web page. A definition of a second variant of the web page is received, the definition of the second variant specifying that an instance of a second widget is to be included in the second variant at a second region conforming to the page layout of the web page. A comparison of the first variant and the second variant is presented with respect to a performance metric, the performance metric pertaining to an effectiveness of the web page at bringing in revenues to a network-based publication system.
A method of managing delivery of content to end users of an application executing on an application server is disclosed. A definition of a first variant of a web page is received, the definition of the first variant specifying that an instance of a first widget is to be included in the first variant at a first region conforming to a page layout of the web page. A definition of a second variant of the web page is received, the definition of the second variant specifying that an instance of a second widget is to be included in the second variant at a second region conforming to the page layout of the web page. A comparison of the first variant and the second variant is presented with respect to a performance metric, the performance metric pertaining to an effectiveness of the web page at bringing in revenues to a network-based publication system.