Just some things that took me awhile to figure out:
- LVM2 is good! I couldn't think of why I should use it when I first learned about it, I gave it a try, and now I can't live without it When building a computer system, its hard to foresee the myriad of ways it will be used. LVM2 provides the flexibility to adjust as needed.
- NFS is good too. Another layer of flexibilty, especially with VPNs.
- VPNs are good! IPSec is a bit of a bear, but after many years of wrestling with iptables, I found myself much less stressed after setting up some firewalls and VPNs using pfSense and m0n0wall.
- A layered approach is a good approach, and I'm OK with abstraction. Abstract notions are hard to grasp, hence the term abstract, but they again provide that lovely freedom of flexibility. When first learning about object oriented programming, I wondered why it was all so necessary. It isn't necessary, but it does provide convenience.
- MVC, Logic versus presentation, etc. - this is all good stuff. I've embraced it through standards. XML is a my transport, dispatch, and configuration method of choice, SQL is my storage and retrieval method of choice, and XSL is my presentation method of choice.