ARC Infrastructure as Code (IaC)¶
Originally, the primary purpose of ARC IaC was to streamline the process for deploying ARC API in AWS and Kubernetes based environments. Since ARC API is platform agnostic and runs in Docker and Node.js, it means that the IaC we produced supports most of the modern cloud ecosystem.
The reference architectures are abstractions of commonly used patterns that implement cloud best practices. For AWS, this means we aim to achieve compliance with the AWS Well-Architected Framework. ARC IaC is a collection of high level Terraform modules that we use to implement the reference architectures. The modules provide streamlined interfaces for handling cross cutting concerns, and often come with opinionated patterns to reduce module coupling . Under the hood, we use a variety of third-party sources for modules, such as Cloud Posse, AWS Integration and Automation, and HashiCorp. Our goal is not re-invent the wheel and recreate modules that are readily available, rather, to simplify the process for teams and enable acceleration.
For POCs and smaller projects, the combination of our ARC reference architecture mono repos and ARC IaC modules should be sufficient to quickly bootstrap a production grade platform.
For enterprise grade projects, ARC IaC is an excellent foundation and accelerator, however, there will be additional effort required to enable or create configurations that support high security models, multi-regional deployments, etc. All IaC is scanned with Snyk IaC.
Reference Architectures¶
- AWS Account Baseline
- Control Tower and AFT
- Control Tower and LZA
- ARC IaC and LZA
- MAP Migrations
- Network Baseline
- ECS Platform Baseline
- EKS Platform Baseline
- Lambda Platform Baseline
- Windows Basic Platform Baseline
- Windows Enterprise Platform Baseline