Currently it's a complete bastard of an operating system. It's expensive, hard to manage even with powershell and DSC etc, difficult to update, difficult to provision, complicated and to be honest absolutely terrible licensing hell that costs us days a year. Hyper-V just adds complexity before anyone suggests that.
Exchange on-site deployments are dead. Everyone is moving away from them now and into Office 365 and Google Apps. There is no rational cost justification to use anything else now. Even the big orgs (5000+ staff) are moving off it as it's cheaper to get a fat pipe in than it is to keep 2-3 windows admins and a pile of kit and a SAN on the payroll just to run groupware.
Biztalk is also dead and has been for a few years. People who were using it heavily seem to be holding onto it due to cost reasons and everyone else who has been using it and have done any platform re-engineering have moved off to Windows Server AppFabric, NServiceBus and custom integrations or to AWS/SQS.
Microsoft are pushing Windows Server 2016 with container support as the up and coming new thing. I'm really not interested in this myself. I don't think anyone else is either other than a select number of core windows bloggers. It's simply a "me too" move.
As we re-engineer our application, what our endgame currently looks like is deploying disposable Linux VMs (CentOS) on AWS running ASP.Net 5/golang, microservices, lots of small PostgreSQL nodes (RDS) rather than massive 48 core SQL Server boxes, using OAuth2/OpenID authentication and getting rid of our extensive operations team who are incidentally more of an obstruction than an aid to the organisation.
IMHO Windows Server is probably circling the drain. There are very few places it fits in a modern business and this is only going to get worse going forth as well.
The remaining killer is Active Directory but you can already get Microsoft to deal with that for you on Azure, pre-integrated with Office 365 and sharepoint etc.
Microsoft I suspect will end up a services company like Google with some hardware being sold on the side. And you know what? That's fine.
http.sys is a giant fucking turd. That and the whole urlacl thing. Nothing but pain. They added it because of shitty performance in the NT kernel when serving HTTP from userspace and it turned into a friction point for the whole operating system.
This seems to be one of the patterns for large enterprise software companies, IBM did it as well.
It would be interesting to see what Microsoft could do with Linux on the desktop if they swung their weight behind it, Microsoft has incredible engineering resources and some amazing programmers, I doubt it would happen but it would be fascinating.
It seems they have big plans for their cloud product "Azure"
Strangely that document makes me want NT 3.51 back again as well :)
Exchange Onsite deployments aren't dead, on-site email is dead. Unless, you're "too big" for the cloud (>20k users) because of <$Requirement> then Exchange is an option.
Keeping data On-Premise has always been a challenge, SAN are expensive but that's what it takes if you want data locally.
I can't comment on the rest but we're comparing Apples to Oranges here.
Doesn't really sound you know what you're talking about. That technology is dead and doesn't really replace BizTalk.
"In April 2015 Microsoft announced that it will end support for AppFabric for Windows Server on the 2nd April 2016."
People are stuck with it now, deprecation or not.
Without hard data to support it, my impression (or better, my anecdotal experience) is that Windows Server has quite a strong hold in medium/large sized companies (not necessarily IT companies) as part of the local network infrastructure, and it's quite profitable for Microsoft.
Anecdotally, back a decade ago it was common to see a Windows 2000/2003/SBS box in even an SME environment being a fileserver/exchange/intranet/AD box. Now, I rarely see one. In fact they're declining even in large corps.
Which OS do you deploy on thin clients (ChromeOS, Android, Ubuntu/RedHat Linux)?
Clients: anything really. The OS almost doesn't matter now.
Are other nix shops using Ubuntu for their servers?
https://github.com/dotnet/coreclr/blob/master/Documentation/...
i.e. "libunwind8" translates to libunwind, unzip to unzip and libssl-dev to openssl-devel. libunwind's from EPEL though...
There are lots of MS only shops out there and I don't see any of the changing in the near future.
Most FOSS devs never care to learn such APIs and stay with the lowest common denominator that happens to exist in GNU/Linux and *BSD.
They're definitely not. AIX copied the IOCP interface almost verbatim, but missed one critical piece: associating an IOCP with a desired concurrency level. Solaris added event ports, but again, they missed the concurrency link too.
The root of the problem on UNIX is the readiness I/O model.
See https://speakerdeck.com/trent/pyparallel-how-we-removed-the-... for more info.
It is all about .NET, C++ and additionally the JVM when going outside Windows.
Even though I used UNIX a lot on my career, I have always been with foots on both lands and enjoyed Win32 more than POSIX, claimed as portable, but full of nuaces per UNIX clone.
"an OOP ABI (COM)" you really think this sort of thing is super great and there's nothing like it on "UNIX clones"?
I have heard interesting things about windows async i/o syscalls, but as you'll see in another sub-thread, IIS still has a major component in the kernel, because the overall syscall overhead of windows is apparently somewhat high.
This wouldn't be the first time I've heard of super-fancy windows subsystem designs which in practice were sabotaged by just generally over-complicated implementations. I recall a blog post by Mark Russinovich around the time Vista came out about the new, quite advanced file copying algorithms: http://blogs.technet.com/b/markrussinovich/archive/2008/02/0... - but that file copying performance was often significantly reduced when playing an mp3 file due to the "multimedia class scheduler" - http://superuser.com/questions/18600/107mb-s-network-file-co... - either because i/o and execution priorities didn't actually work, or the engineer assigned to do this didn't know what he was doing and neither did anyone he worked with. Who knows?
This sort of thing is all over microsoft's stuff. Theoretically super advanced, in practice just over-complicated. It's closed source and hugely complicated, so we'll never really know why it doesn't work as well as it should.
If one codes as "C with C++ compiler" then no.
If one makes use of the features that fix C unsafety, then yes.
> "an OOP ABI (COM)" you really think this sort of thing is super great and there's nothing like it on "UNIX clones"?
Which UNIX clone provides a standard OO ABI, as well as, a shell close to the Xerox PARC user experience?
Taligent failed.
I must ask, what exactly makes the current NT kernel a 'hybrid' kernel ?
Also since Windows Vista many drivers are now implemented in user space, with minimal kernel primitives.
Is this what is described as LPC ? Could you elaborate on how it separates the modules (as opposed to unix subsystems) ?
>Thus still offering a micro-kernel cleanness in a monolithic space.
What does this 'cleanness' provide, and how ? It's all in kernel space so if one module crashes the whole kernel crashes ?
What Windows does, is that there aren't any direct calls between modules, only kernel level RPC calls.
All parameters are packed into the RPC message, it is dispatched, unpacked, validated as much as possible on the receiving end, then processed.
Messages and its validation introduce an indirection layer that improves safety.
It is based on the original micro-kernel design Windows NT had, before they moved graphics back into the kernel.
So the micro-kernel message passing is still there, but simplified since now everything runs on the same space. But as of Windows Vista, UDF was introduced for user space drivers.
The "Inside Windows" book series go into great detail how everything works.
[1] https://technet.microsoft.com/en-gb/library/hh397409.aspx
[1]: http://www.tannerhelland.com/4993/microsoft-money-updated-20...
You won't be buying a Windows Server license to run them any more and it's feasible that they may even not run on Windows at some point in the future. Office's server portion and Sharepoint is all .Net so expect them to move it to ASP.Net 5 at some point.
SharePoint is basically the server part of Office. It's a web CMS, a web based Office (viewer), with AD account login support. I wonder why there is no open source SharePoint alternative e.g. coded in PHP.
I think it's because SharePoint's strengths lie mainly in integration with Office and other Microsoft products. Lists, workflows, wikis, etc. in SharePoint aren't great. Basically everything it does can be done in a better way with another tool.
However, due to AD integration, Office integration, the ease of connecting to MS SQL Server, the product can do things that would be difficult to do in any third party product. You can upload Word documents, run a workflow on them, have users edit list data directly in Office products, bulk edit lists in Excel, and use InfoPath forms (basically dead now though from what I recall -- thankfully I no longer have to work with SharePoint).
I think SharePoint won't ever have a competitor that can offer all of its integration.
Or are there too many Microsoft server products earning good profits (i.e. Exchange and BizTalk), to make that switch a realistic future expectation?
I'm genuinely interested to hear people's opinions on their thoughts of the future of Microsoft and Windows Server.