MS? H.A.? Fault tolerant?
Security! Please escort the salesman out of building.
So you want to build a Microsoft-based private cloud. While using the latest software is not always the best move (never use version 1.0 of anything) Microsoft's 2012 stack of products is mature, stable and capable of meeting all your cloudy needs. Let's take a look at what's required for a private cloud in Microsoft's world. …
MS? H.A.? Fault tolerant?
Security! Please escort the salesman out of building.
Oh look, someone who thinks that Windows is still 3.1 and hasn't updated his knowledge...
I haven't really tried Server 2012 yet, but as far as I'm aware the core of the Failover Cluster Service is still the same and has some fairly huge failings.
I have a couple of Hyper-V failover clusters on Server 2008 R2, with a wierd NIC driver bug that causes the network connections to stop working. The interfaces IPs still respond to ping, but nothing else, file shares aren't accessible RDP doesn't work and the VMs suffer the same loss of connectivity.
However because the interfaces are still pingable, the other hosts in the cluster insist that the problem host is still up and that the VMs are running.
You can't pause the host in the cluster because when you try it fails to contact the service on the problem host. You can't live migrate or move the VM because it can't communicate with the problem host. The only way to resolve it is to shut down the problem host, at which point the cluster becomes aware it is off.
It's hardly High Availability or Failover, if its method of host status detection is just ping. I haven't tested it, but what if a duplicate IP occurs with one of the hosts, screwing it's connectivity but the IP is still pingable.
@phil W - which nics? Which servers are you using? Which driver versions, are the OEM drivers or MS signed drivers?
I've suffered the same issues with either ESX 4.0 or ESXi 4.1. Our issue was around our fiber cards losing connectivity to the SAN briefly and all the VM's continue to be pingable and the hypervisor as well so it doesn't recognize it as a failure. Rebooting the host was the only way to "fix" the issue when that happened. We determined that the firmware on the fiber card hadn't been certified with our storage vendor and running a certified version fixed out issue. My point is they all have their quirks.
Is this a known bug from Microsoft or the hardware provider? Just curious as I'm wanting to start playing with Hyper-V in our lab and have very limited experience with MS Clustering.
I believe it's a firmware problem, and have a maintenance window scheduled to fix it.
But that's really beside the point. In a failover and high availability service, ping is not a suitable status check.
It would not be terribly difficult to make the host status check be based upon communication with the cluster service on the server. If the host is pingable but the cluster service fails to communicate with the cluster members then the host should be marked as failed. It's obvious and relatively simple.
"Another change in Windows Server 2008 Failover Clustering is the cluster heartbeat mechanism. While it still uses port 3343, it has transitioned from a UDP broadcast health-checking mechanism to a UDP unicast communication. It’s similar to a ping in that it uses a Request-Reply process, but it includes more sophisticated features such as security and sequence numbering."
So actually, you've got a heartbeat which goes all the way up the stack on a dedicated port, requires active processing and has number sequence check to make sure that it's not responding to heartbeats out of sequence. I've done a fair bit of work with Windows clusters (post 2003 R2) and I've never ended up with split brain or other such problems. It's worth mentioning that if you're using fibrechannel HBAs there is also quorum services run on these as well. If an HBA goes down, the node will failover, even if there is still a heartbeat.
I have seen the same...
Eadon standard response number four for this one is it?
A professional solution architect will look at what the business can support and indeed already use before going off on the journey you just did. Jesus.
"A professional solution architect that knows what he is doing will use a Linux / hadoop / Open stack architecture."
Let me correct you. A professional solution architect that knows what he is doing will make an assessment of the technology to be used based upon the requirements of the solution, balanced against available options in the market place.
In other words, only bring bias to the table if you work for a vendor/reseller with a vested interest. A Linux bias is no better than an MS bias and would do a customer an equal disservice.
@Eadon: It's not bias, unless you do it again and again and again and again, with supporting evidence which is made up and accusations of incompetence to anyone who disagrees with you. Which is what you do.
You don't debate, you shout what you believe and accuse anyone who doesn't believe you of being a shill.
OK then, how is the fact that Linux is open source relevant specifically to its suitability as a cloud platform?
How is its licensing model relevant specifically to its suitability as a cloud platform?
Answer: they are not. Rather than consider the actual task at hand you've pulled out the same usual arguments as if they were universal game changers. They are not. Let's say the hypothetical job for the cloud is fundamentally tied to SQL server specifically, for example, though it could equally well be any of the other thousands of Windows-only apps. Porting it to another app is not practical for economic or technical reasons. On what planet is Linux the best platform for hosting a Windows app?
Don't get me wrong, given a perfectly free hand I'll generally choose some flavour of Linux over Windows if there are no compelling reasons to opt for the latter. However, people making these kinds of decisions need to base them on solid facts, not opinion, and you haven't given any "engineering and commercial reasons" to speak of. Instead you've rolled out the usual excitable, poorly informed advocacy. That isn't engineering, it isn't even technical support. It's the kind of zealous "my way is always the best" argument that does so much damage to the free software movement over the long term.
Hmm. I note you've used irony and ironic in your most recent posts - once "ironic" was used on you. Imitation is lame, Eadon - especially when incorrectly used. Just say, "I know you are, but what am I?" Seems more your level, I'd say. Be true to yourself!
Linux is better up to the task because it is a better server OS and is more flexible. If you wanted to get all PHB about the situation you could replace AIX with Linux and still end up with something that won't cause professionals to snicker behind your back.
Windows is for small businesses that can't afford IT staff.
That isn't true,
Windows isn't for small businesses. Love it or hate it there are multi-site Active Directorys with hundreds of servers and tens of thousands of users all with Exchange mailboxes, and infrastructure with SQL and other MS stack dependancies.
That isn't small business, and saying such shows you have a very narrow grasp of multi flavour IT.
I've just checked again, as I did last time you said that it was ironic for an AC to complain about you calling other people shills. I'm still right, it's not irony.
The last company I worked for had ~3000 Windows servers and exchange servers covering 400k users, we actually had a presence on every continent. Obviously we had a load of Linux, UNIX, TANDEM, OS/400, VAX, z/OS etc. etc. as well, but really rather a lot of Windows and the AD controlled access to everything. We didn't seem to have a problem.
You forgot Open Standards.
One of the nicest things you get under Unix is the ability to glue together almost any set of platforms. Yes, it's more work if you don't have existing frameworks set up, but the advantage is that you have to do this basically *once* and it'll keep working.
As long as you don't make it depend on the presence of any GUI :)
the free software movement
It would also be beneficial if people stopped calling it a "movement" which for some seems to imply bowel action or fanatism (which conjures images of sandal wearing bearded geeks frothing at the mouth as soon as you dare mention any other OS).
Call it "free software concept", maybe? That could also incorporate the whole idea of open, unencumbered standards that were arrived at through consensus rather than through mounting a denial of integrity attack on the ISO voting processes, but I digress.
You are just embarassing. I made an account just to tell you that.
I read reguarly sitting in the background not getting drawn into these arguemnts.But I couldnt actually read anymore of your bias nonsense. I love Linux and would opt for it over windows given the choice, but you are just ridiculous. Your arguements rarely even relate to the topic and just bash MS. Please just give it a break.
Yeah, yeah, you're not a fanboy...
Some serious players don't use MS, some do. Apple, for example use MS' Azure.
I'd contend that pretty much all companies run at least some FOSS and at least some COTS software, it doesn't mean that one is somehow correct and the other is somehow wrong. The fact that IBM, Google and Amazon run a particular type of software doesn't make it an appropriate decision for my company. CERN run some pretty gnarly FOSS database systems, but that's no good if I need to use SQL Server or DB/2 for a particular piece of software.
Anyway, there isn't anything to stop you running a Linux on Azure, I don't know about any proper UNIXes though.
The quality of the comments on El Reg is just appalling.
So it sounds like your argument is based on the tried and true 'what would Jesus do?' fallacious appeal to authority. We get it, you're right because the GOOG is right. Yeah, that's pretty much the definition of fanboism / groupthink.
"Before the usual AC trolls come out calling me a fanboi or whatever, it might be worth pointing out that all the series players - Amazon, IBM, Google, FB, Twitter and so on, they all use Linux / open source solutions."
Actually, although the foundation of what they use is indeed the Linux kernel many of those vendors have put a whole team of programmers to work in order to shape their Linux environment to match their specific needs. That is something many people forget to mention: while those companies may use a Linux solution its not Linux as we commonly know it. Most of them don't simply download a distribution and rely on whatever that manufacturer provides for support.
Which is something most companies do tend to do; they pick up an existing environment where the goal is to get to the result as optimal (or as easy) as possible. Once a product isn't supported any longer they usually move on to the next supported version.
And this is automatically also an argument as to why Linux isn't the best solution by definition.
When looking at such environments: Windows Server 2003 was released around 2006 and support stops around 2015. That's 9 years worth of (continuous) support. You can see Microsoft's own comment on that here.
Around that time (2005) Debian 3.1 'Sarge' was released. Its security updates stopped around 2008, that's merely 3 years. Read about that here.
Sometimes one needs the robustness of Linux, at other times the extensive support of Microsoft is in favour. That's the way the real world works.
You get through to an Indian in Bangalor, unless you happen to have professional support contracts with one of Microsoft's many gold certified UK (or whatever nation you're in) based partners. I find the blokes from Hemel Hempsted that we deal with very easy to understand, and when they can't answer it they escalate to Microsoft, where we usually get to speak to a native English speaker.
Also, on a non-Microsoft point. I dealt with HP's Indian support people recently as part of one of their premium care packs, and although they did have a fairly strong accent, they went to great effort to make sure I understood them and were extremely competent in the product I had a problem with.
I love Linux, but it's a bitch to learn and can be rather inconsistent , and documentation very varied.
Also professional support service contracts for Linux are INCREDIBLY expensive in comparison to MS support, to such a degree that it way more than off sets the cost of licensing.
Eadon, sorry to butt in here, but without knowing their criteria for their choice you cannot proclaim their use as any evidence of being "better" - it also depends on how they use it.
Most of these setups started with Linux because they are tech startups, and so have plenty of Linux talent at hand. Available expertise is quite important in a selection (which is also why OS migration can be such a pain), and a Windows shop is going to spend much less time cooking up a Windows solution in a relatively stable fashion than switch expertise, cook up a Linux model and then get beaten over the head with security problems because they don't yet *control* their technology.
I'm old school so to me, building a private cloud using Windows feels like building a prison with frozen butter but that's more because I'm simply more comfortable with Unix derivatives - Windows would simply not fit in. Others may find it works for them, though.
I am not an Azure fan but it isn't true to say that it is 5 years behind. It is divergent. It is following a different path where it feels that the abstraction layer should be in a different place. This makes it harder to measure against the competition including overall TCO. The manpower required to run an Azure instance is significantly less due to the placement of the abstraction layer.
And RedHat supports RHEL V6 for 10 years.
selecting use of stats methinks.
In reality BOTH Windows and Linux (I'm a RHCE) are equally good for many of the same jobs. Personally, Windows just gets in my way a lot more than say RHEL but you soon get over it and get on with your job.
My biggest beef with Server 2008/12 is jon scheduling. I really wish that MS would include a decent and simple to use job scheduler in their O/S though. cron is really simple to use and it 'just works' and is easy to manage. But that is my personal beef but just don't mention 'powershell' to my colleagues. They will probably give you a glasgow handshake.
"Apple, for example use MS' Azure."
That can't be true. I know that Apple's core enterprise apps, SAP and the like, run on IBM Power - AIX. Why would Apple use their arch-enemies' services vs. say Amazon or IBM or anyone else?
Unless you're using 2008/2012 Server Core with no GUI I can't believe you find Windows Task Scheduler which hasn't changed significantly since windows 2000, difficult to use.
"Amazon, IBM, Google, FB, Twitter and so on, they all use Linux / open source solutions"
that may be the case, but there is also a significant argument that if you are google/amazon etc and you use Windows, then all it does is strengthen the competitive story for MS so MS could say "well FB, Google etc all run on Windows so why not use Azure" - so technical reasons aside, even if (avoiding the debate for a moment) the Windows stack was streets ahead of the competition there is no way they would flip.
I dont know the implementation details of those players but you can put money on they are not running a vanilla version of any of the distros. They will be tweaked and modified all over the place (inc stuff that hasn't made it back into the "community")
Of the complains that I've heard about schedulers being too flexible is one that I've not come across before. I'm a big fan of both Linux, UNIX and Windows, however I have rarely found a scheduler which comes close to something like CA-7 or TWM. The only OS based scheduler that does is Windows, CRON is pretty much limited by the scripting skills of the OS administrator, Windows scheduler has a hell of a lot of functionality built in, which is just not possible with CRON - for a start triggering of jobs based on specific OS events, the ability to terminate jobs based on run length, prevention of running tasks if the OS is in certain states (running on battery, etc).
Poor comparison, your paying for he support from MS, your example compared an distro thats free to use. There is no commercial license there to compare.
Ubuntu offers a LTS (Long Term Support) version which in the case of 12.04 is all the way until 2017 and its all ready a year old so if its long term support you want feel free to give them a call. Think its actually 12.04.1 after its first service patch.
"Poor comparison, your paying for he support from MS, your example compared an distro thats free to use. There is no commercial license there to compare."
He wasn't comparing licence fees. He was saying that the paid Linux support costs are such that the Windows licence cost becomes negligible. Whether that's true or not I dunno as I haven't looked into it, but then you've provided nothing to counter his argument either. It wasn't whether Linux has long term support, but what it costs.
very large quantities of, very fast, very hot, explosives...
I've just come off a rather large _not_ perfect cloud project <in frustration>. While it all looks good on paper, once you start ramping up the load to below planned capacities things would go all pear shaped in inexplicable ways. Really. And the whole MS stack is so opaque when it comes to answering the question why rather than <how>, its just about impossible to get and traction in making thing right.
But this post isn't opaque what-so-ever. When you take out the recyling your supposed to separated the glossy advertisements from the plain newsprint. This post falls in the the former catagory.
Trever Pott, instead of schmoozing us with what you can do with this whizzy MS stack. Why don't you do a nice concrete report on an installed cloud application? Replace 'can' with 'is' and include numbers.
This technical article has a great of "but.." regarding compromises for missing features and functionality normally found in the other more popular, more robust and more secure Cloud software technologies, meaning non-Microsoft based.
Which begs the question. Why would any competent, knowledgeable and astute technology professional recommend and or use Microsoft Cloud technology over OpenStack for example, thus sacrificing reliability, scalability, security and costs savings - just to say it's from Microsoft? Remember, Microsoft is an "also ran" and far less competitive or of good value in this segment of technology than any other entity.
To-date, January 14-2013, every major Microsoft Internet/Networking technology including Exchange, SharePoint, Active Directory and support services of SQL Server, and Windows Server 2012 can be quite literally replaced with alternatives, mostly Free/Open Source Software (FOSS) that has proven superior in every respect. Even for runnnig Microsoft Office with Outlook. Strange !
Totally agree, and they don't even hide it. Our developers had azure in their eyes, and now are scrambling re-writing API's to be cross platform. (A point I tried in vain to make).
"If someone wants to debate me, they had better come out with some strong engineering principles that might have a chance of contradicting my assertion that Windows is not fit to be a serious cloud."
Number 1: You mentioned Hadoop, an *application* that's useful to few real world cloud projects. Not everything is about data mining.
Number 2: Interoperability. If a customer uses an entire Windows ecosystem, you're just going to stick your own stack in there and then spend the rest of your days maintaining it separately. You're trading 'Microsoft lock in' for a paid salary or a support contract. Fantastic for the customer!
Number 3: Your Powershell argument was out of date half a decade ago. It does what a shell is supposed to do - provide a syntactically consistent interface for an administrator to efficiently manage his systems. If you make the effort to learn it, it'll be as useful as your choice of UNIX shell.
The only valid point you make is about licensing, which has nothing to do with engineering.
As someone firmly in the Unix camp I don't enjoy Microsoft's success, but credit where credit's due - if Server was useless crap no-one would be using it. The only reason I wouldn't go near a Windows deployment is because it'd take me an order of magnitude longer to get the job done, but that's down to the shortcomings in my own skills.