Architecture as Code vs Infrastructure as Code

Architecture as Code vs Infrastructure as Code

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.

    • Related Articles

    • Architecture as a Service

      The evolution of cloud computing makes it easier to build application stacks. Cloud computing started with the notion of "as a Service," providing on-demand provisioning ability. This "as a Service" model started with "Infrastructure as a service ...
    • snapblocs vs. Other Managed Kubernetes Platforms

      Most Kubernetes platforms focus on the how of deploying and managing Kubernetes-based infrastructure. What remains, is the task of building business solutions from there. snapblocs also provides this same managed Kubernetes enablement, as do other ...
    • Proven Architecture Blueprints

      snapblocs Architecture Blueprints provide proven architecture that delivers common Data Platform use cases, making it simple to provision and manage Data Platform stacks. snapblocs Architecture Blueprints consist of open source components and proven ...
    • Build Infrastructure Once and Deploy Anywhere

      Define stack configuration on one environment, and authorized admins can easily clone the stack configuration and update some configurations, such as cluster parameters. Admins can target environment settings and deploy the cloned stack to upper ...
    • snapblocs vs. Other Integration Platform as a Service (iPaaS)

      Key benefits of snapblocs vs. other iPaaS solutions are: Decreases vendor lock-in Increases innovation and flexibility by swapping 3rd party components  Lowers TCO using open-source components Improves ROI using larger open community support (with ...