Continuous Integration of the World
Ok, maybe we exaggerated a bit. CI deployments focus on the testing and deployment of the application. The ‘world’ (OS, Application & DB server) within a CI doesn’t change that much. But what if you could define your applications environment from a kind of ‘source’ and build and unit test it? f.i. Test security patches by using unit tests of your application?
Using the concept of a pipeline we will show how to use existing tools/concepts for a Continuous Build for your Infrastructure allowing you to better integrate your production environment. Your sysadmin might even get interested?
This will be a mixture of demo and slides. We will work with the metaphor of cooking. It requires all the ingredients to cook a good meal. Virtualization is like putting fire into lighter.
For the longer parts we will speed up the screencasts like the old charly chaplin movies. There will be lots of tools to show.
The following image gives an overview on the similarities we would like to address. The session will focus on the Application Environment (the world).
- What does it take to define the application world
- Different levels of source : Network Config, Virtual machine, OS, standards recipes
- Functional Operating systems: NixoS, Nix package manager
- Explain the existing tools to build the environment and how to automate this
- Instalinux, EasyVMX, Puppet, Carpet, AutomateIT,
- OpenQRM, Linmin
- How monitoring tools can apply to testing
- Unit tests for infrastructure: OS, Memory, Disk
- Regression tests for infrastructure
- SNMP, nagios,
- Validation, security checks
- Building appliances: rpath, ec2, thincrust
- Building virtual machines: koan
- Publish to a physical machine (PXE)
- Publish to a virtual machine (PXE, vm preparation)
- Publish to a cloud
Integrating both pipelines
- Rebuild it all and integrate in one pipeline
- Introducing a security fix and see that happens in the pipeline
Other subjects might be related to this mindmap: http://www.mindmeister.com/15485305
- Better understanding of how to integrate your production environment into your CI setup
- Discover new ways to avoid problems when release into production.
- How you can apply the concepts of CI to infrastructure management