Skip to content
CloudFixTrust Centercloudfix.com
Menu

Menu expanded. The navigation follows.

Architecture

Architecture and data flow, drawn for security reviews.

How CloudFix and RightSpend connect to your AWS environment, what they read, where approval sits, and the narrow boundary inside which each one writes.

Request the diagram filesRole permissions

Figure 1 · CloudFix

CloudFix core architecture.

How CloudFix connects to your AWS environment, what it reads, and how an approved fix runs, without any third-party ITSM integration.

CloudFix core architecture: the CloudFix platform in AWS us-east-1 on the left, your AWS account on the right, and the approval boundary before any fix runs.CloudFix PlatformAWS us-east-1CloudFix App & APIREST API · HTTPS/TLS 1.2+AWS CognitoUser authCloudFrontCDN / HTTPSAnalysis Engine110+ cost finders · recommendations DBAthena / GlueCUR query engineLambdaEvents & automationCloudFix DashboardApprove/reject recommendationsCustomer AWS Account(s)Deployed via CloudFormation StackSet · all changes audited in CloudTrailCloudFormation StackSetDeploys IAM roles · fully auditable IaCcloudfix-finder-roleRead: CUR · CloudWatch · resource metadataTagging (cloudfix: prefix) · CloudWatch LogsCUR + S3Cost & UsageReports bucketCloudWatchUsage metricsfor findersCloudTrailAll CloudFix API calls loggedannotated with CloudFix role── Customer approval required before any changes execute ──cloudfix-ssm-update-roleStarts the approved runbookExternalId unique to your tenantAWS Systems ManagerAutomation runbook, in your accountEvery execution is loggedCustomer AWS ResourcesEC2 · RDS · EBS · ECS · EKSElastiCache · EFS · LambdaRedshift · OpenSearch · S3Modified only after explicitapproval, via SSM AutomationNo broad data accessBrowserDeployMetadataStartrunbookExecute
Figure 1. Data flows between the CloudFix platform (left) and your AWS account (right). CloudFix reads primarily infrastructure metadata; the security page sets out the finder role's full permission model.
  • CloudFix platform (AWS us-east-1)
  • Your AWS account
  • Approval boundary: you approve before any fix runs

Behind the approval boundary. Once you approve a recommendation, CloudFix starts the fix as an AWS Systems Manager Automation runbook in your account, under cloudfix-ssm-update-role. The CloudFix platform can assume that role only with the external ID unique to your tenant, its runbooks are the CloudFix documents shared with your account, and each execution is logged in Systems Manager and in your CloudTrail. Full trust policies and action lists are in the IAM role architecture and the published CloudFormation templates.

Figure 2 · CloudFix with ITSM

CloudFix and your service desk.

How CloudFix integrates with service desk and ITSM platforms through webhooks and the CloudFix REST API, so approval runs through the workflow you already operate.

CloudFix and ITSM integration: CloudFix sends a webhook to your service desk, the service desk runs its own approval and calls the CloudFix API, and CloudFix then starts the approved runbook in your AWS account.Service DeskJira · ServiceDesk · etc.Inbound IntegrationReceives webhook eventsService desk ticketCreated automaticallyresource ID · savings · statusApproval WorkflowHuman review & approvalOutbound API CallHTTPS POST → CloudFix APIData receivedResource IDs · savingsstatus · account nameNo app/business dataCloudFix PlatformAWS us-east-1CloudFix APIBearer token auth · HTTPS/TLS 1.2+Webhook EngineSends HTTPS POST on eventsCognitoUser authCloudFrontCDN / HTTPSAnalysis Engine110+ finders · recommendations DBDashboardApprove / review (web UI)API authenticationBearer token (API key)scoped to accountgenerated in dashboardCustomer AWS Account(s)All activity audited in CloudTrailCloudFormation StackSetDeploys IAM rolescloudfix-finder-roleRead CUR · CloudWatchTagging · CloudWatch LogsCUR + S3Usage reportsCloudWatchMetricsCloudTrailIndependent audit log── Approval required (ITSM or Dashboard) before changes execute ──cloudfix-ssm-update-roleStarts the approved runbookExternalId unique to your tenantAWS Systems ManagerAutomation runbook, in your accountEvery execution is loggedCustomer AWS ResourcesEC2 · RDS · EBS · ECSElastiCache · S3 · Lambda…Modified only afterapprovalNo broad data accessWebhookHTTPS POSTApprovalsignalDeployMetadataStartrunbookExecute
Figure 2. CloudFix sends a webhook to your service desk when a recommendation is ready. The service desk routes approval through its own workflow, then calls the CloudFix API to signal approval. CloudFix then starts the approved runbook through AWS Systems Manager.
  • Service desk or ITSM platform
  • CloudFix platform (AWS us-east-1)
  • Your AWS account
  • Approval boundary

