Create Your Own Linux Appliances

khess 0 Tallied Votes 1K Views Share

That's right, create your own Linux virtual appliances with . Appliances are small, single purpose servers that provide a service to users. Some examples are Content Management Systems (CMS), Customer Relationship Management (CRM) systems, web servers, mail servers, DNS servers, database servers, and so on.

VMware Studio is actually a virtual machine (VM) image that runs in VMware Server, VMware Player, and possibly their other products. To use the Studio, download and boot the VM. Instructions on how to access the web-based interface are displayed to you on the VM's console.

The appliance-building process is simple but requires that you have some advanced knowledge of Linux. VMware's Studio is a tool that is really more suited to ISVs (Independent Software Vendors) who want to supply an appliance that hosts their application or service. When you build your appliance, you can add in an update repository so that your appliance users can easily download and install updates from your repository with minimal effort--a great feature for ISVs.

There are a few glitches with the VMware Studio system but they are relatively minor and should be fixed in the next release since VMware is aware of them. If you need to build an appliance or always wanted to build your own distribution, this is the tool for you.
Novell also offers a tool called SUSE Studio (still in alpha) that fills the same needs as VMware's Studio. I find that SUSE Studio is friendlier to work with and requires less of the user than VMware's product. SUSE Studio is entirely web-based so you can create virtual appliances at a customer site, if needed. I think SUSE Studio is ready for general use but Novell is notoriously conservative with its releases of new software--one explanation for their products having a reputation of rock solid stability.

You can also download ready-to-run virtual appliances from VMware, Thoughtpolice, , and several other appliance repositories. I'd rather build my own using VMware Studio so that I can have complete control over all the included packages. You don't have to use a "Studio" application to create your own virtual appliances, you can install your own favorite distribution into a VM, customize it, and distribute it but these Studio apps make it much easier to do so.

You can get the full story on VMware Studio, SUSE Studio, and virtual appliances by picking up a copy of the January 2008 Linux Pro Magazine (Linux Magazine in Europe) and reading my Virtualization column at Linux Magazine.

How do you use virtual appliances? Talk back and let me know.

Dani AI

Generated

A few notes that build on the original posts and bring the advice up to date.

As originally suggested, “studio” style builders made appliance creation easy, but the landscape changed: SUSE Studio was merged into the Open Build Service / “SUSE Studio Express” (the online studio was folded into OBS). (suse.com) Tools like rBuilder/rPath are no longer a living option (rPath was acquired and its distro discontinued). (en.wikipedia.org) UShareSoft’s UForge was acquired by Fujitsu in 2015, so commercial appliance platforms have consolidated or been absorbed by larger vendors. (fujitsu.com) These shifts make reproducible, automated builds more important than ever.

For practical appliance work today: automate image creation (build once, reproduce forever), and separate “image build” from “first-boot configuration.” Use a declarative image builder such as Packer to produce identical artifacts for VMware/VirtualBox/QEMU/cloud targets, then use cloud-init (or equivalent) for per-instance bootstrap. Validate templates with packer validate and keep provisioning in Ansible/shell scripts so builds are repeatable. (github.com)

Example cloud-init fragment (first-boot):

#cloud-config
users:
  - name: appliance
    sudo: ALL=(ALL) NOPASSWD:ALL
    ssh_authorized_keys:
      - ssh-ed25519 AAAA...
runcmd:
  - apt-get update && apt-get -y upgrade

Extra tips: export portable OVF/OVA when you need hypervisor interoperability; shrink images by removing build tools before finalizing; sign artifacts and publish checksums; test imports on the actual target hypervisor. Credit to , and for surfacing older tools and real-world appliance use—those experiences show why automation, image signing and minimal footprints matter today.

jbennet 1,618 Most Valuable Poster Team Colleague Featured Poster

check out something called RBuilder too

khess 95 Practically a Master Poster

Yes, rbuilder is cool, though I've never successfully created anything with it.

ejulien 0 Newbie Poster

I also use virtual appliances. I often build and deploy appliances in virtual and cloud environment but I use UForge Appliance Factory, www.usharesoft.com. I found the platform very simple and easy to use. Let's try it, Khess. You will successfully build and maintain your appliance!!

iamtron01 0 Newbie Poster

My self and a co-worker a little while back developed an Off Site Backup Appliance. We used an off the shelf Linux Distribution. It's quite a challenge stripping off the extras you get in a distro and also getting it compact enough to fit on a small flash rom. We managed to get the OS and our Software onto a 1GB Flash Rom. Also rather than the normal C and C++ language route we chose Ruby on Rails which is a modern object oriented language with easy to understand syntax and structure. I've thought about making it into a kit/book as an example of modern avant-garde approach to linux appliances. Send me a comment if anyone out there could benefit from such an item. michael at

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.