Alternatives, building a custom compiler and tracking KVM guests with libvert
cmw.osdude 120000QT77 Visits (979)
I was visiting with my parents and my father made an interesting revelation to me. He said that when he's helping people with computer things he now offers them free software solutions as a first option to solve their problems. He says that the free things are often good enough for their needs and he's not imposing a cost on them by helping. This is interesting to me because he was one of the people who argued with me about the value of FOSS. I'll probably never get him running Linux, but he gets it. Start with the free stuff unless you have a compelling business reason to do something more. That way people aren't wasting oportunities to use technology while they wait around for the funds. Later on, if you find you need things that are only provided by the commericial options then you invest; then you know what you're looking for.
Of course, I also find that most people don't choose open solutions because they don't know they exist. Often there are alternatives or methodologies that are buried in all of the tons of technical knowledge and information availble. It's hard to track all of that when you have "stuff" to do... unless, of course you're Watson. So, when I come across something that might be holding people back from making a choice, I try to share it. Today I came across an interesting article for those who are trapped in Solaris because they are used to certain tools, namely ZFS and DTrace. Slashdot pointed me to "ZFS and DTrace running on Ubuntu Linux". Who knows... maybe this will be just what someone needs to move into a more open environment.
Propriety getting in the way
I may make someone unhappy by sharing this, but it fits right in with what I'm discussing about choices. I do some technical support for a church. I've set up servers (Linux, of course) and helped to keep some things running. One of the ways that I've been able to be helpful was because I set up SSH in a way that allows me to securely tunnel into the network and do things remotely. We even set up wake-on-LAN so that I could turn workstations on and off as needed (Windows, sadly). A while back some used Cisco equipment was donated for networking. Nice stuff, but it requires some pretty specialized knowledge to work with it, knowledge that really requires training more than dinking around in forums. I don't have that. Neither did anyone else on the team. We had people who stepped in from time to time but there was always something odd about the configuration that didn't work eventually, and when it didn't work people would turn to me. My only option was to pull the Cisco stuff out of the equation.
So, recently a Cisco expert comes in and sets up a lovely multi-tiered platform with all of the devices elegantly separated into VLANs with mile high firewalls and such. It's beautiful, brings tears to the eyes. Of course, it turned off my SSH tunnel. No worries. We'll have a fancy VPN before you know it... when they get around to it. In the mean time I can no longer access the systems. I can't just take a moment out of my day to check on something. I have to schedule an appointment to physically go to the site. That's not so good for a night owl who does most of their tinkering in the dark. It's also not so good for someone who's schedule always seems to be stuffed with things to do. Recently an attempt was made to punch that SSH hole again, it's just a port forward. I know how to do it with IPTABLES. I can also do it with pretty much any Internet router on the planet, whether it's running DD-WRT
or not. For some reason this was a complicated issue on the Cisco equipment. Something was blocking something, and the time got used up so it remains undone and isolated.
My main fear is that all of this will be corrected eventually, but that something will go wrong. If our latest superhero tech is not available then it will all be a mess. It will cost time, or money or both for an organization that really should be focused on its altruistic endeavors. How many schools, charities, clubs and other organizations get into the same mess? Someone comes in with a great offering, but then things change and the offering becomes an obstacle. Going back to my dad's comments, wouldn't it make more sense to keep those things more open so that they aren't held hostage, so that they don't depend on people with the "right gifts"? Alas!
Create a working compiler
I love having a chance to play with building blocks. Yes, it's nice to have someone do the work for me and I appreciate all of the rich applications that are at my disposal. However, those don't always fit my warped way of thinking about technology or the exotic messes I can create for myself. Besides, sometimes I just get curious. The latest article that we published in the developerWorks Open Source area is one of those fun, foundational things that just might come in handy some day. It talks about how to use LLVM to create your own compiler. Does that sound like a Hurculean (or should that be Heraclean?) task? Getting started is not that bad. Check out the article, "Create a working compiler with the LLVM framework, Part 1" and find out for yourself. Don't forget to rate it and add your comments.
Magic logs with libvert and KVM
Recently I saw The Avengers, and Tony Stark did a lot of fancy work with his fancy virtual 3D intefaces-- which are becoming close to reality. Even without that we do a lot of things virtual. We have virtual meetings, virtual relationships and more and moe virtual machines. The interesting thing about doing something virtually is that you get to cheat a little. You can take advantage of the non-physical nature to do things that you normally couldn't. You might take advantage of that by doing a major business presentation webcast in your pajamas. In virtual machines we can look at things that are going on behind the scenes that would normally require some pretty fancy hardware monitoring devices and engineering.
In the Linux zone this week we have "Track KVM guests with libvirt and the Linux audit subsystem". It demonstrates how to use libvert to log events going on in you KVM systems and then use them in conjunction with your host system logs. The potential for this sort of thing is petty interesting. You might be able to track various health issues with running images, or do automated tasks such as creating additional systems based on behavior. I imagine this could be very handy for clound implementations. It's easy to explore so check it out.