Who should use BundleWorks?

BundleWorks is primarily a tool for developers, but it offers benefits to system administrators and IT managers as well. While some features of BundleWorks are targeted at Java developers, it can be used by developers using other languages and tools. Finally, BundleWorks is designed to manage multiple versions of applications across multiple environments on one or more machines, so it is more apt to be used by enterprise developers.

How much does BundleWorks cost?
There are no licensing fees for using the BundleWorks Developer Edition. This edition can be deployed to an unlimited number of machines. The BundleWorks Enterprise Edition, which provides a web-based dashboard and remote administration capabilities, is licensed based on number of BundleWorks instances. Pricing will be announced when the Enterprise Edition is released in Q2 2008.
What are the system requirements for running BundleWorks
BundleWorks requires Java version 1.5 or greater. On Linux/UNIX, BundleWorks requires a POSIX-compatible shell (sh, bash, ksh).
What platforms are supported by BundleWorks?
In the current beta release, BundleWorks supports a wide ranges of platforms including Linux, Solaris, AIX, FreeBSD, and MacOS X. Support for Windows will be available in Q2 2008. For an official list of supported platforms, visit the Platforms page.
What third-party applications can be bundled by BundleWorks?
BundleWorks can be used to bundle a wide range of third-party applications. BundleWorks provides specific bundlers for some third-party applications such as Apache, MySQL, Java, Ant, and JUnit. BundleWorks also provides a bundler named 'loadable-source', which can be used to build bundles from source. This has been used to build BundleWorks bundles for tools like Subversion, Ruby, PHP, Python, and GCC. Finally, BundleWorks includes a 'custom' bundler, making it possible to bundle other third-party applications.
How does Sauers Technologies use BundleWorks?

We have used BundleWorks throughout the development of BundleWorks and continue to use it to manage all our environments. These uses are both internal and external, including:

  • Management of build tools across our various machines
  • Running our Subversion repository
  • Running our issue tracking system with Redmine, Ruby, Rails, and RubyGems
  • Running a continuous integration server with Hudson
  • Building our product website with Apache, PHP, MySQL, and the Phorum forum software
  • Building our company website with Apache, PHP, MySQL, and the Wordpress blogging software
  • Setting up various test and staging environments

As you can see, we are big believers in "eating our own dog food," which has helped us develop a better product for our customers.

How does BundleWorks compare to package managers like rpm, apt, or pkg?

While BundleWorks provides a standard way of bundling, or packaging, applications for deployment, there are some important differences between BundleWorks and existing package managers.

  • Package managers like rpm (RedHat), apt (Debian), and pkg (Solaris) are generally specific to a particular operating system. BundleWorks provides a cross-platform way to bundle and deploy applications, including Windows-based platforms.
  • BundleWorks is not designed to replace OS-specific package managers. Package managers are great for maintaining system level components, where there is typically one version available. BundleWorks is designed to work at the application level, allowing multiple versions of applications to be deployed to multiple environments.
  • BundleWorks provides additional features like configuration versioning and log archiving that go beyond the scope of package managers.
Is BundleWorks extensible?

BundleWorks provides a plugin mechanism for extending its features. There are three types of plugins: Bundlers, Exporters, and Tasks.

  • Bundlers tell BundleWorks how to bundle an application. Bundlers are provided for a number of third-party applications, but additional ones can be written as needed.
  • Exporters allow you to integrate BundleWorks with other applications. Two exporters are included with BundleWorks to export information for use by the monitoring tools Nagios and Monit.
  • Task plugins can be written to have BundleWorks perform periodic tasks across all deployments. The built-in "archivelogs" task is one example.

Consult the documentation for more information about plugins.