Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/thegreenwebfoundation/green-cost-explorer

See how much of your cloud bill is spent on fossil fuels ,so you can do the right thing and switch. We're in a climate crisis, remember?
https://github.com/thegreenwebfoundation/green-cost-explorer

Last synced: about 2 months ago
JSON representation

See how much of your cloud bill is spent on fossil fuels ,so you can do the right thing and switch. We're in a climate crisis, remember?

Awesome Lists containing this project

README

        

# Green Cost Explorer - climate related spend analysis for AWS
[![All Contributors](https://img.shields.io/badge/all_contributors-1-orange.svg?style=flat-square)](#contributors)

If you work in technology, it's reasonable to think that you have some respect for science.

And if you have some respect for science, then you'll understand why spending a significant chunk of your monthly AWS bills on fossil fuel powered infrastructure isn't a thing we can afford to do anymore.

Because Amazon provide a helpful breakdown of which [regions you use run on what they refer to as sustainable power, and which ones do not][1], and [because they provide a cost-explorer tool][2], you combine this information to get an idea of where you might be spending money on fossil fuels without realising.

[1]: https://aws.amazon.com/about-aws/sustainability/
[2]: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CostExplorer.html#getCostAndUsage-property

You can also just look at this nice cartoon. The ones which are notionally sustainable, have the green leaf next to them:

![aws-geek-sustainable-regions](./AWS-Regions.png)

### What this does

TODO:

- [x] Sort your monthly spend into green vs grey spend
- [x] Create a basic table showing this
- [ ] Show this as a chart
- [ ] Project forward, using AWS's cost projection features, to help you see these against your own commmitments

### Usage

#### Prerequisites

- [Enable AWS Cost Explorer](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-enable.html): Simply opening AWS CostExplorer in the AWS console
- An IAM user with CostExplorer read permissions

#### AWS Credential access

You can use `aws configure` to export keys as access, or manually export:

```
AWS_ACCESS_KEY_ID='YOUR_KEY_ID'
AWS_SECRET_ACCESS_KEY='YOUR_SECRET_ACCESS_KEY'
```

This is a wrapper around the AWS NodeJS SDK, so by default, it looks for creds in your environment the way the AWS NodeJS normally does. However, you can also set following the environment variables to override these to try it out.
It looks for the AWS credentials in your environment, but if you're not comfortable with this, the [AWS SDK lets you pass in credentials][creds] in number of ways.

[creds]: https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/getting-started-nodejs.html

#### Usage

```
npx @tgwf/green-cost-explorer
```

If you have it installed and `npm link`-ed locally you can run:

```
npx greencost
```

If all goes well, you'll get something like this (sample data below):

```
┌──────────────────────────────┬──────────────────────────────┐
│ Total Green Cost │ Total Grey Cost │
├──────────────────────────────┼──────────────────────────────┤
│ 49.0% ($146.66) │ 51.0% ($152.48) │
└──────────────────────────────┴──────────────────────────────┘
┌──────────────────────────────┬──────────────────────────────┬──────────────────────────────┐
│ month │ Green Cost by month │ Grey Cost by month │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│ 2018-08-01 │ 64.8% ($11.55) │ 35.2% ($6.27) │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│ 2018-09-01 │ 27.5% ($13.42) │ 72.5% ($35.47) │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│ 2018-10-01 │ 66.6% ($13.60) │ 33.4% ($6.82) │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│ 2018-11-01 │ 68.0% ($13.59) │ 32.0% ($6.39) │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│ 2018-12-01 │ 34.0% ($11.62) │ 66.0% ($22.54) │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│ 2019-01-01 │ 52.0% ($19.43) │ 48.0% ($17.94) │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│ 2019-02-01 │ 49.4% ($19.64) │ 50.6% ($20.13) │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│ 2019-03-01 │ 52.0% ($21.61) │ 48.0% ($19.92) │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│ 2019-04-01 │ 56.6% ($22.19) │ 43.4% ($16.99) │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
```

There are also flags to let you see a breakdown by service as well.

Note: Only infrastructure costs are taken into consideration. Non-infrastructure global costs like Taxes are ignored.

### Licensing

Feel free to use this commercially - part of your job as a professional in tech is to avoid unnecessary harm, and burning fossil fuels to run our infrastructure:

- objectively causes harm
- is avoidable, by either switching regions, or using a different provider, or contacting AWS about offsetting the emissions from running infra in their non-sustainable regions.

To be honest, given this is all about tracking your own spend, so it's actually pretty hard to make this something you _couldn't use_ for commercial use.

So, Apache 2.0, yo.

## Contributors ✨

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):


Franka
Franka

💻

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!