Monday, January 15, 2024

 IaC Innovations:

 

The automation for deploying infrastructure in a consistent, repeatable and error-free manner, involves assets, we call code because it takes similar diligence to be written as any application code that performs create, update and delete of business entities. Infrastructure-as-code has been devops-oriented, often gaining mutually reinforcing automation between the pipeline and the infrastructure delivered. Technology varies with cloud native forms, providers like Ansible, Terraform, and domain specific language such as Pulumi. IaC can be curated as a set of machine-readable files, descriptive model, and configuration templates. There are two approaches for writing it: an imperative approach and a declarative approach. The imperative approach allows users to specify the exact steps to be taken for a change and the system does not deviate from them while a declarative approach specifies the final form and the tool or platform involved goes through the motion of provisioning them. As with DevOps based growth, IaC is usually short-sighted often manifesting independent shared-nothing and even redundant deployments for different business scenarios, leaving little room for consolidation, consistency and organization across deployment hierarchies of management group, subscription, resource groups and resource types.

 

Yet complex IaC deployment writers invest in many notable routines to bring cloud best practices, and artifact management to IaC. These include uniform, consistent and global naming conventions, registries that can be published by the system for cross subscription and cross region lookups, parameterizing diligently at every scope including hierarchies, leveraging dependency declarations, and reducing the need for scriptability in favor of system and user defined organizational units of templates. This article introduces an infrastructure knowledge base that can live in the cloud and is continuously updated with each deployment to provide supportability via read-only stores and frequently publishing continuous and up-to-date information on the rollouts and their key performance indicators and help alleviate the operations from the design and development of IaC.

 

Such a knowledge base would be a hub and spoke model correlating resources with their origin information and existence identifiers and provide a one-stop shop for information regarding the infrastructure that would otherwise require manual cross linking of git repositories, pipeline runs, and issue tracking that are usually disparate systems in themselves. It would make the store cloud native so that the information can be available to query just like the various graph explorers that provide unparalleled querying and automation capabilities for resources and identities in the cloud. This extra mile for a knowledge management system in the cloud as a re-purposable data model across infrastructure maintaining organizations provides more than a single pane of glass for infrastructure drill downs and cross-reference. It brings a platform and enables many virtuous feedback cycles that serve IaC writers and arms them with more information at their fingertips before they make any changes.

No comments:

Post a Comment