This content originally appeared on DEV Community and was authored by Paweł Piwosz
Cloudpouch
In this article I do the review of the tool created by AWS Community Builders fellow member - Pawel Zubkiewicz. 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 and click "get your free trial".
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.
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.
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.
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.
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!
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:
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.
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.
Second tab is Relative cost Breakdown
which shows the cumulated data splitted to cost type.
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.
When you hover your mouse on any point in the graph, you can see detailed info about this data point.
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.
Let's see what we can learn, based od EC2 - other
example:
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:
This enables the linked accounts view, where we see the collected and grouped by account spendings.
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 errorMissing 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.
This content originally appeared on DEV Community and was authored by Paweł Piwosz
Paweł Piwosz | Sciencx (2022-04-10T21:13:43+00:00) Cloudpouch – know your AWS costs!. Retrieved from https://www.scien.cx/2022/04/10/cloudpouch-know-your-aws-costs/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.