The ‘as code’ paradigm is about being able to reproduce and/or restore a full environment within minutes based on recipes and automation, managed as code.
Therefore, the ‘as Code’ approach provides repeatability, share-ability, versioning in managing the corresponding software components.
For example, ‘Infrastructure as Code’ systems like AWS Cloud Formation create the same infrastructure elements repeatedly on the AWS cloud environment, whereas systems like Terraform create this across multiple clouds in multi-cloud environments. IaC manages and provisioning infrastructure through code instead of using a manual process to configure devices or systems. IaC provides the ability to scale up and scale down components at will, greatly increasing the economy while meeting customer/market demands.
IaC promises to transform the way IT infrastructure is managed. But many organizations today are finding that these tools do not make life easier.
There are several know common IaC issues:
Testability - Unit testing individual functions or pieces of logic in IaC is difficult.
Readability/Polyglot - Infrastructure triaging involves many different formats (HCL, YAML, JSON), which are often obscure to most and need specialized personnel
Inconsistency - Script versions often break backward compatibility, and templating is different.
Portability - Difficult to port IaC between different environments (cloud vendors), especially when there are multiple technologies in a Polyglot topology. For example, CloudFormation on AWS vs. ARM on Azure vs. Cloud Deployment Manager on GCP is not portable between them.
Benefits of snapblocs:
To overcome some of the known IaC issues, snapblocs provides snapblocs SaaS Web UI that easily allows defining the configuration of stacks. No need to write any template code (such as Terraform or CloudFormation), nor any programming language code. Instead, use snapblocs UI for defining stack configuration using UI templates. The stack configuration is saved and versioned, making it easy to keep track of the configuration changes: who did what changes, when?
Choose the old stack configuration from historical versions and apply it to the running stack for rolling back the stack to the old version. For example, choose the scaled-down stack configuration, the running stack, to manually scale down the stack infrastructure for observing the behavior of the system. Or, if the newly deployed stack configuration is not acceptable, apply the previous stack configuration version so that the running stack will be automatically rollbacked to the previous stack infrastructure state without bouncing the running stack. And choose the latest stack configuration to move forward.
Use snapblocs UI to perform UI configuration as code to limit human errors and enable consistent responses to events. Reproduce and/or restore a full environment within minutes based on recipes and automation, managed as code.