Windows Server 2012 kicks ass: discuss
Reg commentards weigh in
A little experiment from us: we are rounding up comments on a couple of articles - and turning them into articles. Some might call this stretching the material - social media types might call it amplification. But we think that not all of our commentards are mad - and many have very interesting insights to share. Yesterday we mined our comments from Martin Glassborow's column, "How about a Petabyte of storage?". Today, we turn to Trevor Pott and reactions to his prognostications on Windows Server 2012.
The launch of Windows Server 2012 had, according to some observers, met with a lukewarm response from the key systems administrator audience. Register columnist Trevor Pott politely disagreed, stating unequivocally that “Windows Server 2012 kicks ass”. He began his article acknowledging that this was a contentious position, summing up the reaction of many sysadmins to the launch as being more “Why care?” than “What’s new?”.
Server 2008 R2 is a great operating system, while Server 2012 bears the stigma of Metr and theWindows 8 controversy. But the answer to "why care" is simple: Server 2012 is as big a leap over 2008 R2 as 2008 R2 was over 2003. Server 2012 comes with some great new features. It also refines previous versions of Server to bring it past the "never use version 1.0" stage and up to parity, in features and stability, with competing offerings.
Trevor set out his top ten reasons for liking the new product, justifying his wholehearted approval. We’ll count them down in edited form, and let the commentards have their say at the end. You will notice that some areas were more sensitive (with their own blue touch paper supplied) than others.
10. IIS 8 IIS 8 brings Internet Information Services up to feature parity with the rest of the world, and surpasses it in places. The "you use Windows as your web server" jokes officially end here.
9. PowerShell The 2012 line of products marks a revolution in Microsoft's approach to server management. The only downside is the incomplete documentation. While finding the info you need is not always a simple matter, once you have it “you can make the 2012 stack of Microsoft software sing”, says Trevor.
8. DirectAccess DirectAccess has evolved into a reasonable, reliable and easy-to-use replacement for virtual private networks.
7. Cluster Shared Volumes You may now roll your own highly available multi-node replicated storage cluster and do so with a proper fistful of best-practice documentation.
6. Deduplication Increasing demand for storage means deduplication has moved from nice to have to absolute must. Server 2012 supports deduplication on NTFS volumes – though tragically it does not work with CSV – and deeply integrates it with BranchCache to save on WAN bandwidth.
5. Hyper-V 3.0 While VMware retains the feature lead at the top end, Server 2012 sees Hyper-V catch up with VMware's mainstream. Pott noted that while Hyper-V Server – the free Windows Core version of Hyper-V – is feature complete: Microsoft is betting you will spend the money on System Center 2012 and it is probably right. System Center 2012 is amazing, even more so with the newly launched Service Pack 1. The emphasis on PowerShell and Microsoft’s decision to go after VMware with Hyper-V server has created an ecosystem of third-party management tools such as 5Nine. This is likely to see Hyper-V’s market share explode.
4. Hyper-V Replica Hyper-V Replica is a storage technology designed to continuously replicate your virtual machines across to a backup cluster. It ensures that snapshots no more than 15 minutes old of your critical virtual machines are available over any network link, including the internet.
3. iSCSI iSCSI is now integrated into Server 2012 as a core component.
2. NFS 4.1 Microsoft's NFS 4.1 server is good code; fast, stable and reliable, it makes a great storage system for heterogenous environments and a wonderful network storage point for VMware servers.
1. SMB 3.0 SMB 3.0 is the crown jewel of Server 2012, far removed from its predecessor CIFS. It supports multiple simultaneous network interfaces and supports MPIO, thin provisioning of volumes and deduplication (assuming the underlying storage is NTFS).
Overall, Trevor notes: I have found Server 2012 to be worth the cost of the upgrade, even where I have the excellent Server 2008 R2 deployed. Given that I work with very limited IT budgets, that is a strong endorsement.
By far, the most comments concerned Powershell, and judging from the tone, this is a marmite issue. Some people really don’t like it, while others think it is the best thing Microsoft could have done. We’ve edited many of these for length, but have tried to stay true to the tone and content of the original comments.
What the Reg readers say about Powershell:
BuckFutter is concerned:
Yeah, but… You can't use the Powershell 3 cmdlets with SharePoint 2010, so basically this version is useless for SP2010 until MS decide to bring out a new update.
Also, one of the other best new features is the ability to go back to a core or full version of the OS, or an intermediate 'minimal server interface' which will just give you a PS console, and the Server Manager interface. Additionally, you can now choose not just to remove roles and features, you can actually get rid of them altogether, meaning a reduced attack surface. As much as I hate Microsoft, I have to admit, Server 2012 is a great OS. Shame about the Metro though...
Bronze badge holder K lays down a personal challenge to MS:
Kudos to M$ for giving it a try, but Powershell is Slow, very limited in functionality, very poorly documented and has very limited support by non-M$ applications.
Fix these problems and I'll gladly become a powershell user.
Meanwhile Bronze badger LDS wonders if adding GUIs was the best plan:
Windows needed more scriptable ways to accomplish tasks, but making GUIs just a layer above a bunch of powershell scripts just made them slow, cumbersome, and with bad error reporting - they really look now like some crappy Linux applications. Both GUIs and cmdlet should call directly the same APIs to ensure no matter who you're performing a task, the fastest and better way is used.
Richard Gadsden replied:
GUI over scripts? You mean like SQL Server Management Studio? Works well there. Not a PowerShell guy myself, but SSMS works brilliantly.
And P Lee added:
The problem is more likely to be internal to MS. They want to avoid gui tools sneaking around doing things the scripts can't. So you decree that you have to call scripts and you gain consistency at the cost of speed. For an enterprise, that's often worthwhile.
Silver-badge holder ShelLuser responds to the list in its entirety, although focuses heavily on the Powershell experience, highlighting just how diverse the user experience can be. [We’ve edited this for length]
Hardly advantages, in fact...I wonder if the author has actually used any of the stuff he mentions himself.
First PowerShell; going from 2 to 3 isn't an upgrade, Because Microsoft has released an incomplete product. The reasoning behind it was good: make sudden components more modular and as such allow for more differences. For example localized systems will now have the option to get localized help.
And because PowerShell 3 now keeps an online help repository it makes it really easy to distribute new updates to the help section(s) and provide new translated help sections.
Only one small problem.... Microsoft never thought about what would happen if a localized system (say nl-NL) only had the default (en-US) help section because the translations weren't available yet.
Worse: they also never stopped to think if users actually wanted to get localized help or a whole environment for that matter. When using the help command I can't specify a language for example...
Resulting in a totally broken PowerShell experience. The only way to fix things is to manually copy "localized directories" yourself.
IIS8? This is Microsoft we're talking about, do you really think that they'll keep that locked into Server 2012? Give it a rest and when all the bugs have been found and removed it'll become available for other platforms as well.
As for the rest of the features (Hyper, iSCSI, SMB); all very good new developments I'm sure, but do those really justify a whole new server?
I wouldn't be surprised if some companies would get into 2012 because they have to (EOL of the old server) but it also wouldn't surprise me if other companies would skip this line entirely, just like they're seem to do with Windows 8. The Metro tie-in will certainly influence those kind of decisions IMO.
Neither is Bainia a fan of Powershell, as we’ll see from this comment and a subsequent list of specific complaints:
It's really hard for me not to poke fun at Power Shell. I've really tried to give it a go, but coming from a very strong background in command line driven systems, it's really awful. <snip>
One Anonymous Coward takes on Bania’s enumerated issues:
>1 Takes an inordinate amount of time to actually start. 11 Seconds each time on speedy, modern hardware
On my machine it opens *instantly*. Only the first time you open PowerShell after a system reboot does it take a little longer. Maybe you should check to see what's going on the the profile scripts?
>2. Lacks many of the basic features of a unix-like shell.
On the contrary, Unix shells lack many, *many* of the features of PowerShell.
>3. Has no concept of handling text in an elegant manner, every thing is an "object"
Yes it does. Text is just a sequence of string objects. But you will hardly ever use the powerfull string functions of PowerShell, because they simply are not needed when you operate with objects.
>4. It's WAY too wordy for even the simplest tasks
There are short aliases for most common commands, all parameter names can be shortened as long as they are ambigous. Do not be fooled by the fact that it is considered good style to use the long forms when illustrating code. PowerShell can be every bit as terse as bash - sometimes more so.
>5. PATHs are still using the wrong slash
Ignorant. PowerShell has always accepted both the forward slash as well as the backward slash forms.
>6. No persistent command history
Just save it. Or set a function to save it on exit and reload it on initialization. Or better yet: Build a library of actual snippets. Oh, bash doesn't have snippets?
Where is the consistently implemented risk management in *sh shells? In PowerShell you can run any action command with -WhatIf. In that mode no changes will be made to the system. Instead the changes that *would* have been made are reported to the user. It even works with scripts: If you support -whatif as a script parameter it sets global preference to "whatif" and none of the commands of the script will actually execute.
Where is *sh shells integration with transactions? You can use PowerShell to connect to multiple database servers, message queue servers, etc. and perform tasks in a transaction context and ensure transactional consistency.
Where are *sh shells suspendable and resumeable scripts? PowerShell workflows can run scripts across system restarts, suspend a script/job on one machine and resume it on another machine.
How do you create parallel *sh scripts? PowerShell supports parallel execution within a workflow script.
This conversation was going to stay lively. Bronze badge holder eulampios wanted a piece of the action, and began a dialogue with an anonymous coward which begins here and quickly accelerates into a very technical discussion about the merits of awk and bash, among other things.
A shell is an interface that glues programs together. What it does is providing both user and programs to interact with one another in a convenient, simple, seamless fashion.
Sure bash can do many things by itself without utils, its gonna be slower and several magnitudes weaker (perl 5 can do hundreds times more and faster what bash does). Instead, you primarily use bash to talk to those many little almost perfect utils.
The power of a posix shell and posix utils is that it is an environment of independent, simple, very efficient utils and apps yet capable to talk to each other and shell very well, thus adhering to the KISS principle. The atoms of this ensemble tend to be small and simple. Similarly, emacs is a collection of independent bits incorporating shells and utils plus it's own power. That is why it is awesome in dired, grep, tramp, calc modes multiplied by the shell commands on a region...
While PS seems to have larger add-on chunks that is not easy to divide. Creating a complex cumbersome monster in my mind is not creating a shell.
The AC replies:
ls finds files/dirs. And then it also has many(!) options for controlling output formatting. And it has options for controlling sorting. So ls doesn't do "one thing" - it does multiple things which other commands also do. Not very "unixy".
find also finds files/dirs. And then it has many(!) options for controlling output formatting as well. And then it has options to *execute other processes*. wtf? Why would a find utility execute other processes? That's not very "unixy" as in "do one thing and do it well".
ps finds processes. It has many, many options for controlling filtering, output formatting (again!) and sorting (again!). Why do multiple utilities include options for controlling output formatting and sorting beyond what their task is? That's not very "unixy", is it?
Enter PowerShell. ls is an alias for Get-ChildItem - which does one thing: It finds files/dirs. It has very few options compared to the *nix counterpart - simply because it doesn't do output formatting or sorting. It also doesn't need an enormous amount of filtering options because the objects it produces include all of the properties that you could possibly want to filter on.
So which shell has a design which allows tools to do one thing and do it well? Look at the commands. PowerShell commands do one thing and not the kitchen sink like *nix commands. And yet you can combine PowerShell commands in straightforward ways to achieve functionality not even possible in *nix shells.
After a few more exchanges, KingZongo was clearly getting a headache and tried to sum up the opposing view points:
Windows Server used to be crap. It isn't any more. It's not perfect either.
Linux used to be crap. It isn't any more. It's not perfect either. For whatever task you have in mind, you may find Windows slightly less crap at doing it than Linux. Or you might find Linux slightly less crap. The end.
There - fixed it for you.
Naturally this didn’t close this issue in the comments, but we’ll let it stand today. Leaving Powershell now, another clearly contentious issue was that of the developer community, and how wise it might be to develop apps that work on the Microsoft platform. Prompted by an Anonymous Coward who approved of MS offering “serious competition to VMWare”, the fiercely anti-Microsoft commentard Eadon has this to say:
Isn't it odd that vendors that write applications for Windows suddenly find that Microsoft starts "competing" with them. Write apps for windows at your own risk. If you start to make money, then Microsoft will bring out their own version and attempt to steal the market you created.
The AC replies:
Hyper-v and VMware are competing mainly at the hypervisor/bare metal level. Although there is virtualisation at the workstation, where both have been in the market for a long time.
Are you saying that an OS manufacturer shouldn't be able to make applications for their OS? It's like saying IBM make z/OS, so they shouldn't be allowed to make DB/2 because Oracle made mainframe relational databases before them.
Meanwhile Gold-badger JDX opines that this is “called capitalism”, and observes that “When companies try to stop others doing this, you complain about "stupid software patents stifling free competition". Make up your damn mind.”
Jean Luc steps into the fray with a variation on the Armstrong Defence for any perceived misdeeds:
OK, I'll bite. Bad old OS vendor writes apps for their OS. Shocked, shocked. First, where is the grass any greener?
Apple? They'll happily write iOS apps that compete with what someone else did. It's happened before and it will happen again.
Linux? Lemme laugh on that one. Let's say you are for-pay software vendor writing an app with a wide potential user base. How long before a GPL clone of it comes out? Not to criticize Linux here, mind you, but that's the way it is, mostly because users want it just that way.
Second, are you really suggesting that we, as users, should all keep on paying for add-ons to basic OS functionality? Like pdf viewers, schedulers, cd burners, dvd viewers? All software which at some point was not in Windows but is included nowadays.
Yes, write Windows OS-related apps at your own risk. Just like you write those type of apps at your own risk anywhere else. MS does have a history of screwing their partners, but that's just the name of the IT game in general and you'd be naive to expect otherwise.
Bottom line: I dislike MS myself, but what is the point you are trying to make and how is MS much worse than the other big dogs?
In contrast, The Vociferous Time Waster went for laughs with this contribution about NFS 4.1:
"It makes a great storage system for heterogenous environments and a wonderful network storage point for VMware servers."
Have a Windows Server as the back end NAS for your VMWare servers? Haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha *breathe* haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha haha
While many managed to keep it cordial, it is now a longstanding tradition that any conversation about Windows will inevitably degenerate into some kind of Windows vs. Linux slanging match. Perhaps we ought to invent a Godwin’s Law equivalent for this sort of thing – the conversation is over the instant anyone mentions the need to run AV software or to employ extra staff to run a FOSS system? On this occasion, the first shoe dropped when Eadon piped up again:
It's a shame Windows doesn't have ANY of the advantages of Linux. Windows is no match, on servers it's just a toy that needs rebooting all the time, requires anti-virus, doesn't scale and is generally poor at file and memory management.
You even have to pay to use this thing.
He was rebuffed by the Reg Bronze Badge wielding GitMeMyShottinIrons:
You do know that we aren't in the '90s talking about NT here? If I wanted to slag Linux off with old stereotypes, I'd bleat about poor driver support and the need to recompile the OS for any minor rubbish, but I'd be wrong to do so.
If you run a file server of any OS without antivirus, you get what you deserve (infected clients most likely....)
Bronze badger Stevie had clearly had enough of it all, posting:
Bah! It would help if the loudest anti-windows ranters would actually admit to the last time they had hands-on (or even eyes-on) experience of Windows [insert marketing tag]. I mean, would you be impressed if I argued against Linux based on my execrable experience of Red Hat distro 4.2, widely regarded as the boil on the backside of IT?
To which JaimieV replied:
I would be - I thought everyone subjected to that had washed the memories away permanently with copious quantities of booze.
Can’t say fairer than that. ®