No customer AWS data passes through the service desk platform. Webhook payloads carry CloudFix recommendation metadata only: AWS resource IDs, estimated savings, service type and approval status. No S3 contents, database records, application data or credentials are ever included. The data processing page lists exactly what crosses each boundary.

Figure 3 · RightSpend

RightSpend core architecture.

How RightSpend connects to your AWS Organization, what it reads, and the narrow boundary within which it writes. RightSpend is a separate product with its own IAM roles, its own platform stack and no shared permissions.

RightSpend core architecture: three IAM roles, read access across the Organization, and write access confined to Reserved Instance APIs in designated cRI accounts.RightSpend PlatformCloudFix AWS account · us-east-1EventBridge SchedulesHourly loop · daily seed / prices / reportsStep Functions: main loopCollect → Merge → Solve → Choose → ExecuteLambdaPython 3.12arm64Solver LambdaOR-Tools / SCIPlinear optimisationS3Usage snapshotsPricing dataDynamoDBOperation statecRI trackingAWS Secrets ManagerExternal IDs · no customer credentials storedAWS Pricing APIPublic rate card · no customer dataAWS Marketplace MeteringDaily record · fee on realised savingsCustomer AWS OrganizationRoles deployed via CloudFormation StackSet · every API call logged in your CloudTrailManagement (payer) accountCloudFix-RightSpend-ReadOnly-Master-Roleorganizations:ListAccounts · ListRootsce:Get*: coverage, utilisation, usagecloudformation: scoped to RightSpend StackSetsCost Explorer · OrganizationsAggregate historical usageAccount list for collectionRead onlyAll member accountsCloudFix-RightSpend-ReadOnly-Roleec2:Describe: instances, hosts, regions,capacity reservations, reserved instancessavingsplans:DescribeSavingsPlansEC2 · Hosts · CapacityResource metadata onlyNo instance, volume orapplication data accessed── Write access exists only below this line: Reserved Instance APIs, in designated cRI accounts only ──Designated cRI account(s)CloudFix-RightSpend-Write-Roleec2: purchase · modify · exchangeReserved Instances onlyAssumed under sts:ExternalId condition= your management account IDConvertible ReservedInstances (cRIs)Purchased, split, exchangedThe only objectsRightSpend modifiesCloudTrailEvery RightSpend API call is logged in your own account, attributed to the assuming roleReadReadWriteUsagedata
Figure 3. Three separate IAM roles serve three access patterns, and each is deployed only where it is needed. Read access spans the Organization; write access is confined to Reserved Instance APIs in the designated cRI accounts.
  • RightSpend platform (CloudFix AWS account)
  • Your AWS Organization
  • Write boundary: Reserved Instance APIs only

What RightSpend never has. No write access to EC2 instances, EBS volumes, S3 buckets, databases or any other AWS resource. The only objects it can modify are Reserved Instances, and only in the accounts you designate. It reads resource metadata and Cost Explorer aggregates, never the contents of a workload or data store. Full action lists per role are on the RightSpend page.

Figure 4 · RightSpend loop

The hourly optimisation loop.

RightSpend runs a closed loop once an hour. Every stage before Execute is read-only; Execute is the single stage that calls a write API, and it can act only on Reserved Instances.

RightSpend hourly optimisation loop: read-only stages from trigger to choose, then one write stage that exchanges Convertible Reserved Instances.Read-only stagesWrite stageEventBridgeHourlytriggerCheckNo overlappingrun in flightGet CredsAssumeRole,short-lived STSCollectParallel peraccount · regionMergeUsage snapshotwritten to S3SolveOR-Tools ILPno AWS callsChooseRank optionsapply limitsExecuteModify /exchange cRIsPoll until AWSconfirms the exchangeNo customer resource is modified at any stage in this band. Credentials are short-lived STS sessions obtained per run; nothing long-lived is stored.
Figure 4. The hourly loop as orchestrated by AWS Step Functions. Seeding, pricing refresh, reporting and AWS Marketplace metering run on their own daily schedules outside this loop.
  • Read-only stages
  • Write stage: Reserved Instance APIs only

Need the diagrams in another format?

Request a Visio, draw.io or high-resolution PNG version for your security review pack.