Sergiu Vidrascu
Ce e chef???
Overall Architecture
Chef Learning Curve
My first Attempts of building a chef cookbook
Anatomia unui run de chef ??
Chef-client
build node
Sync cookbooks
Incarcarea cookbookurilor
Text
Converge
Success?
Report handles
Da
Exception Handlers
Nu
Anatomia unui run de chef ??
Chef-client
Chef-client
Construirea nodului:
build node
Anatomia unui run de chef ??
Chef-client
Syncronizarea cookbookurilor
build node
Sync cookbooks
Anatomia unui run de chef ??
Chef-client
build node
Sync cookbooks
Incarcarea cookbookurilor
Ordinea de incarcare:
Templates & cookbook files are not loaded here
Anatomia unui run de chef ??
Chef-client
build node
Sync cookbooks
Incarcarea cookbookurilor
Text
Converge
Anatomia unui run de chef ??
Chef-client
build node
Sync cookbooks
Incarcarea cookbookurilor
Text
Converge
Success?
Anatomia unui run de chef ??
Chef-client
build node
Sync cookbooks
Incarcarea cookbookurilor
Text
Converge
Success?
Report handles
Da
Anatomia unui run de chef ??
Chef-client
build node
Sync cookbooks
Incarcarea cookbookurilor
Text
Converge
Success?
Report handles
Da
Exception Handlers
Nu
Anatomia unui run de chef ??
Cum arata un cookbook + Demo
Pros:
- Templates
- Using ruby code for custom functionality
- Defining your own resources
- Brilliant Testing Capabilities out of the box
- Did i mention it's FREE
- Awesome community
- Good documentation
- Idempotency
- A lot of flexibility and control when using Chef Server
Cons / Issues I've encountered:
- Derived attributes
- Using Attributes in custom-resources
- Windows vs Linux (Boom)
- Not so Reusable resources across every platform (ex: execute)
- If not built right, quite slow, mainly because of all the downloads (dependency download) and the pure fact that it uses an agent
Q & A