Closed yuvipanda closed 4 months ago
Current progress on this is:
Me and @consideRatio spent more time on this today, and finished the AWS shared hub costs as well.
Next steps here are:
This will allow someone else to pair with @consideRatio to do the $$$ for May, and then that person can pair with yet another person to do that for June. This would allow us to have a semi-automated process that ensures that CS&S can get these numbers within one week of end of quarter.
I've moved the tasklist to the body of the issue.
Currently blocked and waiting on https://github.com/2i2c-org/infrastructure/issues/3989
@yuvipanda can we get some insight into how to close this card?
@yuvipanda what's the action required to close this?
Per sprint planning meeting, @haroldcampbell is going to make choices here, and ask me specific questions if needed.
This has now been blocked for three weeks - is there anything we can do to move it forward?
Enough people have now completed this work, and we currently have no further work planned here. With that, I'm going to close this one.
The goal of this epic is to implement just enough cloud billing automation that we can be unstressed for another year. It is derived from https://github.com/2i2c-org/infrastructure/issues/3764, and understanding of CS&S's requirements. This should be 'good enough' for at least the next 12 months.
Good Enough Automation Process
There are two parts to sending a cloud bill:
Both these are currently manual. The goal for the 'good enough automation' is to automate (1), and not touch (2) at all.
Desired Process
The following is the process that is desired
This epic is going to be about building this runbook, as well as the commands that will generate this information.
Current status
Currently, we have some code in https://github.com/2i2c-org/infrastructure/tree/main/deployer/commands/generate/billing that generates billing information for dedicated GCP clusters and shared GCP clusters. This updates an existing Google Sheet. This needs to be cleaned up and better set up.
Subtasks
We have two axes here - cluster type (dedicated vs shared), as well as cloud provider (AWS vs GCP). We can pretend Azure doesn't exist for now.
Dedicated Clusters on GCP
This should be the first task, as we already have a lot of good infrastructure for this.
Definition of done
Upon running a deployer command
deployer generate cost-table gcp --start-month <month> --end-month <month>
, it outputs link to a google sheet. This sheet is accessible to anyone with a 2i2c.org account. It has the following information as columns:cluster.yaml
)start-month
toend-month
Work to be done
We mostly have this working. I think we'll need to change this to output a new Google Sheet instead of re-using the same one.
Dedicated Clusters on AWS
This should be the second task, as it's equivalent to what we have for GCP. But it's more work, as we haven't done this at all.
Definition of done
Upon running a deployer command
deployer generate cost-table aws --start-month <month> --end-month <month>
, it outputs link to a google sheet. This sheet is accessible to anyone with a 2i2c.org account. It has the following information as columns:start-month
toend-month
Work to be done
https://docs.aws.amazon.com/cur/latest/userguide/what-is-data-exports.html is what we'll use to programmatically access this information. I've just enabled it today, but this needs to be investigated and figured out.
Shared clusters on GCP
To be refined
Shared clusters on AWS
To be refined.
Tasks