Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Azure resources #3

Open
4 of 13 tasks
patrislav opened this issue Oct 6, 2020 · 9 comments
Open
4 of 13 tasks

Support Azure resources #3

patrislav opened this issue Oct 6, 2020 · 9 comments
Assignees

Comments

@patrislav
Copy link
Contributor

patrislav commented Oct 6, 2020

Planned

  • azurerm_firewall
  • azurerm_linux_virtual_machine
  • azurerm_linux_virtual_machine_scale_set
  • azurerm_managed_disk
  • azurerm_mariadb_server
  • azurerm_mssql_elasticpool
  • azurerm_mysql_server
  • azurerm_postgresql_server
  • azurerm_sql_database
  • azurerm_virtual_machine
  • azurerm_virtual_machine_scale_set
  • azurerm_windows_virtual_machine
  • azurerm_windows_virtual_machine_scale_set
@evhiness
Copy link

evhiness commented Jul 2, 2021

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.

@Seraf
Copy link
Member

Seraf commented Jul 2, 2021

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.

@ev-hines
Copy link

ev-hines commented Jul 3, 2021

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

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

@ev-hines
Copy link

ev-hines commented Jul 6, 2021

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?

@xescugc
Copy link
Member

xescugc commented Jul 9, 2021

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 :).

@ev-hines
Copy link

ev-hines commented Jul 10, 2021

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.

@ev-hines
Copy link

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

@xlr-8
Copy link
Contributor

xlr-8 commented Oct 4, 2021

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! 😉

@cbcoutinho
Copy link

cbcoutinho commented Jun 6, 2023

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants