Such risks will have to be factored in now.
Some things go deep, true. However most businesses don't use most of Microsoft products - even the ones that do, the usage of the more complicated products is far more minuscule than imagined by e.g. CFOs, etc.
The real thing keeping many "in the fold" as it were would be authentication services.
Which are overcomplicated and probably easier to manage without...
We’ve looked into FreeIPA and similar options, but honestly, nothing really holds a candle to Active Directory yet.
for people who didn't RTA
From what I gather, the bigger challenges for businesses are more about the tech ecosystem Microsoft has built. It's hard to just swap out core services like AD without huge disruptions.
Labeling all of Microsoft as banned is really constraining your technology options. This is a gigantic organization with a very diverse set of people in it.
There aren't many things like .NET, MSSQL and Visual Studio out there. The debugger experience in VS is the holy grail if you have super nasty real world technology situations. There's a reason every AAA game engine depends on it in some way.
Azure and Windows are where things start to get bad with Microsoft.
Other countries reliant on US based cloud giants are understandably alarmed at his behavior, and it is now a strong possibility that Trump will attempt to use their reliance on our tech companies to wring from them whatever he wants.
So the idea of escaping US tech monopolies has become very popular among those paying attention.
Still seems like, for most businesses, the biggest hurdle is how deeply Microsoft’s services are embedded rather than politics
There's still a few that don't have direct equivalents, but the list is growing smaller and smaller.
Microsoft is king at "Good enough." It's rarely the best option of anything, but what they do put out is bundled aggressively and is generally "good enough."
So, you have a business where a large portion of the user base needs Excel. So you have licensing for that. Sure you can still use other services - you can use Okta instead of EntraID, some other MDM besides InTune, some other EDR besides Defender but once you have 1 product, why would you, when it's significantly cheaper (both in terms of actual cost per user per month and in terms of employing talent that can administer a MS ecosystem) to just go all in with Microsoft.
Because of the way Microsoft designed their suite of software and services, the only realistic choice is either all in on Microsoft, or no Microsoft at all, and to fix that we need antitrust action.
Microsoft Active Directory has excellent tooling for middle-management-heavy businesses. For better or for worse it provides the most integrated solution to reduce a desktop PC to a perfect thing for repetitive, boring, soul crushing office work. No other software solution comes close.
While I like Windows as a desktop platform, the reasons that it was designed as it is are very clear. To make cheapest laptops as dystopian as possible, you need systems that can run the same boring software for decades. Not for the good for the environment but for profits.
Windows provides all APIs to deeply integrate with Active Directory and MS Office. All engineering, accounting and finance software are deeply integrated with them. They literally run entire countries. I have seen engineering software that used Visio diagrams for designing factory pipelines. It is near impossible to pull the bigger businesses and governments out of this trap without completely upending entire sectors worth trillions. I think only very determined regimes like China can pull it off.
what is state of the art today that compares to ActiveDirectory (not talking azureAd - or whatever they call it these days) ?
I'm not interested in AAA games engines writing and nor is most of the world. If that is it, then you have damned MS with (very) faint praise.
The reason all the AAA games are on it is because they're on the Windows platform, and more importantly their customers are on the Windows platform.
If 95% of gamers ran MacOS instead of Windows, you'd see a very different tech stack among game developers.
Typescript is also Microsoft. So is ONNX.
I can’t express in words what a giant step backwards it is from ASP.NET and Visual Studio. It’s like bashing things with open source rocks after working in a rocket manufacturing facility festooned with Kuka robots.
It’s just… end-to-end bad. Everything from critical dependencies developed by one Russian kid that’s now getting shot at in Ukraine so “maintenance is paused” to everything being wired up with shell scripts that have fifty variants, no standards, and none of them work. I’ve spent more time just getting the builds and deployments to work (to an acceptable standard) for Node.js than I’ve spent developing entire .NET applications! [1]
I have had similar experiences every few years for decades. I touched PHP once and recoiled in horror. I tried to get a stable build going for some Python ML packages and learnt that they have a half-life measured in days or hours after which they become impossible to reproduce. Etc…
Keep on assuming “Microsoft is all bad” if you like. You’re tying both hands behind your back and poking the keyboard with your nose.
PS: The dotnet SDK is open source and works fine on Linux, and the IntelliJ Rider IDE is generally very good and cross-platform. You're not forced to use Windows.
[1] The effort required to get a NestJS app to have barely acceptable performance is significantly greater than the effort to rewrite it in .NET 9 which will immediately be faster and have a far bigger bag of performance tuning tools and technologies available if needed.
Like if orgs need this capability why is there no good open source solution?
The first paragraph links to an article about how the International Criminal Court ’s chief prosecutor has lost access to his email.
This has caused some governments to worry. What if MS was ordered to block access to their software because the US wanted to apply pressure?
I think you misunderstand: the market, ie the number of people who actually care about developing game engines, is tiny.
How many games developers do you know as a subset of the people you know of?
OP only managed to find a niche product area for MS to shine in and maintain traction - the moat thing. Nothing else apparently.
I for one would not miss MS one jot. I wasted so much time with things like autoexec.bat and config.sys back in the day. I got good at it - Novell gave me a T shirt on Cool Solutions for a boot floppy image that managed to try several popular NIC drivers (3c595, 3c905, 3c509, ne1000 and a few others) and get you to a network connection for imaging or whatever. Later on I get to ignore SFC /SCANNOW answers to searches. Do you remember WINS? What about the horror of time sync? The PDC emulator FSMO role is basically a NT domain controller. AD was a bodge from day one, tacked onto ...
Sorry, got carried away there.
Again, Typescript is cared about by whom and what on earth is ONNX?
In the academic and open source world those things are fought against because you don't want to be at the mercy of the software developer in the context of certain rights.
I think for every negative you mention on either side a positive could be found on either side. And like many things on the net, you're not wrong but not necessarily talking about the same kinds of things.
My remaining complaints about Microsoft are the inflexibility of their solutions that command abstractions that just don't work for many organizations, and the general viral nature of software sales in general of which they are one of many with similar issues, however Oracle is the worst of course.
Deployments are just "file copy". You don't even need Docker, because Windows isn't Linux, it has stable user-land APIs so apps are portable.
Not to mention that the dotnet sdk can create container images directly without even needing Docker installed: https://learn.microsoft.com/en-us/dotnet/core/containers/sdk...
There are pre-built Linux and Windows ASP.NET base docker images: https://learn.microsoft.com/en-us/aspnet/core/host-and-deplo...
Visual Studio's ASP.NET templates all have a literal checkbox for "Docker support" which is all it takes to have a hot-reload debugging/editing experience.
The dotnet runtime has very good Docker support, including automatic memory usage tuning to prevent it getting killed by Kubernetes or whatever.
The underlying "App Host" below ASP.NET has fantastic support for layered configuration, which by default supports environment variables, command line parameters, named environment configuration files, and "user secrets" in IDEs. All of it is strongly typed and supports runtime refresh instead of Linux style "restart the process and interrupt user file uploads to get a new config". There's plugins for Key Vault, AWS KMS, App Configuration, feature flags, and on-and-on.
Open Telemetry is fully supported and now the default: https://learn.microsoft.com/en-us/dotnet/core/diagnostics/ob...
Everything in ASP.NET uses the standard built-in ILogger interface, so wiring up any kind of audit logging or custom observability is a piece of cake: https://learn.microsoft.com/en-us/dotnet/api/microsoft.exten...
The really fancy logging uses the high-performance ActivitySource APIs, which are used for lower-level tracing of dependencies and the like. Again, these are standardised throughout not just Microsoft libraries but most third-party packages too: https://learn.microsoft.com/en-us/dotnet/api/system.diagnost...
Aspire.NET can orchestrate multiple cloud emulators, multiple apps, Node.js front-end apps, and wire up the whole thing with Open Telemetry and a free local trace viewer (with span support) with zero config: https://learn.microsoft.com/en-us/dotnet/aspire/fundamentals...
Windows GUI App deployments use standardised installer packages (MSI) that have simple devops pipeline tooling: https://github.com/wixtoolset Now... name the one package format that you can use to distribute client apps to all Linux distros!
When you run "dotnet build", the result is built, unlike Node.js where you end up with 150K tiny little files that need to be rebuilt again "in production" because oh-my-god it's a scripting language with C code blended in randomly, so it doesn't... actually... build. I just had the fun of trying to figure out why PM2 doesn't like musl or running under non-root user accounts, why starting a Node.js app takes frigging minutes whereas ASP.NET starts in milliseconds, and on and on.
Not ony is this a single point of failure but it's one they've no control over whatsoever. Same goes for Google/Youtube etc. It's as risky as flying a passenger jet with only one engine.
What are they thinking, why are they prepared to risk everything?
It boggles my mind.
No one is arguing that developing game engines specifically is common.
If you had a restaurant, would you source your produce from your trusty friend who grows vegetables as a hobby or from an established mega-farming-company?
Yeah, I can see how events like that raise real concerns for foreign governments relying on US-based infrastructure. Even if Microsoft isn’t directly doing anything aggressive, the potential for state pressure is enough to make countries want more control over their tech stack
There's a pretty significant lower bound of size to where you can reasonably have multiple points of failure. And like oh well if you use this stack you could theoretically move at any time isn't really the same thing as being multi-homed. I've been at places where this has been a concern of the leadership but the economics of it have never really worked out compared to spending your time working on anything else related to the business.
The downside is that this produces a microcosm of obscure technologies that can have... strange effects on industry. Some FAANG-like companies have a habit of hiring only recent graduates, so their entire staff is convinced that what they saw at their University is how everybody else does things.
It leads to Silicon Valley clique that has a fantastically distorted perspective of the rest of the world.
Some comments I've seen here on HN are downright hilarious to anyone from the "rest of the world", such as:
"Does anyone still use Windows Server!?" -- yes, at least 60% of all deployed servers world wide, and over 80% in many industries.
"Supports all popular directory servers such as OpenLDAP, ApacheDS, Kopano, ..." -- hello!? Active Directory! Have you heard of it!? It's something like 95% of all deployed LDAP deployments no matter how you count it! The other 5% is Oracle Directory and/or Novell eDirectory and then all of the rest put together is a rounding error.
Nor would I ever use software that lives on a remote server that I've no direct control over.
Let's hope Trump does more blocking, it's the only way to wake up a lazy sleepy world.
BTW, isn't 'infinitely' somewhat of an exaggeration?
My take is that Microsoft consistently makes bad things and makes "good" things into "bad" things; so, I don't have much expectation or faith that anything that I currently think is "good" will stay that way.
Can you even even tell what network stack got you this packet?
How about the protocols that got it from the network to your screen?
How about the quantum mechanics of the phosphors that pushed out the photons?
There are certainly techno-luddites/visionaries who are running their own email servers, but it's a pretty hostile environment for personal email servers. Ignoring the spam, just getting the existing big boys to trust you can be humiliating exercise in futility.
Can I get by without Excel? Sure. Google Sheets? Sure. No spreadsheet at all? Gonna be hard.
Microsoft is where it is because they are viciously competitive at different layers of the stack. Apple wants a piece of every nickel, Microsoft wants a piece of every computer. They license windows for every Mac user in a company.
Here is a typical office use case in an engineering environment:
A user logs into their Windows laptop. It uses a Windows domain which is part of Active Directory system. It connects to the domain server to check the credentials. Those credentials are regularly cached into the Windows laptop. Moreover the company issues smartcards for sensitive access. The user can use the smartcard to login to the laptop too. Active Directory handles the certificates. The manufacturer's driver software integrates with Windows and the Active Directory system.
Group Policy is also stored by the domain server and depending on the user's credentials and the roles in the Active Directory system, the relevant engineering apps can be automatically installed on the user's laptop (let's say Altium or Autodesk). The engineering app then integrates with Active Directory to associate the license with the user's identity on Active Directory.
The user does their work and want to save a report from the engineering app (let's say a Bill of Materials report), it can be automatically saved to user's OneDrive account as an Excel file. The user can then take this report and share it on SharePoint which is OneDrive but more businessy and it supports creating web pages. So now the user can publish this as a web page in their department's SharePoint instance which they use as the main documentation portal. All of the other third party software like VPN logins, HR systems etc. are all also depend on Active Directory to get the credentials.
The scenario above is not just hypothetical. A majority of the biggest conglomerates and even smaller companies are completely locked in. Most of the Western governments too. The usual infrastructure roads, pipelines, power lines etc. were all designed and managed in Active Directory connected Windows PCs.
You cannot just replace Active Directory. You need to replace all the infrastructure around it. That includes not only Microsoft systems but also all the third party software that integrates with it. It is a multi-hundered billion dollar industry of proprietary apps all integrating with each other.
> Out of curiosity, how hard would it be to copy Active Directory in an open source project (like how Excel is copied by LibreOffice)? > > Like if orgs need this capability why is there no good open source solution?
Btw if you think LibreOffice Calc is anywhere close to being an alternative to Excel, you are very mistaken. Just in the basic set of functionality, Calc is 2 decades behind. Excel has a lot of integration with databases to automatically fetch data and update the fields accordingly. If you have a big spreadsheet, Calc struggles a lot while Excel can scale millions of rows quite easily.
Why there is no open-source solution? Because it requires a central entity to develop those elementary APIs combined with an operating system and office suite combo. The entity needs to convince all those multi-billion dollar companies to buy their product. Then it needs to send engineers to work with both clients and software vendors to handle all sorts of kinks and weird use cases.
Microsoft has been doing this since 90s. The entire corporate desktop ecosystem has developed around them and they ensured that Windows and Office would be a centerpiece of all those systems. A bazaar-style open source ecosystem will not be able to manage the scale. Without a central vision and strong product management, it is not possible to mesh multiple projects together. The current open-source systems cannot even agree on which GUI display protocol to use which is just microscopic compared to everything else.
Only a very determined government with virtually unlimited funds and very stable decision making (very likely to be authoritarian) can force all the companies to switch something else. China is that government and they are somewhat successful but not entirely.
Samba, krb5 &co can handle small cases, but it's architecture is still stuck in the nt4 days, and there's limited cohesive integration with LDAP and the other services.
Submitting a bug report though, you gotta know people or know where to ask.
PS: to throw some shade- I'm surprised they didn't (mis)spell it M$- after all everything they mentioned is making me nostalgic for phpBB based tech forums in 2004.
The MOST common developer that work on MS stack is in business apps and web, data, integration stuff.
There is much better fit for MS and there is NO good counterpart in OSX or Linux.
One of the major shocks I get when starting to work on OSX is how much less developed EVERYTHING is outside the ms stack.
The only good reason you have a life working in OSX and less in Linux is because the web lower the playing field.
But if this were a contest of "native" vs "native" is clear MS stack is ahead.
(Much more before, because of course the web change the equation so you can claim things FOR THE WEB are better on linux and even osx)
Beanstalk is a joke compared to AAS, and I'm more than happy to stay far away from Docker/K8s until that complexity is actually required, which it usually isn't until an entire department handles your K8s clusters/EKS.
Cloud AD also works seamlessly with on-prem AD, allowing things like online, self-service password reset for the domain, and in the reverse direction to use TPM-backed certificates/WebAuthn for securing web apps or anything behind MS-linked SSO. Of course, it also integrates tightly with Azure, so you can do RBAC for any VM/service in Azure, since they automatically get service identities in your AD.
That level of integration is so far above anything else on the market that it isn't even a discussion.
That sounds nice, but that's not exactly a feature specific to AD.
All perfectly possible with a couple well placed scripts and some remote logins.
> TPM-backed certificates/WebAuthn for securing web apps or anything behind MS-linked SSO
Yeah this is the overengineered stuff that is therefore difficult to replicate. Certs and auth predate AD and Azure, the lock-in comes from the overcomplicated SAML style rickety tower of doom that just barely functions...
https://learn.microsoft.com/en-us/windows-hardware/drivers/u...
"The characteristics of the endpoint determine the size of each packet is fixed and determined by the characteristics of the endpoint."
And contrary to what you might expect from its presentation/reputation, the place itself is just a building surrounded by green houses and a guy growing and harvesting most of his own stuff. It's an extreme example, but the issue is fairly typical at nice restaurants.
[1] https://gitlab.com/gitlab-org/gitlab/-/issues/6468
[2] https://codeberg.org/forgejo-contrib/federation/src/branch/m...
Autopilot locks Windows OOBE to your Intune instance based on the serial number. The user only has to know their email and a temp password if they're new, or existing login/otp if not. The device can be remotely wiped, and it will start back over at the OOBE (Windows install), ready for the next user.
You can't achieve that with scripts. That requires the ubiquity of Windows as an OS (so device manufacturers play ball). You may find that lock in distasteful, but if that's the world you're already in, it's a magical timesaver.
The only thing which made them use OSX or Windows in the first place was their ignorance of alternatives. Clearly you've never used any consumer-grade Linux distro like Ubuntu.
I love it like it is the hottest wife that have a great job, do the dishes and cooks like a grandma (I am bad at this :))
Have the vendor ship your image?
Or provide your own bootstrap.
Probably something with netboots as well...
If your point is there is a heavy vendor presence, yeah, sure.
But yes, it is all scriptable. Someone has to provision the device, whether that's you or Dell, that's your choice as the customer, not some inherent superiority of one system over another.
I'm not sure it's superior. Although GNOMEs workspace implementation imho is vastly superior to both Windows and macOS
> The only thing which made them use OSX or Windows in the first place was their ignorance of alternatives.
No, it's the availability of daily software that people use, like Excel, Word, Outlook, etc.
> Clearly you've never used any consumer-grade Linux distro like Ubuntu.
I daily drive a Linux distro. I don't pretend it's better for the average human than MacOS or Windows. The market reflects that. Clearly, you've never worked in an office where the only thing available is a Windows or Mac laptop because those are what IT provides and that's where your customers/users are.
How is this any different than a Linux setup where you can just ssh into a box and edit your scripts in the shell using something like nano or vim if you're into that sort of thing?
In the early days of 3D gaming, there were studios that used OpenGL over DirectX on Windows. ID Software were the best known example of choosing OpenGL over DirectX.
I wouldn't touch .NET for ideological reasons (and fear of a rug pull) but I also wouldn't touch any server side JS because I value my sanity.
You sure you like this analogy? Every ambitious restaurant (Michelin stars, World's 50 Best, that type) uses small farmers to try obtain higher quality produce.
It's chain restaurants and shitty family restaurants that use the large suppliers.
First of all, I now cover MS since this incident made headlines. If you are aware of any such incident from the other providers, I am interested.
Another argument is that more companies depend on MS more. Even in high-tech startups and scaleups you'll find traces of Win machines, AD and Office. On the other hand, there are plenty of companies that don't have AWS deployments at all.
OpenGL is legacy tech, just as DirectX
Vulkan is the new shader thing, and has been for at least a decade by now.
…while perhaps there's a distribution out there that I'm unaware of not having tray icons … I've had tray icons since the first time I used Linux, and I still do?
Because you know, sanctioning judges in the International Crime Court in Den Hague is literally not their (the US's) jurisdiction.
Also I'd say your risk of getting cut off is much more than 1 in 2 million, because there's nothing to say this can only be done to one company at a time. What if Trump adds e.g. a whole country to the sanction list, and tells Microsoft to cut that country off?
The risk of getting cut off is the most random variable on the list. I agree with your point, but I have no data to back it up with.
Right but that's clearly not the right way to think about it; if you did that you'd never buy insurance (and probably never do any security work tbh, since very little of it can be justified in expected value terms). The impact of catastrophic damage is nonlinear.
In general SQL Server is such a great product. If you cannot choose PostgreSQL for some reason, make sure your buying manager plays golf with the Microsoft sales people, not with Oracle.
Say you have a 300k USD car. Say that a crash will cost you the full cost. You expect one crash in five years. You then have a yearly expected cost of 60k. If you get an insurance that pays for it all, for 10k USD a year, your ROSI is 500% which sounds like this insurance product is great for you.
But in the real world those numbers are backwards - otherwise insurance companies would go bankrupt! Your insurance for that will cost, like, 70k/year, your ROSI will be 80%, and you'll still buy the insurance, and you'll be right to do so.
On an ancient project, among other things I've been editing JavaScript code both in js files and inline script tags in aspx files. The indentation auto-formatting appears to choose new levels of indentation using a random number generator.
You can't add a new file to the project while it is running, or even create a file through the context menu, but it can detect when the files have changed externally and recommend restarting the project.
There's a thousand little things, but the indentation auto-formatting abomination is a constant burr under my saddle.
But it can't! In the real world, insurance will always be a bad idea in expected value terms (unless being sold by an insurance company with bad pricing that's about to go bankrupt). Your model doesn't work and the only way you can pretend it works is by making up unrealistic fake numbers.
Speaking for myself, running a bakery, I chose MS 365/Teams with regret but accepting that there's nothing else out there with the same value proposition except maybe Google workspace.
They have regional pricing so we get everything for the equivalent of $3.50 per user. Basically no other apps offer regional price - Slack alone would cost about $8 a user.
This includes chat, calls, messaging, 1tb of onedrive space per user, calendar, planner, emails, office, plus loads more.
Sure, it's janky but it basically works. The only thing I've found with a close value proposition (still slightly more expensive even if I limit to just a few gb of space per user) is self-hosted Nextcloud, which is about the same level of janky and requires a tech person or team to set up.
(the EU) doesn't need to throw out the baby with the (US-controlled) bathwater. The EU should present Microsoft with an ultimatum similar to what China might: setup a non-controlled european licensee to own and manage all MS & Azure infrastructure in the region, or have some legislators force a similar structure on them. Complete control, full sourcecode, EU-only support/access - as a condition for corp HQ being allowed to have a monopolistic market share. Either way, nothing the US might decide to do should have any effect in "EU Microsoft", short of severing US Microsoft off completely, in which case EU MS just becomes fully autonomous and bye-bye US. Clearly, a US-controlled Microsoft without this structure is a deep security risk to europe now.
It's a rigged monopoly and has nothing to do with a market economy. Once you have been forced to use Windows, you are doomed.
No reason to not just host email with any domain provider and manage the rest with a small NAS in the office.
Not only cheaper and taking away the update obligations of Microsoft. Which I am sure kills more productivity than managing a Synology server.
This is why it has so many breaking changes.
Wrong! it is as simple as executing `dotnet publish`, zipping up the output folder and sending that package somewhere using whichever protocol and shell utility you like.
> monitoring, tracing, alarming is barely there
Also wrong. OpenTelemetry is fully supported by first-class packages and the dotnet runtime itself exposes a lot of counters. There are a lot of tools to monitor and collect traces of running dotnet processes [1]
> You have to work with MS libraries that are on life-support with glaring bugs still present
You don't have to. Every Microsoft.* library follows strict semantic versioning and is clearly labeled when it is deprecated. If you don't have a plan in place on how to manage your dependencies then this is on you.
[1] https://learn.microsoft.com/en-us/dotnet/core/diagnostics/to...
I used Linux on my main desktop for about 10 years, then went back to Windows. There, you've heard of one.
And far from passive income, there's a joke that buying a franchise is basically buying a job and not just any job - but a stressful, thankless job with terrible working hours. And the price tag for this new life of luxury starts at around a million dollars.
Natively supports Xbox and PC. Can run on Linux with Proton. The Playstation API functionally resembles DX12.
Vulkan is extension management hell (but has gotten much better, I concede)
Many would consider both VSCode and Visual Code pretty good. There might be better alternatives, but generally I'd say they are more good then bad. Github is also a good product. Maybe not exactly a develop tool, but Power BI is also fairly good.
Borderline developer / enterprise solution: SQLServer is great to work with. Maybe not the best relational database server, but it's every bit as capable as MariaDB and I'd prefer it over Oracle.
The first release that would run at all on Linux was 9 years ago and was essential a beta or maybe just a proof of concept.
The current .NET 9 version has trivialised my development projects to the point that I feel bad for taking the customer’s money.
The only problem I’ve had with .NET is that it doesn’t have the same breadth of third party libraries that Java has. If you need something really obscure it either exists in Java or nowhere else.
Also, much as I wish otherwise, very little happens via email in this business. It's all chat apps now.
The important part is cross platform real time communications, calendar, and office. Some kind of kanban board is a nice bonus.
That's one of his most powerful weapons. Like with terrorism, nobody knows who or what is going to be next on the executioner's block, and thus nobody can safeguard against it except cut all ties with the U.S. if you're lucky enough to be outside.
But you are missing a point here. It's about the language, ecosystem and practicality. In shell, you need correct abstraction that lets you work in fast and efficient way and lets you interact fast when debug is needed. What is done using c# in 10 lines can be done in a single line in pwsh. In my book, lower amount of code, ideally no code, is the most important aspect of the development. Majority of things are not constrained by the performance, so pwsh is usually a good fit.
People used ruby, python etc. for infrastructure development long time ago and it was/is akward.
Put pwsh on linux (I do, in all of them) and I will use ssh and vim no problem.
AWS is just a hyperscaler, they don't do the full business stack outside that. Google has a full business stack (read: office tools, email, hyperscaling) as an option, but the experience is miserable because Google constantly deprecates and changes things on a dime, which is why most people avoid them. Killedbygoogle stuff doesn't just apply to their non-paying customers, it applies to their paying customers as well. The moment you try to build anything outside of Gmail or Google Docs, you're subject to their whims and depreciation policies. (Case in point; Google has been sending me scare mails that they're going to kill an OAuth service I set up ages ago because it had no logins for 6 months. They just randomly decided it and gave me a month to deal with it. Their solution isn't just "hey, are you still active" - I am, that's easy to see - it's "just do a login and make sure you do a login every 6 months". If it was just a checkbox in their admin panel, I'd probably have done it without a second thought, but I really cba to figure out what the OAuth service was for, so I guess that OAuth service is gonna bite it now. Probably a selfhosted git forge or something that offered easy Google logins?)
Apple has everything except for hyperscaling, but it's all aimed at normal users, not corporations; I'm pretty sure they don't even have a business version of iCloud? The closest is that they offer MDM and bulk buying individual plans afaik. (Facebook isn't in this industry at all.)
Microsoft is the only one who offers a full kit and the promise that they won't pull the rug out under you. They're also the only one that really tries to take legal compliance and depreciation timelines/upgrade paths seriously. (AWS and Google just pass it off onto the customer with a "figure it out", while MS has loads of infrastructure for both of these.)
It's a hard business to replace if Microsoft goes bad with O365/Azure.
Sounds like even more of a single point of failure, just on your domain provider (who's much more likely to go out of business) than Microsoft. And one with no chat, or phones, or conference calling, or shared calendars, or endpoint management, or SSO, etc, etc.
Just sticking all your data on a cheap NAS in the office works for a few people, although it becomes PITA to do granular permissions when you don't have any proper central authentication. But then it's also a massive single point of failure, so you need to implement a backup solution, and then a way to share files outside of the organisation, and then a VPN so that people can work remotely, and then some monitoring so that you know when a disk fails....and that's getting way beyond what a non-technical person can manage.
It's fine if you're just using it for your hobby. But building your business on top of something like is very likely to come back and bite you in the arse.
Synology is also setup and keep running for years usually.
It's just an example tho. I just don't see any need for a Microsoft cloud solution for a small company (or anyone really)
Or do you mean specific on desktop applications? I have no idea about that field
And I am sure there are even better options than a household Synology.
But putting everything in a cloud and fully depending on a single provider that for the majority of people is in a foreign (and politically dangerous) country is definitely not the obviously better option.
However I do not think it is different for any online service. Any American company would have to cut off services to an individual (or organisation) subject to sanctions (the main example given). The same might apply to other countries for various reasons. There are various reasons a service might fail, or cut off a particular customer (lots of reasons, lots of examples in previous HN discussion).
What has changed is that the typical MS customer is a lot more dependent on MS services - MS 365, Python in Excel ONLY works in the cloud, people used hosted email instead of their own Exchange installation...... That means MS cutting off a customer would mean all their IT would cease working. They can just shut down any organisation with that level of dependency if they are ordered to, or decide to, do so.
1. Most, even quite big organisations, do not have the complexities of operating at the scale of MS services.
2. I have no idea how efficient MS are. maybe they are highly efficient, but I know enough big businesses are inefficient that it is not a given.
And plenty of small businesses and hobbyists do that, and then after they "setup and forget" it they get compromised or lose their data a few years down the line.
I would not imagine storage to be a major cost with something like Nextcloud. They major cost is going to be the tech person to set it up, and you do not need that many hours to do it. Mostly an initially one off cost will be high, and big upgrades might be a lot of work, but maintenance should not be
The big advantages with the 2 person startup are
1. A small business a customer who matters to them, and you will get better service
2. You can get terms such as having control of backups, hosting of your choice, and access to systems so you can get someone else to maintain things
> Contracts come with strict terms of service, SLAs, service expectations and such.
How close do these come to covering the consequential losses of an extended outage?
That is true in some areas of MS's output, but far from all. Some of their documentation is concise but understandable, complete, and up-to-date. Some of it is auto-generated garbage that is only of use if you already know what you are doing and looking for a remainder of a detail.
Some of it is absolutely awful, I've run into numerous issues with Azure related documentation. This is in part because that side of things is rapidly evolving, but sometimes the new information isn't even there, and sometimes it is faff to identify it from information about the previous couple of iterations that are now deprecated. One recent example: installing some of their SQL Server and Azure storage access tooling on the latest Ubuntu LTS release (24.04, now over a year old). The repos are there, maintained, and supported, but the documentation doesn't mention anything beyond 22.04. Yes it is easy to work out what to change, mostly just substitute 24.04 for 22.04, but the docs should be updated. Also, instructions from different documents, all from MS, put their public keys for package signing in different places, which can cause confusion (not an issue for someone like me familiar with apt & related tooling, but I can imagine it being very frustrating to someone less experienced with those parts).
As an example, just over the last few days, I hit all of these common issues with Node.js apps (that don't happen with ASP.NET):
1) Node apps are typically a "transpiled language on a language" because JavaScript is unusable for large-scale software development so everyone uses TypeScript compiled to JavaScript instead. But this is a hack! A clever, useful hack, but a hack nonetheless. You can't go two steps without finding the rough edges, such as "any" everywhere or the use of "monkeypatching" which makes static analysis impossible for either tools or humans. (This reminds me of the earliest days of C++ where compilers like Cfront transpiled C++ to C.)
2) It's single-threaded! Sure, this is simpler, right up until it's not. It means you need about one process per core. Which means that on typical hardware you get a max of 4-8 GB of memory per process, because that's what most hardware has per core. This means in-memory caching is generally too inefficient. (I finally understand why Redis is so popular!)
2b) Okay, let's take a look at Redis! What do you mean it doesn't properly support multiple databases per cluster!? It's single threaded too!? Wat!? Is this a database for children?
3) It takes minutes to start! I hope you never have an emergency update that needs to go out right now!. ASP.NET takes seconds at most. This is largely because it's precompiled and ships as a small number of large binary files instead of millions (literally!) of tiny files that are very slow on almost all server-grade storage. There's now ahead-of-time (AoT) compilation modes for ASP.NET that make it comparable to C++, Rust, or Go in startup performance!
4) I'm sure Node people have heard of certificates and HTTPS, but I'm fairly certain they think it's a fad and it'll just "go away" eventually.
5) NPM libraries are under constant churn. Just updating packages requires minutes of 100% computer power to resolve the dependency graph logic... which has changed. In a breaking way. Either way, it can be mathematically impossible to disentangle the mess before the heat death of the universe. I'm not kidding! It's possible to get into a situation where "error: timed out" doesn't quite do it justice.
6) In .NET land there's basically only two ORMs used: Entity Framework from Microsoft and Dapper from StackOverflow. They work fine. Someone at $dayjob picked "typeorm" for Node. Is it the best? Who knows! There's dozens to pick from! None of them work properly, of course. I do know that typeorm doesn't allow me to pick my own database driver. Why? Because they're too busy, according to the GitHub issue tickets. Entity Framework uses a pluggable interface with dozens of well-supported implementations. This is because the entire platform, all of its database support, and the ORM on top were written by one vendor in a coordinated way and is pluggable via interfaces in the standard library instead of a hodge-podge of random code thrown together by literal children. [2]
Etc, etc...
[1] Under-funded is the more generous reason.
[2] A very significant portion of NPM packages were written by people under the age of 18. This is either commendable or horrifying depending on your perspective. It's hard to prove though, because contributions are effectively anonymous.
If you take it directly on a Walmart scale, then I'll argue that you can't outcompete Microsoft. Note that you need to bring your own ID, Auth, Office, desktop system, etc.
If you have a smaller scale, then you've invested less resources into MS therefore you have a lesser budget to work with.
I dislike nodejs for the same reasons. But do get the feeling that rust and go, maybe even something more exotic like elixir would be good alternatives as well for your use case.
I have barely anything to compare to your requirements tho. I personally would get panic attacks and couldn't sleep anymore if my dependencies aren't open source and I would depend on a company for any reason. But that's just me, it definitely sounds very mature
Why would using a NAS (or small server) mean ignoring any basic logic (and business requirements) and not having off-site backups?
People absolutely should be setting up offsite backups. And more importantly, testing them so that they can prove that they work. But if they have no technical team then neither of those things are going to happen.
> Note that you need to bring your own ID, Auth, Office, desktop system, etc.
Do Microsoft entirely manage all these systems for them? Otherwise they just swap managing one system for another. A quick search seems to show Walmart do hire sysadmins so the current cost on top of what they pay MS is not zero.
Mostly, yes. The problem is that the moment I need something more than what a single cmdlet or bash utility can provide, now I have to use an awkward looking scripting language (bash is the worst offender here). Almost every time I found myself having to write a somewhat long script file, I wish I could just do it with a C like language instead.
For simpler tasks, I fully agree. It is better to use something immediately available like an OS shell utility over coding one myself.
Also, they need some of those hyperscale goodies as they need to work with load spikes e.g. on a Black Friday.
What's something that AD provides that this does not?
It certainly sounds like an (almost) drop-in replacement.
Google Sheets is IMO also much nicer than Excel and for small business you don't really need to deal with Excel lock in.
That being said, the price you got seems unreal.
https://learn.microsoft.com/en-us/dotnet/api/microsoft.offic...