11. A complex application is
much more
than just the sum of its
components. It's code,
configuration, environments,
infrastructure, security,
nodes, databases, services
22. You decide which
environments you need / have
and configure / manage them
separately:
dev, test, QA, team, preprod,
integration, load test, prod,
whatnot
28. You define roles and
corresponding run-lists (including
transitive dependencies) and
assign them to machines:
- web-server
- app-server
- queue server
- whatnot-server
29.
30. Further abstractions for that are:
- providers / resources
- templates
- data bags
- files
- attributes
You can use all of them to tweak
your deployment / config
40. You use same stuff, e.g.:
- your environments
- application, JDK, tomcat, DB
cookbooks
- adjust your attributes
- configure infrastructure same
way (load-balancer etc.)