Under the hood
• Standalone process dispatches work to fleet
• Called “kiddie-pool”
Slide 10
Slide 10 text
mhook
• Needed simple package manager
• downloads packages from S3
• indexed by project, branch, and commit
• similar to Kelsey Hightower’s `pm`
https://github.com/wercker/mhook
kiddie-pool
• Sits between work queue and fleet
• Constructs Unit from job metadata
• Unit invokes `wercker` cli tool
• Sends to fleet over http API
Slide 13
Slide 13 text
wercker cli
• Understands how to actually run the job
• You can download and run wercker locally
• rapid iteration
• don’t even need us
• wow
http://wercker.com/downloads/
Slide 14
Slide 14 text
What’s next
• Smart job assignment
• Fleet naively allocates work
• Need a job scheduler that’s smarter
• Colocate jobs, data, and services
• Help us build this
Logging
• Logging
• Use Graylog because they have a working docker
image
• `journalhook` sends application data to journal
• `journal2gelf` container streams journal to graylog
• persists journal cursor
https://github.com/wercker/journalhook
Slide 17
Slide 17 text
Provisioning
• Vagrant for development
• AWS/Cloud Formation for user-facing
• Single script to send application units to fleet
• Separation of concerns, no duplication
Slide 18
Slide 18 text
etcd
• Used to publish service information
• In the application to signal job aborts
• Best way to run is as cluster of its own
• should get easier with 2.0 with proxies
• need to configure many things to have correct
etcd url