US 12,001,837 B2
Two-way synchronization of infrastructure-as-code templates and instances
Joseph Paul Wigglesworth, Thornhill (CA); Miguel Angel Jimenez Achinte, Victoria (CA); Gabriel Tamura, Cali (CO); Hans Albert Muller, Victoria (CA); Ian Fraser Watts, Stouffville (CA); and Hugh Edward Hockett, Apex, NC (US)
Assigned to International Business Machines Corporation, Armonk, NY (US)
Filed by INTERNATIONAL BUSINESS MACHINES CORPORATION, Armonk, NY (US)
Filed on Mar. 18, 2022, as Appl. No. 17/698,131.
Prior Publication US 2023/0297366 A1, Sep. 21, 2023
Int. Cl. G06F 8/30 (2018.01); G06F 8/35 (2018.01); G06F 8/36 (2018.01); G06F 8/70 (2018.01)
CPC G06F 8/70 (2013.01) [G06F 8/35 (2013.01); G06F 8/36 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A computer-implemented method for two-way synchronization of infrastructure-as-code (IaC) templates, comprising:
instantiating a current local run-time state model in a local repository using a template of a current global model;
detecting, by a run-time monitor of a local computing system, a change event to a run-time state of the local computing system;
in response to detecting the change event, triggering an update of the current local run-time state model, including transforming the change event into a form suitable for the local run-time state model;
in response to updating the local run-time state model, comparing the updated local model to the current global model;
in response to the comparison determining a structural difference between the updated local model and the current global model:
merging the updated local model and the current global model into a new model;
converting the new model into a textual representation conforming to a notation model;
mapping concepts of the converted model and the notation model to create a result file; and
updating a local clone of the template of the current global model using the result file;
in response to the comparison determining no structural difference between the updated local model and the current global model, pushing changes to the global model to a remote repository.