Creating a Linux-
Appliance for SMBs
Evanndro Paes dos Reis
Who Are We?
- Evanndro Reis is serial entrepreneur, strategist, senior executive
with more than 20 years of business development and management
of Technology, Marketing and E-businesses in locations, such as
Brazil, Latin America and United States. Evanndro has a MBA from
Fuqua School of Business at Duke University.
- A different “beast”: transit in both Linux and Windows worlds.
- I love software no matter how it is done!!
- Business-driven background with a technical twist, or should I say,
technical-driven background with a business twist?
Who Are We?
- Ken VanDine is an Engineering Lead at rPath, Inc. as well as the
founder and project leader of the Foresight Linux Project, created in
2005. Ken's work with the Foresight Linux Project and Conary package
manager eventually led Ken to being hired at rPath, based in Raleigh, N.C.
- Ken has been involved with Open Source technology as an avid Linux
user and Systems Administrator since 1993.
- As a member of the GNOME Marketing team, Ken has written articles
for the GNOME Journal (http://www.gnomejournal.org) and is now the
maintainer of the GNOME LiveCD, based on Foresight Linux and
available at http://torrents.gnome.org.
- The work presented here is the result of dozens of people
- Mostly based on our “scenario”
- 2.6.9 kernel with Anaconda 10.1.1.13
- It can be done differently in different scenarios
- Empiric not theoretical
- The results may be achieved but not necessarily in the most
- If you know something that will add value to our “tutorial”, please
jump in and share it with us all.
- A software appliance is an application paired with an execution environment.
Basically, this means that the application is built as a single image with an
accompanying operating system to run it.
- The process of building an appliance involves more than packaging
components together as a single image.
- Appliances are more than components packaged together to make a
application-centered system; they are built as a complete solution
with a straightforward user experience. If an appliance installs the
necessary software but still requires end users to access a command line,
manually start services, and conﬁgure applications, then the appliance is
failing to meet the key goal of being straightforward to deploy and use.
Why Software Appliances?
- Installation is 20th Century. Ready to use is 21st Century.
- Users are not that technical.
- Cost of maintaining software has long ago left the “others
- Easier to maintain
- Easier to deploy
- Services have higher margins
Creating Software Appliances
- Cloning a physical machine
- VMware Converter
- Windows-only. No Vista support yet.
- Parallels Transporter
- Using a Building Tool
Why Custom? Some excuses...
- I didn’t know better
- “Finer grain” needed
- Installation requires several steps
- Hardware is unknown prior to installation
- Device drivers/modules need to be customized
- “That’s the way we used to do”.
- The builder environment is highly unstable
- Minor changes to the packages may lead to unpredictable
- Debugging becomes a nightmare
- “Since” syndrome
- No standard procedure/documentation
Our Swiss army knife
- A Builder Environment
- Web-based Admin Console
- Your Application
- Must be the same of your appliance
- Anaconda (package and runtime)
- The so called “omni-present” installer
- It varies by kernel
- Has all the tools to package and build ISOs
- rPath provides a set of technologies for the creation and maintenance of
- These technologies are available as free resources or licensed products from rPath.
- They include the following:
- rPath Linux
- rPath Appliance Platform
- Conary is the underlying package management technology for
rPath Linux, and it is a critical element in other rPath technologies
such as rBuilder, rPath Appliance Platform Agent, and rMake.
- All applications included in a software appliance built with rPath
technologies must be packaged with Conary
- rPath provides instructions to package software from various
popular sources and package technologies.
- A replacement for traditional Linux package management, such as RPM
- The Repository
- Branch Structure
- rPath Linux is rPath's Linux distribution and created as the basis
for Conary-based appliances.
- It will rarely be installed in its largest form;
- rBuilder will eliminate unnecessary components and provide only
the software needed by the applications on your appliance.
- rBuilder is rPath's tool for building appliances.
- rBuilder lets you import your applications to a repository and put
them in a shopping cart alongside other applications for inclusion in
- rBuilder then selects the components of rPath Linux that are needed
to support your chosen applications.
- Use rBuilder to generate images for local installation ISOs,
VMware®, raw hard disc drive images, and other image formats.
- Additionally, rBuilder allows you to update your image and serve the
updates to deployed appliances automatically.
rPath Appliance Platform
- The rPath Appliance Platform is rPath's extensible tool providing a
web-based user interface for maintaining appliances.
- The Appliance Platform includes features such as a software update
scheduling tool and log viewer, and it provides a framework for
developing additional conﬁguration plugins tailored to the
requirements of your appliance.
- It runs on each deployed appliance and allows the end user to
browse to the application and interact with the appliance through a
management web page.
- rMake is rPath's tool for allowing full clean rebuilds of the
software used in an appliance when signiﬁcant modiﬁcations
are made to the core operating system components.