IMHO, requiring hardware, or the entire machine should be exception, not the rule.
IMHO, requiring hardware, or the entire machine should be exception, not the rule.
It's easy to forget just how ridiculously powerful bare iron is these days. Go to Dell.com and see how much RAM you can cram into a U or three or four today in 2015. Or see how many IOPS a modern NetApp or Symmetrix (EMC) can push with 'flashcache' or million-dollar SSDs. It is ridiculous, and while a lot of those platforms are meant for 'building your own private cloud', etc, there's a non-trivial amount of workloads/projects where bare-iron is the best tool for the job.
Yeah, any serious I/O load is unsuited for virtualization.
Now there's probably some room for debate on whether these guys job should just be outsourced to Amazon, but github has some pretty good uptime and they seem to know what they're doing, thus they've probably already won that debate.
And for important fileservers and databases you're going to run on specific hardware for a long time.
* boot a live image into memory
* point LXD/RKT/Docker to /containers
* ...
* profit!Also, 1 time out of a 4-5000 or so network boot fails. Not sure why.
But it does mean no IPMI. However I built a small circuit that sits on a power cable that can interrupt said power cable with a relais that sits on a bus plugged into our server, so we can do the reboot thing.
I've been meaning to redo that power cable circuit using wifi as the linking technology, now that we have esp8266 available.
When we didn't have PXE, we had a script that told iLO to boot from CD, and that the CD was located at http://something/bootme.iso. iLO would always have network, and would pass the .iso magically to the server as device to boot from.
[1] https://github.com/joyent/sdc
[2] https://github.com/joyent/sdc/blob/master/docs/developer-gui...
[3] https://www.youtube.com/watch?v=ieGWbo94geE
[4] https://www.joyent.com/blog/triton-docker-and-the-best-of-al...
[5] https://www.joyent.com/blog/spin-up-a-docker-dev-test-enviro...
We may eventually offer higher order infrastructure or platform services internally, but it's not our current focus.
At some point someone needs to manage the actual hardware, whether that's you, or a middleman, and when you're handling hundreds or even thousands of devices its just not practical without automation.