Software appliances – The good, the bad and the ugly

As a part of my work I have to design and plan Hardware, Systems and Software deployment, and as many of you guys know sometimes it’s not that easy. Dimensioning hardware for specific roles can be a pain, sometimes you don’t even have the software as it’s being “produced” by the development team and still you have to tell how many machines, routers, switches and all the small things the project will take.
But some other projects aren’t this difficult and you don’t need such an amount of flexibility to do them, you don’t need a custom based firewall cluster, you don’t need a web server or database cluster, you just need a simple, reliable and out of the box setup that make things work in the smallest amount of time.
When you need something like this many sys admins have an excellent way to things in a tested and production prof way (specially if they are open mined to use open source);

The Software Appliances

The appliances are really helpful  but before you start using them you need to know a few things, so lets start by the bad:

  1. Lack of flexibility
  2. Hardware choices are often hard due to  the lack of drivers/modules available

The lack of flexibility is probably the biggest problem with appliances, usually they aren’t inflexible but to master the appliance you’ll have to put a big effort on the manuals, this should’ t be a problem if you stick to a few appliances but if you use a lot of them then you’ll probably take more time to master them than to study the OS and all the applications your need (apache, samba, iptables, and so on). About hardware choices, appliances are suited to run on most hardware out there (after all they use a linux kernel, at least most of them do) but if you run cutting edge hardware you may find it hard to make it work with your appliance, specially if your appliance version as more than 6month-1year.

Let’s go to the good now:

  1. Easy installation.
  2. Fewer skills required.
  3. Dedicated support, sometimes paid, usually free from the community.
  4. Performance boost (In the cases where the appliance comes with it’s how hardware).
  5. Security.

So in conclusion appliances can be a great help, but they need extensive planning and testing before going to a production environment. Think not only about the present needs of your client but also about the future and expected ones. Bellow I’m going to write about my favorite software appliances and what are they for.

  1. dd-wrt – This is a great appliance for a bunch of Linksys, Asus, and another brand router, access point, home gateways, etc.
  2. Endian FW – Probably the appliance I use the most, you need firewall with a proxy server with content filtering? Do you need a VPN server or an antivirus scanner for your internet connection? Try this one.
  3. SME server – Do you need a windows domain server, a smtp server, pop server? Do you need to setup a small office in 2 hours? Choose SME server.

There are a lot of other appliances I’ve used since I’ve started working below a few honor mentions:

  1. GeexBox – For multimedia content displaying
  2. IPcop – Similar to endian (but endian has more features)

I’m done with appliances today, but you may wonder… what about the ugly? Well I didn’t find any that goes in this category, but the word goes well on the title 🙂 .

Cheers,

Pedro Oliveira

Using fuse to mount a remote dir with sshfs

Hi!

Today I’m writing about a little tool that is an enormous impact on  how to make a remote filesystem available to you as a local filesystem. You may be wondering, what’s the new? NFS does it, Samba does it, it’s true but if you don’t have a VPN and your away from your LAN or WAN a simple task like acceding a folder on a remote web server can be a pain.

The requirements on the host you need to access are:

  1. SSH server running
  2. User account

On the client side you’ll need:

  1. FUSE (Filesystem on user space) – you may install it easily with YUM, Zipper,apt-get, or whatever manager you’r using.
  2. sshfs – once again you can use your software manager or download it from http://fuse.sourceforge.net/sshfs.html
  3. On depending on the local mount point you may need root access.

Now before you start lets create a dir so you can have a local mount point:

mkdir $HOME/REMOTE

and the mount command:

sshfs your_user@remote_host.com:/home/youruser $HOME/REMOTE

to umount REMOTE:

fusermount -u REMOTE

And your done .

There are a lot of options to sshfs, write/read under others permissions, sync or async writes, buffers sizes and read ahead options if you want to know more about all the options (and they are a few dozens) just type:

sshfs -h

Cheers and see you next time

Pedro Oliveira

Click to access the login or register cheese