Cloud
AWS
Roiva books the AWS spend tagged to each AI initiative, Bedrock and SageMaker included, so its ROI is net of the cloud costs it actually runs on.
What it answers
What each AI initiative's AWS footprint costs, by the tags you already use
What Roiva reads
Daily cost by service from Cost Explorer, and the same filtered by a cost-allocation tag an initiative names. Optionally, Amazon Quick seat counts. Nothing inside your resources.
Setup
A read-only IAM user, created by a script you run in CloudShell
What you can measure with AWS
Spend by tag
Link a cost-allocation tag such as initiative=support-assistant, and what carries it is booked to the initiative, across every service.
aws.cost.service_spend
Whole AI services
Or map a whole service to an initiative, all of Amazon Bedrock for instance, under the cost type you pick.
aws.cost.service_spend
Only the AI part of the bill
AI Spend counts AWS's AI services and what initiatives claim, and lists the rest of the bill as outside its figures, so the EC2 behind your website never reads as AI.
aws.cost.total_spend
Amazon Quick seats
Using Amazon Quick? Let the key list Quick's users, groups and group members, and Roiva counts licensed seats by subscription and by group each month. Name an initiative's Quick groups and its share of the Quick line on the AWS bill follows their seats.
aws.quick.licensed_users
aws.quick.group_licensed_users
A worked month
A support assistant on Amazon Bedrock
Cloud cost, booked from Cost Explorer by tag, for September
| Amazon Bedrock tagged initiative=support-assistant | $2,780 | AWS |
| AWS Lambda with the same tag | $410 | AWS |
| Amazon S3 with the same tag | $60 | AWS |
$2,780 + $410 + $60
$3,250 booked to the support initiative for September, from a $48,300 AWS bill
The rest of the bill carries no tag an initiative names, so no initiative carries it, and AI Spend lists it as outside the AI figures.
Illustrative figures. Roiva keeps every input with the entry it calculates, and none of it counts until it's approved.
What gets synced
Roiva writes these metric observations on each sync. Reference the key in a value formula to use this data in your ROI calculations.
Billing
aws.cost.total_spend
Total Spend
currency
aws.cost.service_spend
Per-service spend (one row per service, the service in the row's dimensions)
currency
Amazon Quick seats
aws.quick.licensed_users
Licensed users (Professional and Enterprise)
count
aws.quick.professional_users
Professional users
count
aws.quick.enterprise_users
Enterprise users
count
aws.quick.group_licensed_users
Licensed users per Quick group (one row per group, the group in the row's dimensions)
count
What Roiva keeps
Reads: Daily cost by service from Cost Explorer for the last 12 months, and the same filtered by a cost-allocation tag where an initiative names one. With the optional Amazon Quick permissions, Quick's lists of users, groups and group members, to count who holds each subscription.
Keeps: Records of daily cost by service, Amazon Quick seat counts and Amazon Quick seat counts per group, plus the totals worked out from them.
How to connect
You connect AWS from inside Roiva, so you need a Roiva workspace first. Sign in to connect it now. New to Roiva? Start free with your work email, take the free assessment and create your workspace at the end, or request an invite.
- In AWS: Open CloudShell (the terminal icon in the console's top bar), signed in to the account whose bill Roiva should read, and run the setup script below. In an AWS Organization, use the management account: it sees every member account's costs, and only it can activate cost allocation tags. The script creates an IAM user that can read Cost Explorer and nothing else, and prints its access key as access_key_id:secret_access_key
- In AWS: If nobody has opened Cost Explorer in this account before, open it once under Billing and Cost Management to turn it on. AWS then takes about 24 hours to prepare the data
- Back in Roiva: Paste the line the script printed into API Key / Secret and save the connection
- Back in Roiva: The connection page checks each step as that user and gives the command for anything still missing. Once it's all ticked, click Test Connection
- In AWS: Only if you use Amazon Quick, which is optional: run the command the connection page's Amazon Quick seats step gives for an IAM user's key, in CloudShell, to let the same user list Quick's users, groups and group members and nothing else in Quick. Roiva then counts Quick's licensed seats by subscription and by group. It reads the Quick subscription of the AWS account the key belongs to
- Back in Roiva: To count one initiative's costs rather than the whole account's, which is optional, tag its AWS resources and enter the tag where it's linked to the initiative. Counting one initiative's AWS costs walks through it, and the connection page checks each tag
# Run in AWS CloudShell, signed in to the account whose bill Roiva should
# read. In an AWS Organization, that's the management account.
# A user for Roiva that can read Cost Explorer and nothing else.
aws iam create-user --user-name roiva-cost-reader > /dev/null
aws iam put-user-policy --user-name roiva-cost-reader --policy-name roiva-cost-explorer-read \
--policy-document '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Action":["ce:GetCostAndUsage","ce:ListCostAllocationTags"],"Resource":"*"}]}'
# Its access key. The line this prints goes in API Key / Secret:
# access_key_id:secret_access_key.
aws iam create-access-key --user-name roiva-cost-reader \
--query "join(':', [AccessKey.AccessKeyId, AccessKey.SecretAccessKey])" --output text
Need help?
Email hello@roiva.ai with what you're seeing, and you'll hear back within one business day.
AWS
Start free, then connect AWS once your workspace is set up. Or begin with the free AI ROI exposure assessment.
Start free → Sign in to connectRelated integrations