Azure is the most developer hostile cloud environment. I have zero sympathy for people being affected by this because if you voluntarily use Azure then this is what you deserve. Sorry for being so miserable, but Azure has given me soooo much grief over the last 10 years that I'm just completely done with this shitshow of a platform.
Our work switched from Slack to Teams after an acquisition, and I can confidently say that Teams is just complete garbage compared to Slack.
- The interface is laggy
- Scrolling back in long messages is buggy, it often skips around and loses its place
- No built in "whiteboarding" tools in screen sharing
- Teams will often keep ringing on my phone for up to a minute after I picked up a call on my laptop
- Sometimes I can't click reactions on messages. I click the emoji and nothing happens
Overall, it's just poorly made software. It feels like something that was made by a couple of interns in their spare time, not a keystone product from a multi-billion dollar company
Also for several weeks recently my phone was getting messages several minutes before they showed up on my laptop, and 3 or 4 of my coworkers (all remote and in various parts of the US) confirmed they were having the same issue.
Nothing is forcing companies to sign an Azure contract with Microsoft, and go with AWS or GCP instead. Perhaps they are just doing something right. But I didn't use Azure myself. I'd be curious to know what's good or bad about it compared to GCP and AWS.
For a development team, here's an example of something good about Azure: Microsoft gives us dev accounts with monthly Azure credits (e.g. $100) and you cannot spend more when those credits run out because there is no credit card etc. behind that account to charge the excess.
Azure just like other cloud services (I've used AWS but as I understand it GCP is the same) doesn't believe in timely billing. You can and will receive charges against an account for services that were turned off yesterday, the day before, even last week, as gradually billing catches up to reality. This means that there is no way to actually cap a budget. If you decide "Once this costs $100 I'm turning it off" you are not capping your expense at $100, after you turn it off charges keep arriving, I've seen a week later and I wouldn't be surprised if it can be longer. Should they do that? Well, even if they shouldn't, good luck making them stop.
But with the "free" Azure credits that have no money behind them, when it drops dead Microsoft eats all the residual charges that will be discovered days or weeks later, because there is no other party for them to bill.
I work for a University, I suspect that if you paid full price for these services it makes no economic sense, a $100 Azure credit that cost $100 is a bad deal, but the University gets an enormous discount, for obvious reasons, and if the other cloud vendors don't want to offer actual billing it does feel like they deserve the consequences.
Sure, it's obvious why they do this. Unlike drug dealers (who don't actually give school kids free crack, that makes no economic sense) it does make sense for Microsoft to ensure every kid who knows how to do rudimentary word processing knows Word, etc.
Nobody is under any illusion that Microsoft just really likes universities for some reason. But on the other hand, we did need lots of this stuff and it's very cheap, budgets are tight and it's not as though hand-rolling even more stuff would be cheaper - we do hand roll some things where it makes sense.
For example, periodically senior people say "Why do we spend $$$$ on a supercomputer? Surely we could rent one from the cloud?" and we (well, not me, different group same department) go OK, we will cost that for you. And they get Azure, Google, etc. to quote them for what they need a supercomputer to do, and then they present this, "The Cloud providers can do that for $$$$$". Ah, that's more money. No thanks, we will continue to run our own supercomputer.
It's not even close. Cloud supercomputer is great if you need the supercomputer for six weeks to do a special project and then you're done with it, the Cloud provider saves you a lot of money. But the University needs supercomputers all the time, so the numbers do not work.
GCP gives me an invoice every first of the month, automatically.
It also offers budget caps, but indeed, those are more a warning and not a hard shutdown. That's annoying. Same at microsoft by the way, except indeed that developer credit as a failsafe.
Google gives 100k free credits to universities and startups by the way (and even to individual departmens if you are a big university). You just have to apply and let them bring in trainers and you have to actually use a percentage, otherwise they take it away the next year.
Whats the deal with the MSDOS era limitations for keyvault and storage account names. FFS it has to be unique AND within 3-24 characters consisting of lowercase letters, numbers and dashes. Storage accounts can’t use the dash. Hello? I thought current century DNS names were limited to 60 characters.
It sounds to me some legacy Windows 2000 spaghettini fettuccini is powering some parts of azure.
> I work for a University, I suspect that if you paid full price for these services it makes no economic sense, a $100 Azure credit that cost $100 is a bad deal
For Cloud to make economic sense, you need to treat it very differently from traditional infrastructure. For example, simply shutting down our Dev environment outside of business hours saves means we're not paying for the compute the majority of the time.
This is why I absolutely avoid using Azure, AWS or GCP for my own side projects. On the company account, sure, it's your money. But I'm not going to risk my savings because I misconfigured a lambda or something.
> I'd be curious to know what's good or bad about it compared to GCP and AWS.
Documentation lies, support lies, metrics lie, bugs everywhere, and when something breaks the status page is always all green and support tries to convince you it's your fault anyway. They're only here to prevent you from enforcing the SLA. The distrust is pervasive.
I stopped suspecting my code, if something breaks outside of a planned maintenance it is _always_ Azure.
My latest support ticket: Azure App Service internal DNS server broke and there is no way to bypass it short of hardcoding IPs in /etc/hosts. Support told me that if I wanted App Service to work reliably I had to implement their DNS server myself.
To rephrase, my PaaS provider told me to spend time and money to implement the very platform I was paying them for, and it just so happened to be absolutely impossible because of an unannounced BC break a few months prior (which is another lengthy and frustrating story).
This morning I had a VM cut out of the network and 10% of my App Service traffic just disappeared. No explanation, no incident report, nothing.
These days I'm working with AWS, and it just works. If something isn't working you know it's your fault and that the answer is in the documentation. I'm not spending days on workarounds, I'm actually implementing as planned. I have no words to describe the relief I'm feeling.
I know Azure generally sucks... If you think you cannot go lower, you should try Oracle Cloud. That is a total piece of dung of a Cloud Service.
I tried it a couple of years ago. After finishing the trial, I removed all instances and disks, supposedly completely blanking the account. And also supposedly deleted the account.
To this day, I still keep receiving some kind of invoice for about $2 USD that they say I owe. And when I login into the "oracle cloud account" nothing works because my account seems to be half-deleted. (like I get error screens when accessing several of their piece of shit panels).
To make things worse, suddenly I started receiving emails from some of their sales team in Portuguese, I guess that my last name sounds kind of Portuguese so someone say, yeah, you write to him.
And while using their system I was not really impressed. Their cost structure was weirder than AWS (and that's saying something) and to mount a volume in an instance you had to do some funky commands.
I would NEVER trust business technology to that sort of system.
Ive used gcp and ive been billed like 10% of minimal wage for setting GCPs demo with like 7 very simple microservices (i dont remember exactly) 4 times and every of them was running like 5 minutes after being deployed and then project was killed
Shit is expensive as hell
For the same money I could rent some weak linux box for a year
what you show there should cost like 300/month to run. Its very transparent pricing, its just bad that the tutorial doesn't mention that.
You do realize what you setup in that tutorial right? A kubernetes cluster with 11 full scale microservices that are dimensioned so they can serve the average medium size business. For only a hobby this is huuuuuuugely overdimensioned.
If you were to do the same on azure, it would cost more. If you are comparing it to a cheap linux box, what the hell are you using kubernetes clusters for then?
I have to wonder what you were doing, I've been continuously hosting my own projects there for years and with the free tier they cost pennies per month to run.
You pay for the resources you use above the free tier limits. My bill for this month so far is 30 cents because I deployed frequently and my docker artifact storage size (with several years worth of deployments) dipped above the limit. Then I added a periodic job to clear out unused docker images older than one year and I'm running for free again.
This is one of the single most comprehensively intense demo projects I've ever seen. I did a multi day AWS Data Lab for work once and it wasn't this comprehensive.
I quite like Microsoft/Azure from a development perspective. If you're running .NET, Application Insights alone is nearly enough to put it above the competition. I appreciate how it integrates with AZD/Teams and the platform as a whole felt much more cohesive than AWS.
The monthly $60-$100 developer credit was fantastic as well. It avoided the usual fighting for approval/budget to test things out.
Yeah, I'm currently missing it very much running .NET on AWS. It's insane how much it gives you for "free". CloudWatch feels like weak tea in comparison.
We moved from AWS to Azure for other reasons, but in doing so we moved from X-Ray to AppInsights, and the difference was amazing. We're big App Insights fans.
From what I can understand choosing Azure is almost always a top-down decision, especially when it comes to government entities/agencies (I live in Europe). MS has a hell of a sales network.
It's usually a cost decision and AWS don't really care about anything smaller then say the US government enough to even attempt to engage in competitive bidding proposals so if a company/organization put out an RFP MS usually finds a way to look cheaper then AWS.
Add to that that AWS dont really engage in the normal business to business sales process but simple gives you a price list and tells you "thats what it costs" pretty much straight up and it's no surprise a lot of traditional enterprises with huge existing Microsoft bills end up with the vendor they know, understand and think they can control.
It's not that there is anything really wrong with AWS their support is good their products work but it's a messy platform where you really need to pay attention and might even engage with consultant to fully understand what your paying for and how optimization decisions is affecting your ROI as everything is priced individually in AWS where as Azure does a bit more bundling into packages.
Many companies use Active Directory. The new kid in the block is Azure Active Directory (AAD), which is the evolution of the self-hosted Windows Servers.
Since many companies rely on it, especially for role base access to internal resources, you can't avoid it as a developer/employee.
You're right, but that's not what they meant (and it's not AAD's trajectory). Microsoft's been adding more and more device management, policies, software rollout, etc. to AAD to bring it up into equal standing with AD and then, eventually, allow most deployments to use just AAD, instead of holding some bulky AD setup of on-prem & cloud.
the people buying these things obviously have no idea about that.
Migrating to Okta or something else neutral would cost the same, but hey, that's a different name
not even remotely close. okta for an enterprise is big dollars. most shops already have o365, so the AAD premium tier licensing is already paid for. aad and okta workforce are almost feature parity.
Microsoft just has found how to sell Azure: scare compliance teams that AWS and GCP are horrible, especially in EU and banking. Use their office monopoly to give huge discounts if you buy as a bundle, and be awesome on comparison charts. They check all the boxes of services they offer. For an exec, it doesn't count how well those services are executed, thats a developer problem that a system integrator will solve.
> Sorry for being so miserable, but Azure has given me soooo much grief over the last 10 years that I'm just completely done with this shitshow of a platform.
And yet it continues to rake in billions + grow 20-40% month over month (even if it is slowing)
They know how important developers are, that's why they bought Github. But developer experience is indeed one of the minor points of consideration when choosing a cloud vendor for large enterprise. Customer service, billing and integration into existing infrastructure is much more important.
Persistent problems between Azure VMs and virtual disks causing unexpected reboots. Complete outages. And don't even start me on ACI (for Windows). It doesn't even work.
In 7 years we had one AWS AZ outage and we didn't even notice because our monitoring platform in there couldn't reach the network (learned something!). But nothing broke. Even the us-east-1 outages didn't affect us.
Were you using Standard HDD disks? They have a really poor SLA, and are only usable for things like stateless VM Scale Sets or otherwise redundant services.
We had to switch everything to SSD to get reliability comparable to on-prem VMware.
That sounds like what I've seen on Azure. Mystery weird problems we see, but they don't. Often in the network side. One time we were pretty sure they had a bad interface in a LAG group. Massive packet loss between hosts, but only on certain ephemeral source ports, about 1/8 of them.... Support couldn't find any issues even after a few days.
This was circa 2018 but AWS was so much more stable at that time. Ok, US-E-1 AWS had issues from time to time but they acked them and fixed them
Yes the lack of them being able to see any problems was a constant problem.
Our AWS reps are all over stuff when it goes down. I regularly get to talk to actual real product managers and engineers via our enterprise support if anything goes wrong.
I'm glad I work for a company that uses Office 365 instead of the equivalent of Google or others. I really like Office products, for all their faults they allow me to work more productively than the alternatives. So I don't know why I have less in my head just because I can work well with Excel and Outlook.
It doesn't really matter, at least if you're in the EU.
While Google, Amazon and others were busy complaining about GDPR, Microsoft was busy working on being compliant, with the result that today they're pretty much the only legal/compliant solution in most of the EU.
The more regulated the industry (health, finance, etc), the more you can be certain that it's running on Azure if it's EU based and running in the cloud.
The irony is the amount of money they have thrown at "Dev Advocates" who don't do a god damn thing to advocate for how developers use their platform. Frankly that's because folks that care burn out. I still remember the time a high-up rail-roaded me and lied repeatedly to a VP about the design of a product as I desperately tried to save them from the 5+ years of having to educate users on two different ways to do [basic ops]. Those basic cloud objects of course have major differences in functionality and ecosystem viability depending on what you choose, but this isn't really explained up front either, you find out by building a solution for months and then finding out you have to backtrack and start over the Azure integration. Maybe again.
All to say, I agree wholeheartedly with every word.
Windows ME did in fact work mostly fine here too, lol. Relatively speaking for Windows 9x performance, of course. I only used it for a year, not because I couldn't stand it but because such was the pace of major Windows updates back then.
Windows Vista was honestly worse for me, not due to bugs but for being two years ahead the curve of hardware, and GPU vendors seemingly rolling their thumbs during betas and once WDDM¹ went live, they panicked and rolled out alpha quality work. So many driver crashes compounded with the heavy RAM requirements... Other than that, and with less of an UAC nazi, I could see an OS that was similar to what Windows 7 became if I squinted. Hardware had caught up, drivers were mature, and on top Microsoft optimized its performance.
In hindsight, WDDM should've been an update to Windows XP that could be rolled out well in advance and let developers focus on a single thing rather than new OS compatibility on top, and deep changes like UAC.
Windows ME was one of my favorite versions of Windows, not being ironic about it either. Its infamy has more to do with how Joe Average uses computers in general.
As for Vista, while I did not use it in its day I can tell its problems were far more to do with crapass hardware manufacturers and their crapass drivers. Vista with access to 7's drivers and hardware runs just fine.
This place I work at has actively fought against using Azure, but we use them because it's advantageous to the business. (or it's perceived to be).
We have actively pushed for AWS or even GCP but it's futile when it doesn't align with business. I'd imagine a lot of developers are facing the same company issues.