caraboga
The login infrastructure uses a standard auth service, but once that gets going, seems like traffic goes directly from client to client. Avoids the peer discovery but once both (or more) clients know where everyone is, the transport is from client to client (at least it looks that way from tcpdump).
This is a good move on their part.
If you are using kvm w.r.t. openstack, the vm machine actually is suspended by way of acpi, then moved, then unfrozen again. VMware doesn't do that in vmotion. All your problems with clock skew, dropping of network traffic are lessened (they don't completely go away) with vmotion.
I'm curious as to what really made you hate it. From my vantage point of running openstack in production from Essex to Juno, Openstack Swift after Folsom release was the most reliable part of openstack outside of keystone and glance.
(Nevermind that it was also the easiest to upgrade as well).
Or you can use the ceph stuff, which is also pretty nice.
Curiously enough, I've also ran smartctl against Samsung 840Pros using Highpoint RocketRaid controller cards during the same project. Sometimes this crashes the controller card.
(This was for a gluster cluster, when gluster had broken quorum support. A copy of a piece of data, when out of sync with the other copies in a replica set, would be left unchecked. This was produced after one smartctl command took out the controller card, and then the machine along with it.)
If I were to do it again, I would stay away from using enclosures that were inspired by the BackBlaze models. Supermicro enclosures are fine.
1) The object replication between the pods will be hard on the array, as the object replication is simply an rsync wrapped inside nested for loops. If you have a bunch of small files with a lot of tenants, it'll hurt.
2) While swift allows you to simply unmount a bad disk, change around the ring files and let replication do its thing, there are actual issues. First of all, out of band smart monitoring of bad sectors actually cases the disk to pre-empt some sata commands and do the smart checks first. On a heavily loaded cluster, under a smart check for a bad block count could kill the drive, and take out the sata controller along with it. We've downed storage pods before by that way. The only way we got around it was to take a pod offline once a week, run all our smart checks, then put it back.
3) To replace a drive, you have to open the machine up and power it off. As any old operator will tell you, drives that have been running for awhile do not like to be turned off. If you are to power off a machine to replace a bad drive, do realize that you might actually break more drives just from the power cycle.
4) Once you change a drive out and use the ring replication of files to rebuild your storage pods, your entire storage cluster will take a non-trivial hit.
5) Last but not least, it is almost of tantamount importance to move the proxy, account and container services away from the hardware that also host the object servers. It's probably good to note that the account and container meta data is stored in sqlite files, with fsync writes. If you add and remove a bunch of files to multiple accounts, the container service is going to get hit first, then the object service. Further more, every single transaction to every meta data/data service, including replication, is federated through the proxy servers. If you look at a swift cluster, the proxy services take up a large chunk of the processing space.
Source: Was Openstack admin for a research group in Middle Tennessee. Ran an openstack cluster with 5 gen1.5 pods for the entire swift service, then moved account/container/proxy to three 12 core 2630s with 64 gigs of ram. Cluster was for a DARPA vehicular design project, first part fielded 3000 clients, second part fielded about 1/10 of that, but with more files and bigger files (these were cad and test results respectively).
I also like Strang for Linear Algebra for undergrads. Beyond that it's Hoffman and Kunze.
I work for a few research groups at a large, prominent southern university. There are people who get engineering phds in their 30s and 40s. You have coded a large chunk of your life and have an excellent framework to bolt stuff on to.
There is always a job market for an enthused developer that doesn't believe in his own hype. You don't have to announce you are not among the best, I don't think a lot of people who think they are the best are anywhere close. I write much better code now when I am in my 30s than when I was in my 20s. If you stay in touch with technologies and you build stuff for yourself that you are willing to show people, then your prospects should look pretty good.
Best of luck.