How does this differ from any other software? Either you trust the author, or you don't. I assume you haven't reviewed your entire stack to prevent it from including evil code?
If you are running in Microsoft Azure you need two VM instances to get any form of availability SLAs. Microsoft can reboot/migrate single instances whenever they feel like it. With manual failover you would only have a few minute downtime if someone is there to trigger it. That honestly sounds like a crappy solution 2015..
What? In the case of Microsoft rebooting/migrating an instance causing a failure, Keepalived will automatically failover.
The manual failover is in case of something going horribly wrong (outside of hardware failure), in which case a human steps in, looks at the situation, determines the best solution... and if it's failover, they initiate the failover.
I've personally used this procedure in the past and it worked 100% of the time there was a failure in a production environment. The tricky part is then notifying the hell out of everyone who needs to be notified that something really bad has happened, a failover occurred, everything is OK, but it needs some attention ASAP.
In PGSQL world, there are even a handful of tools to help you turn the old (failed) master into a slave, and correctly escalate the old (promoted) slave into a master; all in a single command on each side (which can be kicked off through keepalived).
"The tricky part is then notifying the hell out of everyone who needs to be notified that something really bad has happened, a failover occurred, everything is OK, but it needs some attention ASAP."
If there is a need for multiple 9's of uptime, there should be an escalation process for these kinds of events, which will probably include 24/7 on-call rotations.
Even if the problem is entirely self-resolving, it should still be looked at by more than one system. It should be noted, observed, documented, and confirmed it's truly resolved. That system is usually a human, but it doesn't necessarily have to be.
Am I alone in thinking that emulating a physical machine, installing an operating system on that virtual physical machine and so on and end up with two operating systems running in parallel on the same physical machine which needs to be patched and maintained is not an elegant solution? After a while, every developer might have five machines which he need to keep patched and maintained.
Personally I just have VMware Workstation for this at home and VMWare ESX cluster at work.
If you look at market share for consumers, Apple is doing much better.
HP, Lenovo and Dell still rule the enterprise, but Apple does very well with consumers. And more and more enterprises are moving to cloud based solutions, buying tablets and negating the 'need' for PCs, even if for the time being they're still buying cheap PCs.
I can't imagine a company pushing for tablets as general purpose devices for a lot of things... as a POS (point of sale) terminal, or even for standing sales reps, sure...
But real productivity is so much worse in line of business applications on a tablet vs. desktop. Screen size/space is king, and nobody is going to work on a 20" tablet... or give up half the screen to a keyboard. Let alone how tired will your arms be by the end of a day without a mouse for anything.
I know you can tap a keyboard/mouse to a tablet, but at that point, you've spent more money than a low end laptop or desktop, with worse productivity and output.
If we limit the scoop to consumer computers, including Linux seems odd. At least in Sweden extremely few people are using Linux on their computers. Even with Macs it's less than 30%.
Can you clarify why big brands should switch to Linux for their consumer PCs considering that few consumers wants it?