Cloudpouch - know your AWS costs!
Tags: aws, costs, awscommunitybuilders
Published: 2022-04-10 21:13:43

---
title: Cloudpouch - know your AWS costs!
published: true
description: Review of the costs control and optimization tool - Cloudpouch
tags: #AWS #costs #awscommunitybuilders
cover_image: https://www.pawelpiwosz.net/assets/cloudpouch/cover.png
---

# Cloudpouch

In this article I do the review of the tool created by AWS Community Builders fellow member - [Pawel Zubkiewicz](https://cloudpouch.dev/#team). His tool focuses on control of the AWS costs and provides to you useful information about potential optimizations.

We have multiple costs optimalization tools out there. So, what is different about Cloudpouch? Well, I'd start with the fact, that it is not cloud based tool. We install Cloudpouch locally, on our machine. It is up to you, if it is good or bad for you, but definitely I see the business cases here.

# Unboxing

Yeah, let's follow the "influencer's style" :D

First, go to [Cloudpouch page](https://cloudpouch.dev/) and click "get your free trial".

![Cloudpouch webpage](https://www.pawelpiwosz.net/assets/cloudpouch/001.png)

We select the subscription model, provide an email and payment option.

Well, maybe for some of you it will be not very convenient, that you cannot try without providing payment options, but you can simply resign from subscription. It is important to mention, that Cloudpouch is giving you one week of free trial, when you can check the tool.

In a few minutes the license code and download link is in the mailbox, so we are ready to install the tool.

## Installation

We have multiple download options. The tool is available for MacOS, Linux and Windows. In my case I selected Windows and I downloaded the exe file.

After installation and first run, the welcome screen appears and we can provide the license key.

![Welcome screen](https://www.pawelpiwosz.net/assets/cloudpouch/002.png)

# Subscription options

Before we go any further, let's explore our purchase options.

Cloudpouch bases on subscription model. We have two options to choose, paid monthly (for 9.99$ each month), or yearly (for 99.99$). The third option is a lifetime subscription (for 499.99$). These prices are valid when I wrote this post (10th of April 2022). There is no difference in functionality, no matter which subscription model we choose.

All models gives 7 days of free trial, when we can explore all functionalitites.

# First run

If you have your `.aws/credentials` configuration already created, immediately after first run you will be able to look into your expences data. Here is first big plus - you don't need to have any special configuration, the default AWS CLI config only. This is great.

![Just after the first run](https://www.pawelpiwosz.net/assets/cloudpouch/003.png)

However, I see one improvement here. I would like to be able to "silent" or even remove some users from the list of accounts. I may have dozens of configured users for CLI and only part of them could be useful for this type of work. The user which will be used for the application, according to FAQ, needs only one policy's privilege: `ce:GetCostsAndUsage`. And best practice is to have it separated from other users.

# Add new account

I decided to add another account, to see and show how easy is to switch between them. So, work done quickly, user created from GUI, `aws configure` executed. I restarted the app to get the new configs and I have more accounts visible in the app. Here is one improvement I'd like to see - reload button for accounts list. It might be helpful.

![More accounts](https://www.pawelpiwosz.net/assets/cloudpouch/004.png)

# Zoom in and out

Using a "time" bar on the top right corner we can select the time span which we want to see. On the end there is a reload button, if you wish to collect the most recent billing information.

![Time selector](https://www.pawelpiwosz.net/assets/cloudpouch/009.png)

# Immediate first catch

Well, how to say it :D Believe me, immediatelly after first run I catched one resource, missed badly by me. It was created for some tests in the past, and obviously I forgot to remove it. Let's see it!

![Immediate hit!](https://www.pawelpiwosz.net/assets/cloudpouch/005.png)

Obviously, it is easy to catch discrepancies in my account in the blink of the eye, whe using Cloudpouch. I know what I should see (I know what I run), so any discrepancy is easily catchable. But this Secret was forgotten for... 2 years :D

---

Going down in the screen we have different representations of our costs usage:

![Costs usage](https://www.pawelpiwosz.net/assets/cloudpouch/006.png)

![Costs usage](https://www.pawelpiwosz.net/assets/cloudpouch/007.png)

Another nice feature is that we can observe combined information for all regions, or we can select one region from dropdown list. The dropdown shows only these regions where any cost was generated.

![Costs usage](https://www.pawelpiwosz.net/assets/cloudpouch/008.png)

# Details

By clicking on one of the services, Cloudpouch shows us more detailed data. Data can be explored in two tabs: `Cost Over Time`, where we see how we were charged through time and for what specific part of the service. 

![Costs usage](https://www.pawelpiwosz.net/assets/cloudpouch/010.png)

Second tab is `Relative cost Breakdown` which shows the cumulated data splitted to cost type.

![Costs usage](https://www.pawelpiwosz.net/assets/cloudpouch/011.png)


Of course, in these graphs you might see more data. Like here, for my S3 service, three lines appeared, based on the positions in our bill.

![Costs usage](https://www.pawelpiwosz.net/assets/cloudpouch/012.png)

When you hover your mouse on any point in the graph, you can see detailed info about this data point.

![Costs usage](https://www.pawelpiwosz.net/assets/cloudpouch/013.png)

## Visual side

All graphs are clean and clear. I personally like it very much. It is easy to read and understand presented information. By clicking on the color boxes with cost type, I can switch on or off selected data, what gives more control on representation. Even the whole 12 months are clear and readable.

With other time selectors we see slightly different ways of data representation. But all of them are very consistent and easy to follow.

Data representation is consistent with AWS billing. Therefore we see `EC2 - other` and `Compute` as two separate elements (to give some example :) ).

# So, I paid. And what next?

Well, at this moment we know for what we pay. Cool, but this is something what we can get from AWS Billing, right? So, why to use Cloudpouch?

It is simple, really. I said on the beginning, it is also an optimization tool. At this moment Author covered only a few services (EC2 and DynamoDB), but as I know him... We can expect more soon :)

So, let's see it in action!

Select interesting service and click `Check Cost Insight` button. This might require additional privileges.

![Costs insights](https://www.pawelpiwosz.net/assets/cloudpouch/014.png)

Let's see what we can learn, based od `EC2 - other` example:

![Costs usage](https://www.pawelpiwosz.net/assets/cloudpouch/015.png)

In my case all is ok, as I do not have much there. But the positions like `NAT Gateway insights` can give us impression what we will see. Through analysis of these entries we can spot issues, forgotten resources or even our misconfigurations.

What we are not able to analyse, however, are the services and resources which are still in free tier (another words, we didn't start to pay for them yet). At least it is how I see it. I have I few DynamoDB tables on configured accounts, but all of them are small and used for my presentations only, so I do not exceed free tier. Looks like I need to pay first, to learn what I can improve :).

# AWS Organization

Cloudpouch can also look on your AWS spendings from the AWS Organization perspective. It is not a place to describe what Organization is, however, I mention here that this service can help you to collect and group your billings (it doesn't complete all functionalities, of course).

To switch Organization view we need to click one button only:

![Turn on Organization view](https://www.pawelpiwosz.net/assets/cloudpouch/016.png)

This enables the linked accounts view, where we see the collected and grouped by account spendings.

![Linked accounts view](https://www.pawelpiwosz.net/assets/cloudpouch/017.png)

Below this view we can check the sum of spending on services, but without split per account, unfortunatelly.

# My ideas for improvements

* Reload button for accounts list. When I added new account, I had to restart the app.
* When `default` profile is not present, the error `Missing credentials in config, if using AWS_CONFIG_FILE, set AWS_SDK_LOAD_CONFIG=1` doesn't look good on the first page.
* Select configured profiles as 'silent' and not show them in app's GUI.
* Possibility to explore costs using tags

# Summary

I really like the tool. Yes, we can agree it is extension to AWS Billing, but it gives to us better view of our spendings. Definitely better. It is visual, it is interactive, very configurable. And most importantly, Cloudpouch supports us with costs optimization. For limited number of services, but I strongly believe, that more will come soon.

However, AWS Billing console is better and better. So, if you look for the tool which will just tell you how much you pay, I am not sure if Cloudpouch is for you. If you look for advices in one tool (not from AWS Billing, Trusted Advisor, DevOps Guru and so on), you should try Cloudpouch. Definitely. If not today, then check it constantly :)

Cloudpouch will be also useful for you, if you wish to have the possibility to check your spendings from local machine, quickly and effectively, with clear and informative graphs.

## What I like

* possibility to work with limited permissions. For the main functionality Cloudpouch needs `ce:GetCostsAndUsage`.
* very nice way of presentation of data
* local installation
* `Insights` which helps to better understand and optimize costs
* works with AWS CLI configuration files

# Future

I am looking forward to see more and more functionalities and optimization algorithm built in the application.