"Workstation Up" - Docker Development at Flow by Mike Roth
-
Upload
docker-inc -
Category
Technology
-
view
170 -
download
1
Transcript of "Workstation Up" - Docker Development at Flow by Mike Roth
![Page 2: "Workstation Up" - Docker Development at Flow by Mike Roth](https://reader031.fdocuments.in/reader031/viewer/2022021918/58a169a31a28abc1708b696f/html5/thumbnails/2.jpg)
Flow CommerceFlow is a next-generation solution for taking merchants global - more at https://flow.io
We are about to launch and are hiring – email [email protected] if interested
![Page 3: "Workstation Up" - Docker Development at Flow by Mike Roth](https://reader031.fdocuments.in/reader031/viewer/2022021918/58a169a31a28abc1708b696f/html5/thumbnails/3.jpg)
“Everything should be made as simple as
possible, but not simpler.”— Albert Einstein
![Page 4: "Workstation Up" - Docker Development at Flow by Mike Roth](https://reader031.fdocuments.in/reader031/viewer/2022021918/58a169a31a28abc1708b696f/html5/thumbnails/4.jpg)
Flow uses Docker for…Local development environment (workstation)https://github.com/flowcommere/workstationBuilding custom base images (Play & PostgresQL)https://github.com/flowcommerce/dockerContinuous Integration (Travis CI)https://travis-ci.org/flowcommerce/deltaContinuous Delivery (Delta)https://github.com/flowcommerce/deltaExternal APIshttps://github.com/flowcommerce/goutilsProduction (AWS/ECS)
![Page 5: "Workstation Up" - Docker Development at Flow by Mike Roth](https://reader031.fdocuments.in/reader031/viewer/2022021918/58a169a31a28abc1708b696f/html5/thumbnails/5.jpg)
Open Source!
github.com/flowcommerce
![Page 6: "Workstation Up" - Docker Development at Flow by Mike Roth](https://reader031.fdocuments.in/reader031/viewer/2022021918/58a169a31a28abc1708b696f/html5/thumbnails/6.jpg)
Right now, let’s make a change…
in Production
![Page 7: "Workstation Up" - Docker Development at Flow by Mike Roth](https://reader031.fdocuments.in/reader031/viewer/2022021918/58a169a31a28abc1708b696f/html5/thumbnails/7.jpg)
Key Stages in Delta• Syncs GitHub SHAs with master branch
• Syncs tags & applies new one
• Creates/Builds Docker Hub Automated Build
• Scale
**More on CD @ Flow** http://www.slideshare.net/mbryzek/nyc-continuous-delivery-meetup-introducing-delta
![Page 8: "Workstation Up" - Docker Development at Flow by Mike Roth](https://reader031.fdocuments.in/reader031/viewer/2022021918/58a169a31a28abc1708b696f/html5/thumbnails/8.jpg)
Now, back to Development
![Page 9: "Workstation Up" - Docker Development at Flow by Mike Roth](https://reader031.fdocuments.in/reader031/viewer/2022021918/58a169a31a28abc1708b696f/html5/thumbnails/9.jpg)
Docker for Mac• Simple
• Containers referenced via `localhost`
• Developers install less (e.g. No Virtual Box)
![Page 10: "Workstation Up" - Docker Development at Flow by Mike Roth](https://reader031.fdocuments.in/reader031/viewer/2022021918/58a169a31a28abc1708b696f/html5/thumbnails/10.jpg)
CLIs at FlowRuby Go
• CLI essentially “baked in”
• Get stuff done - repetitive tasks (e.g. repo tagging, environment variable updates in S3, check kinesis, etc.)
• Binaries can be passed around, and they “just work”
• Super useful for non-tech
• Robust
![Page 11: "Workstation Up" - Docker Development at Flow by Mike Roth](https://reader031.fdocuments.in/reader031/viewer/2022021918/58a169a31a28abc1708b696f/html5/thumbnails/11.jpg)
Application DependenciesFlow manages dependencies with Registryhttps://github.com/flowcommerce/registry
![Page 12: "Workstation Up" - Docker Development at Flow by Mike Roth](https://reader031.fdocuments.in/reader031/viewer/2022021918/58a169a31a28abc1708b696f/html5/thumbnails/12.jpg)
Application Dependencies• Implement custom health checks (with substance)
• Loosely couple dependencies
• No extends or links needed
• No volumes
• Use S3 for environment variables (in Dev & Prod)
![Page 13: "Workstation Up" - Docker Development at Flow by Mike Roth](https://reader031.fdocuments.in/reader031/viewer/2022021918/58a169a31a28abc1708b696f/html5/thumbnails/13.jpg)
External APIsDocker Hub API
https://github.com/flowcommerce/external-apis/blob/master/docker/hub.json
Docker Registry
https://github.com/flowcommerce/external-apis/tree/master/docker
Clients integrated with applications like Workstation and Delta
![Page 14: "Workstation Up" - Docker Development at Flow by Mike Roth](https://reader031.fdocuments.in/reader031/viewer/2022021918/58a169a31a28abc1708b696f/html5/thumbnails/14.jpg)
Workstation
![Page 15: "Workstation Up" - Docker Development at Flow by Mike Roth](https://reader031.fdocuments.in/reader031/viewer/2022021918/58a169a31a28abc1708b696f/html5/thumbnails/15.jpg)
Sample Process FlowFor example: workstation up —app www
Checks YAML configuration for app details
Recursively checks for upstream dependencies and maintains priority order (based on their upstream dependencies)
![Page 16: "Workstation Up" - Docker Development at Flow by Mike Roth](https://reader031.fdocuments.in/reader031/viewer/2022021918/58a169a31a28abc1708b696f/html5/thumbnails/16.jpg)
Sample Process Flow (up)Container Running?
Get “latest” from
Docker Hub
docker run
NO
Healthy?
YES
YES
NO
![Page 17: "Workstation Up" - Docker Development at Flow by Mike Roth](https://reader031.fdocuments.in/reader031/viewer/2022021918/58a169a31a28abc1708b696f/html5/thumbnails/17.jpg)
Live Demo
![Page 18: "Workstation Up" - Docker Development at Flow by Mike Roth](https://reader031.fdocuments.in/reader031/viewer/2022021918/58a169a31a28abc1708b696f/html5/thumbnails/18.jpg)
Let’s Check Prod
and send some Docker love!