3 ms·
Oh boy, do I hate Azure with a passion. I am part of a team building an automation tool for cloud provider creation of Projects/Accounts/Subscriptions (dependi
by Daegalus 2y ago
Oh boy, do I hate Azure with a passion.
I am part of a team building an automation tool for cloud provider creation of Projects/Accounts/Subscriptions (depending on provider). Our primary provider is GCP, and implementing that was fairly easy. Some gotchas, but easily surmountable.
Now we have gone multicloud to Azure and we need to add support (We were historically on AWS but moved 95% off, we still have some teams on there but we rarely build tools for it outside of Terraform modules). And the Azure API, MS Graph API and Go SDKs for bith are the biggest piles of trash I have ever worked with. Everything is a pointer, even string literals need to be made pointers, but sometimes they aren't....
Documentation is in accurate. Some apis take just the ID, others take a full path. Some of it is documented, many apis have the wrong one documented.
None of the APIs return related resources IDs, you have to search for all of it. So many name based searches. I had to add a caching layer for IDs during creation so I didn't have to lookup the same resource over and over (we use a state machine for creation and it can be resumed midway and other fun things, so we need a lot of checks and resume based code.
Overall it is the worst designed and implemented cloud provider. I would never recommend or choose it if given the power.
- sublimefire 2y agoSDKs are generated but for some reason Go implementation sucks. Internal stuff written in Go is great usually.
- jwnin 2y agois that automation tool commercial or internal? we built one in house, but are interested in a third party option. could be that internal business rules make this a build over buy option., though.