Prices
Estimated monthly on-demand costs for this workload architecture.
Workload Costs Comparison
Prices by provider and services that enable users to run this workload. Shape the architecture based on cloud best practices using the four Architecture Priorities below — Capacity, Performance, Reliability, and Security. Components and prices recompute as you adjust each priority (e.g. higher Security adds a WAF, KMS, and threat monitoring), and you can switch region or billing period to compare like-for-like.
Architecture Priorities
Select level (High / Medium / Low) to adjust requirementsInfrastructure Architecture Blueprint
Copy or download (export) Terraform and OpenTofu architecture blueprints to deploy this workload in a cloud provider of your choice. Add parameters, credentials, or steps for CLI and DevOps CI/CD pipelines.
| 1 | # ============================================================================== |
| 2 | # ARCHITECTURE BLUEPRINT (TERRAFORM / OPENTOFU) |
| 3 | # Copyright (c) 2026 Cosell Plus, LLC. All Rights Reserved. |
| 4 | # |
| 5 | # DISCLAIMER & TERMS OF USE: |
| 6 | # This IaC blueprint is generated by CompareCloudCosts (CCC) for educational, |
| 7 | # planning, and directional architectural purposes. Provided "AS IS" without |
| 8 | # warranty of any kind, express or implied. Cosell Plus, LLC assumes no |
| 9 | # liability for operational costs, misconfigurations, or service interruptions. |
| 10 | # Always review and validate security, IAM, and compliance parameters before |
| 11 | # deploying to production environment. |
| 12 | # ============================================================================== |
| 13 | # |
| 14 | # ------------------------------------------------------------------------------ |
| 15 | # IDENTITY & CREDENTIAL PLACEHOLDERS (CLI & DEVOPS CI/CD PIPELINE) |
| 16 | # ------------------------------------------------------------------------------ |
| 17 | # Steps to execute this blueprint using Terraform: |
| 18 | # 1. Save this file as main.tf |
| 19 | # 2. Set provider authentication credentials: |
| 20 | # |
| 21 | # For AWS Local CLI Execution: |
| 22 | # export AWS_ACCESS_KEY_ID="<YOUR_AWS_ACCESS_KEY_ID>" |
| 23 | # export AWS_SECRET_ACCESS_KEY="<YOUR_AWS_SECRET_ACCESS_KEY>" |
| 24 | # export AWS_REGION="<REGION>" |
| 25 | # |
| 26 | # For AWS DevOps CI/CD Pipeline (GitHub Actions / GitLab CI / Azure DevOps): |
| 27 | # Recommended: Use AWS OpenID Connect (OIDC) Role Assumption: |
| 28 | # - role-to-assume: "arn:aws:iam::123456789012:role/GitHubActionsDeployerRole" |
| 29 | # - aws-region: "<REGION>" |
| 30 | # |
| 31 | # 3. Initialize and apply: |
| 32 | # $ terraform init |
| 33 | # $ terraform plan |
| 34 | # $ terraform apply |
| 35 | # ------------------------------------------------------------------------------ |
| 36 | |
| 37 | # ------------------------------------------------------------------------------ |
| 38 | # PROVIDER CONFIGURATION (TERRAFORM) |
| 39 | # ------------------------------------------------------------------------------ |
| 40 | 🔑 terraform { |
| 41 | required_version = ">= 1.5.0" |
| 42 | required_providers { |
| 43 | aws = { |
| 44 | source = "hashicorp/aws" |
| 45 | version = "~> 5.0" |
| 46 | } |
| 47 | } |
| 48 | } |
| 49 | |
| 50 | 🔑 provider "aws" { |
| 51 | region = var.aws_region |
| 52 | |
| 53 | default_tags { |
| 54 | tags = { |
| 55 | ManagedBy = "Terraform" |
| 56 | Environment = var.environment |
| 57 | Workload = var.workload_id |
| 58 | Vendor = "Cosell Plus LLC Blueprint" |
| 59 | } |
| 60 | } |
| 61 | } |
| 62 | |
| 63 | 🔑 variable "aws_region" { |
| 64 | type = string |
| 65 | default = "us-east-1" |
| 66 | description = "Target AWS Deployment Region" |
| 67 | } |
| 68 | |
| 69 | 🔑 variable "environment" { |
| 70 | type = string |
| 71 | default = "production" |
| 72 | description = "Deployment environment (e.g. dev, staging, production)" |
| 73 | } |
| 74 | |
| 75 | 🔑 variable "workload_id" { |
| 76 | type = string |
| 77 | default = "workload-blueprint" |
| 78 | description = "Identifier tag for the workload" |
| 79 | } |
| 80 | |
| 81 | # ------------------------------------------------------------------------------ |
| 82 | # WORKLOAD COMPONENT RESOURCES (VOICE AI ASSISTANT) |
| 83 | # ------------------------------------------------------------------------------ |
| 84 | # Component: Audio Ingestion Storage (Landing bucket for incoming voice recordings and generated replies) |
| 85 | 🔑 resource "aws_custom_🔑 resource" "audio_storage" { |
| 86 | # Add required parameters for Audio Ingestion Storage |
| 87 | } |
| 88 | |
| 89 | # Component: API & Orchestration |
| 90 | 🔑 resource "aws_launch_template" "api_orchestration_lt" { |
| 91 | name_prefix = "api_orchestration-lt-" |
| 92 | image_id = "ami-0c55b159cbfafe1f0" # Amazon Linux 2023 AMI |
| 93 | instance_type = "t4g.medium" |
| 94 | |
| 95 | tag_specifications { |
| 96 | resource_type = "instance" |
| 97 | tags = { |
| 98 | Name = "API & Orchestration" |
| 99 | } |
| 100 | } |
| 101 | } |
| 102 | |
| 103 | 🔑 resource "aws_autoscaling_group" "api_orchestration_asg" { |
| 104 | name_prefix = "api_orchestration-asg-" |
| 105 | min_size = 1 |
| 106 | max_size = 4 |
| 107 | desired_capacity = 1 |
| 108 | vpc_zone_identifier = ["subnet-placeholder-1", "subnet-placeholder-2"] |
| 109 | |
| 110 | launch_template { |
| 111 | id = aws_launch_template.api_orchestration_lt.id |
| 112 | version = "$Latest" |
| 113 | } |
| 114 | } |
| 115 | |
| 116 | # Component: Speech-to-Text (Transcribes incoming voice audio into text (AI · Inference · Audio modality)) |
| 117 | 🔑 resource "aws_custom_🔑 resource" "speech_to_text" { |
| 118 | # Add required parameters for Speech-to-Text |
| 119 | } |
| 120 | |
| 121 | # Component: Conversation State Store (Session and conversation-history store so replies stay contextual turn to turn) |
| 122 | 🔑 resource "aws_custom_🔑 resource" "conversation_store" { |
| 123 | # Add required parameters for Conversation State Store |
| 124 | } |
| 125 | |
| 126 | # Component: Conversational LLM (Interprets the transcript and generates the reply text (AI · Foundational Models · Chat modality, tier scales with Performance)) |
| 127 | 🔑 resource "aws_custom_🔑 resource" "llm" { |
| 128 | # Add required parameters for Conversational LLM |
| 129 | } |
| 130 | |
| 131 | # Component: Text-to-Speech (Synthesizes the LLM reply back into spoken audio (AI · Inference · Audio modality)) |
| 132 | 🔑 resource "aws_custom_🔑 resource" "text_to_speech" { |
| 133 | # Add required parameters for Text-to-Speech |
| 134 | } |
| 135 | |
| 136 | # Component: Backup Storage |
| 137 | 🔑 resource "aws_s3_bucket" "backup_storage" { |
| 138 | bucket_prefix = "ccc-backup_storage-" |
| 139 | force_destroy = false |
| 140 | } |
| 141 | |
| 142 | 🔑 resource "aws_s3_bucket_server_side_encryption_configuration" "backup_storage_enc" { |
| 143 | bucket = aws_s3_bucket.backup_storage.id |
| 144 | rule { |
| 145 | apply_server_side_encryption_by_default { |
| 146 | sse_algorithm = "AES256" |
| 147 | } |
| 148 | } |
| 149 | } |
| 150 | |
| 151 | |
| 152 | |
| 153 | |
| 154 | # ------------------------------------------------------------------------------ |
| 155 | # OUTPUTS |
| 156 | # ------------------------------------------------------------------------------ |
| 157 | 🔑 output "blueprint_summary" { |
| 158 | value = { |
| 159 | workload_id = "voice-ai-assistant" |
| 160 | 🔑 provider = "aws" |
| 161 | region = "us-east-1" |
| 162 | components = 7 |
| 163 | priorities = { |
| 164 | capacity = "medium" |
| 165 | performance = "medium" |
| 166 | reliability = "medium" |
| 167 | security = "medium" |
| 168 | } |
| 169 | } |
| 170 | } |
| 171 |