WHAT’S A CONFIGURATION MANAGEMENT FRAMEWORK?
• Software that allows us to write code that:
• describes our infrastructure
• automates how applications are configured, deployed and managed
RUN LIST!
All of the configuration necessary to put a node in the desired state.
• “Install Java”
• “Configure the web server”
• “Configure the database”
• “Configure the firewall”
DOMAIN SPECIFIC LANGUAGE
• A programing language dedicated to a particular aspect of a system
• Ruby syntax
• “Resources” provided to manage common things
IDEMPOTENT
operations that can be applied multiple times without changing the result beyond the initial application
WHAT ARE SOME BENEFITS OF CHEF?
• Same code used to configure all environments
• Infrastructure is version controlled like your apps
• Infrastructure code is testable
WHAT HAVE WE DONE SO FAR?
• Repository to store our built artifacts and 3rd party dependencies
• Automate the backup of our databases
• Automate the service wrapper that all of our apps use
• More in progress