GithubHelp home page GithubHelp logo

Support Azure resources about terracost HOT 9 OPEN

cycloidio avatar cycloidio commented on September 16, 2024 1
Support Azure resources

from terracost.

Comments (9)

ev-hines avatar ev-hines commented on September 16, 2024 5

That sounds good. We are heavily invested in Azure and I think this tool would be helpful, especially as we do have some AWS footprint as well. Hopefully, I can begin working on it more seriously in the next couple of weeks.

from terracost.

ev-hines avatar ev-hines commented on September 16, 2024 1

Update: I recently switched positions to an AWS only organization so sadly I will not be able to make progress on this feature. :-(

from terracost.

evhiness avatar evhiness commented on September 16, 2024

Hello, has anyone begun work on this topic? I would like to work on this if this repository is still being maintained and you're still looking to add Azure. I see from the guide that new providers are discouraged.

I would like to implement windows and linux vms and managed disks at least.

from terracost.

Seraf avatar Seraf commented on September 16, 2024

Hello @evhiness !

It would be a pleasure!
This project is still maintained, and we are still looking to add Azure provider (and even more!).
I will let my colleagues get back to you to give some guidance about implementation/discussions/help.

from terracost.

ev-hines avatar ev-hines commented on September 16, 2024

That would great! Looking forward to hearing back with some more information.

I'll get familiarized with the code base in the meantime.

from terracost.

ev-hines avatar ev-hines commented on September 16, 2024

So I went through the code base over the weekend and it seems that adding a new provider isn't all that difficult. If I understand correctly, I just need to write an ingester that returns a list of Product types from the Azure Price API. With that, it seems that a good portion of the more generic code inside the 'aws' folder could be reused across providers. Is the plan to fully rewrite the ingester/filter logic for each provider in order to stay flexible or would you be open to extracting out some of the more generic code?

from terracost.

xescugc avatar xescugc commented on September 16, 2024

Hi @ev-hines sorry to respond that late hehe.

If I understand correctly, I just need to write an ingester that returns a list of Product types from the Azure Price API

Yes that's a big part of it as the rest relies on the data from the DB which was ingested using that.

You'll also need the terraform.ProviderInitializer and terraform.Provider, because it's needed by the 2 estimate functions.

Is the plan to fully rewrite the ingester/filter logic for each provider in order to stay flexible or would you be open to extracting out some of the more generic code?

If we see repeated code yes, but IMO I prefer to see first the repetition and then make the abstraction, so for now I would suggest to copy any needed code from AWS if you need. I have plan to potentially make some architectural changes but it's just on my mind for now haha.

If you want you can open a Draft PR if you want us to comment things directly on the code, if you still plan to do it.

We'll eventually do it but it's not on the top of the Pipeline of priorities for now, so be free do implement it if you want to :).

from terracost.

xlr-8 avatar xlr-8 commented on September 16, 2024

Update: I recently switched positions to an AWS only organization so sadly I will not be able to make progress on this feature. :-(

Thank you for letting us know! We are still lacking various resources for AWS, so feel free to take a look! 😉

from terracost.

cbcoutinho avatar cbcoutinho commented on September 16, 2024

Azure has recently released a retail pricing API. You can determine the prices of various resources, with some limitations such as USD-only. It may be possible to use this as a reference

https://learn.microsoft.com/en-us/rest/api/cost-management/retail-prices/azure-retail-prices

from terracost.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.