StAc intro
On Gnu/Linux and Unix platforms, we have a set of established packaging systems (apt, rpm, bsd ports etc). However they all address the issue of automated application provision (install->configure->activate) specificaly for operating systems. What's missing is a tool that performs simillar functionality, but aimed at web applications. Which is precisely the intention behind the development of
StAc. It is an
application deployment framework, built to automate provision of multiple instances of applications, specificaly web applications. It also keeps the record of end users of the applications that it deploys.
StAc task description
Task we need to solve is to automate provision of software tools. By provision we mean: to INSTALL, CONFIGURE, ACTIVATE, TEST and MANAGE multiple instances of software tools/applications. Specificaly, we're concerned with web applications.
release 0.1
First alpha relase with limited functionality is planed to be released in
September 2003. Functionality will be limited to command line interface, installation and configuration of at least two tools (twiki and web serving space). Ability to create mailing lists using StAc will depend on what interfaces or hooks Sympa (mail manager that we will be using) offers.
StAc source code will be available in public CVS repository.
advantages
Ability to provide(deploy) web application in fraction of time required by manual provision. Make updates and backups of web applications automated across the web servers. As a result of all that, (we) web servers maintainers will have much more time to focus on the end users and software tools, and boring repetitive technical tasks will be cut down. It will also provide us with coherent web servers, which is a significant advantage over ad-hoc (usual) way. For example, we will know at at any moment for all web applications who are they provided for and where all their files live on the server.
architecture, components
StAc is very modular and intend to keep it that way. Here are its main components right now:
U I - > W o r k e r - > C a c h e - > S t o r a g e / S e r v i c e s
(
TODO: description of the role of the Worker, most important component, needs to be written ).
for
detailed dependencies on other perl modules(classes/frameworks) and versions needed, see
StAcMakefile.
concept diagram
see
StAcDiagrams#concept_diagram
UML class diagram
see
StAcDiagrams#UML_class_diagram (needs updating after first alpha release)
data model
see see
StAcDataModel
storage data model
see
StAcDataStorageModel
File Layout
see
InfraStructureFileLayout?
stories (similar to requirements)
see
StAcUserStories
to top