Components
Components are reusable infrastructure-as-code building blocks in Microtica, built with CloudFormation for AWS or Terraform for multiple clouds.
Components are the building blocks of your infrastructure in Microtica. Each one is a piece of infrastructure as code that lives in your Git repository and deploys to your cloud through Microtica, so infrastructure changes flow through the same workflow as your application code.
Microtica supports two types of components: CloudFormation-based and Terraform-based. Both let you define, configure, and deploy infrastructure resources, but each follows the structure of its underlying IaC tool.
CloudFormation components
CloudFormation (CFN) components deploy within the AWS ecosystem. CloudFormation is AWS's native IaC service, where you define AWS resources in JSON templates. CFN components use this native service, so they integrate deeply with the rest of AWS. They suit teams committed to AWS that want CloudFormation's tight integration with other AWS services.
That same integration means CFN components are limited to AWS. You can't use them to deploy on other cloud providers, which makes them specialized for AWS-centric setups but less suited to multi-cloud strategies.
Terraform components
Terraform-based components take a cloud-agnostic approach. Terraform, from HashiCorp, is a widely used IaC tool that supports AWS, Azure, Google Cloud, and many others. Terraform components let you define infrastructure that deploys across different cloud platforms, which suits teams that run in more than one cloud or plan to.
With Terraform components, you standardize deployments across providers using one consistent set of tools and practices. That helps when infrastructure needs to be portable or when you want to combine the strengths of different cloud providers.
Component reusability
A key trait of Microtica components is reusability across environments and configurations. Define a component once and deploy it consistently across development, staging, and production, without duplicating or rewriting the code.
Tailor each component per environment through configurable parameters defined in files like schema.json (for CloudFormation) or variables.tf (for Terraform). The same core component runs with different settings in each environment. For example, deploy a component with more resources in production than in development just by adjusting the parameters, without changing the underlying infrastructure code.
Next steps
Assign a custom domain to an application
Expose a Kubernetes application to the internet in Microtica by assigning a free Microtica domain or your own custom domain, with SSL handled for you.
CloudFormation
Define AWS infrastructure in Microtica with CloudFormation components, using index.json, microtica.yaml, index.js, schema.json, and component.yaml.