For some of us, being completely locked in is an explicit objective. We brag to our customers about the fact that our only major technology vendor is Microsoft. We use AWS but only incidentally for things Azure isn't fantastic at right now.
It's nice not having to constantly think about what to paint on the canvas. If you allow them to, Microsoft can completely guide your IT journey. If you don't constantly dig your heels in and keep your arms and legs inside the ride, this generally works out. The part where it gets shitty is when you absolutely insist on fighting against their patterns. You may win in the short term, but you have to be prepared for the long term effects and downstream frustration.
A good example of the "don't fight it" for us was throwing away our custom logger in favor of Microsoft's application insights crap. I don't like it in nerd terms (because I still think the custom system was better in most ways), but in business terms, it's infinitely better for all involved - The chances I can find someone on LinkedIn who can manage my Azure logging infrastructure are infinitely greater than finding someone who has experience with my custom logger's private repository.
If anyone bragged to me about this I would laugh in their face. You're putting your entire company at major risk.
Sometimes it has benefits, and sometimes its necessary, to use something like Azure. But I would never actively seek tying your existence solely to a single company, nor would I be happy about it. And I would certainly never _brag_ about it. That's insane.
Every company and every vendor has strengths and weaknesses. Laughing in someone’s face for choosing to use one platform is ridiculous at best.
My entire almost 30 year career has been Microsoft centered, except for brief stints with Novell, mainframes, and OS/2.
And based on my anecdotal evidence over many companies and many years, Microsoft has been pretty solid.
If you bragged to me about being locked into Azure I would be very puzzled.
I hadn't seen the article you linked though and will say it seems to be in good taste.
If this isn't enough for you, there's also ChaosDB, the cross-account vulnerability Palo Alto found (https://unit42.paloaltonetworks.com/azure-container-instance...), among many others.
This isn't an isolated instance, that's a pattern.
Yes, every company and every vendor does have strengths and weaknesses. That's why it's foolish to lock yourself in to only one vendor.
If you locked yourself in to AWS, for example, you'd benefit from some great AWS services, but be stuck using the awfulness that is Workmail/Workdocs. Or you could lock yourself into MS and get Outlook/Office, but then be stuck using subpar offerings like Azure Functions or be a victim to their lackadaisical attitude towards security. Why would you ever choose to do either of those? Instead, you can choose both Microsoft for Outlook/Office, and AWS for other offerings that they are stronger at. Now you benefit from the strengths of both, while avoiding their weaknesses.
If you _can't_ do that, there might be good reasons and that's fine. But to _intentionally_ not do that, and especially to _brag_ about not doing that is laughable, no "holier than thou" attitude required.
Don't you think that over a 30 year tech career that I've touched and used many different products and technologies?
We use AWS but, the same argument applies here. It's far, far, far more likely that the developer who implemented the solution leaves than AWS or MS pull the rug from under us.
Given the choice between setting up an ad-hoc solution with one developer, or using an existing managed offering, putting all your eggs in an employee when they have an average tenure of 2 years is _way_ more risky.
Honestly Microsoft isn't any better, but if buy Premier Support (expensive), you can eventually talk to the actual development teams. You also get a person in a suit who will talk to your execute team and take the blame, which is an important feature for managers.
But being locked in itself is certainly a very weird objective.
It wasnt just that. They also advised managers to enforce the use of teams for security reasons - which is a bit like advising that you install windows for open source reasons.
And while SQL server worked fine, postgres and mariadb were initially "unapproved" for security reasons and dog slow once they were (& support couldnt help for some reason).
In business terms Microsoft seems to be basically be a rebranded Oracle - playing an elaborate game of vendor lock in using every trick available while trying to maintain a thin veneer of deniability, circumventing the need to compete on the quality of their software.
Now if youll excuse me I have an unwieldy YAML github actions mess to unwind so we can move to a different CI platform. I wonder why they let it get so bad.
Why not do something standard with no platform lock-in?
We do structured logging and push them to an Elastic stack with fluentd. For now we use an Elastic we deployed on a Linux VM but 1) we can move at any time, either from cloud provider, or stop using Elastic if we want to, and 2) we can probably find more people who can manage that than whatever Azure solution you’re using
I see no reason for getting locked in for something like logs. We actually did that with AWS Cloudwatch at some point and it was a horrible experience
A couple of examples:
- https://learn.microsoft.com/en-us/azure/search/search-sku-ti...
- https://azure.microsoft.com/en-us/pricing/details/app-servic...
I've always been fond of it due to how much it gives you straight out of the box.
I'm on AWS now and sadly it doesn't seem to compare whatsoever. A custom solution seems like it would take a fair bit of effort just to reach basic parity.
As a dev I agree with you entirely.
However for a business this is very definitely a valid stance to take (as covered by some sibling posts). To dismiss it out of hand is a failure to accept that business priorities and concerns can, and often do, differ from technical ones.
Are you a business consultant for MS
We've had to warn you about that before, and also about other guideline violations recently. Could you please review the rules and stick to them? https://news.ycombinator.com/newsguidelines.html
Also AAD.
That's not perfect, but much better than when last year GCP retired IoT Cloud Core with just one year notice, a much less public announcement (an email to affected customers and a note on the product page) and no clear migration path.
Not anymore for a while, unless application developer has been very careful in using DB features. Also, there are things like how indexing differs in two. If ORMs have been used, without a good DBA being available... there are many landmines on the migration path.
It might surprise some people to learn that companies are made up of humans, who have various biases, and are subject to various pressures - like politics and bureaucracy - to produce certain results. Not every decision they make is inherently going to be the best decision
The CFO wants free shit. The CTO … also wants free shit.
Every one else is left dealing with Azure.
Microsoft, meanwhile, is moving towards synapse and fabric which is just everything you need in one spot, (more) easily integrated. I'm not saying it's perfect, but the vast, majority of companies I've worked with don't have the expertise or desire to put together some bespoke architecture taking into consideration the 5 options they have every single step along the way. They want something they can use out of the box.
Also, they have really good documentation for high-availability (e.g., paired regions)
I like that things I did over a decade ago on AWS still work. I don't like that Google throws me on the curb every few months. Azure is in between, but closer to AWS. 95% of the cost is maintenance, so AWS > Azure >> Google.
Bingo.