OSCON: Advanced Docker developer workflows on Mac OS and Windows
Developer workflow with docker
-
Upload
lalatendu-mohanty -
Category
Software
-
view
515 -
download
0
Transcript of Developer workflow with docker
![Page 1: Developer workflow with docker](https://reader031.fdocuments.net/reader031/viewer/2022021813/58a469051a28abb8288b686b/html5/thumbnails/1.jpg)
Developer Workflow with Docker
From Development to Production
![Page 2: Developer workflow with docker](https://reader031.fdocuments.net/reader031/viewer/2022021813/58a469051a28abb8288b686b/html5/thumbnails/2.jpg)
DisclaimerI am not trying to create a generalized workflow for all application developers. The idea is to give an overview of available solutions.
![Page 3: Developer workflow with docker](https://reader031.fdocuments.net/reader031/viewer/2022021813/58a469051a28abb8288b686b/html5/thumbnails/3.jpg)
$ whoami
● Lalatendu Mohanty● @lalatenduM on Twitter.● lalatenduM on Freenode.● Homepage/Blogs : lalatendu.org● Working for Red Hat as a software engineer.
![Page 4: Developer workflow with docker](https://reader031.fdocuments.net/reader031/viewer/2022021813/58a469051a28abb8288b686b/html5/thumbnails/4.jpg)
Things I am trying to cover in this talk● Opinionated workflow for Kubernetes and Docker Compose/Swarm.● As I have just 30 minutes for the presentation, I will only demo one project
from each Kubernetes and Docker Compose/Swarm ecosystem.
Note: Pivotal Cloud Foundry is absent in this the talk as they do not directly use Kubernetes or Docker Compose/Swarm.
![Page 5: Developer workflow with docker](https://reader031.fdocuments.net/reader031/viewer/2022021813/58a469051a28abb8288b686b/html5/thumbnails/5.jpg)
Docker Compose Ecosystem● Docker Toolbox (For Non-Linux/GNU OS)
○ Docker Compose○ Docker Swarm
● Linux/GNU distributions have native support.● Managing Production deployments.
○ Docker Cloud○ Rancher 1.0
Note : Due to lack to time I am going to talk about Docker Cloud in this presentation.
![Page 6: Developer workflow with docker](https://reader031.fdocuments.net/reader031/viewer/2022021813/58a469051a28abb8288b686b/html5/thumbnails/6.jpg)
Docker Cloud
![Page 7: Developer workflow with docker](https://reader031.fdocuments.net/reader031/viewer/2022021813/58a469051a28abb8288b686b/html5/thumbnails/7.jpg)
Docker Cloud Salient Features● Unified Interface for managing containers on public cloud and privately hosted
machines● Integration with Docker Compose and Docker Swarm.● Integration with Docker Hub (public and private repositories)● Security scanning in Docker Cloud
![Page 8: Developer workflow with docker](https://reader031.fdocuments.net/reader031/viewer/2022021813/58a469051a28abb8288b686b/html5/thumbnails/8.jpg)
Docker Cloud Live Demo
![Page 9: Developer workflow with docker](https://reader031.fdocuments.net/reader031/viewer/2022021813/58a469051a28abb8288b686b/html5/thumbnails/9.jpg)
Kubernetes● Automating deployment, scaling, and management of containerized
applications.● Various ways to set up local development environment e.g. minikube,
kmachine, Red Hat CDK.
![Page 10: Developer workflow with docker](https://reader031.fdocuments.net/reader031/viewer/2022021813/58a469051a28abb8288b686b/html5/thumbnails/10.jpg)
Why PaaS?
● Complete lifecycle management of application. ● Developers can deploy application without help from operation team.● Stable and transparent developer workflow.● Supports the idea of continuous deployment (DevOps).
![Page 11: Developer workflow with docker](https://reader031.fdocuments.net/reader031/viewer/2022021813/58a469051a28abb8288b686b/html5/thumbnails/11.jpg)
Cloud Native Paas Based On Kubernetes● Deis
○ Deis builds upon Docker and CoreOS to provide a lightweight Paas.
● OpenShift○ Uses Docker and Kubernetes and builds on top of it.
● Kel
All of the above Paas solutions are open source. Both Deis and OpenShift supports both private and public Clouds.
● Rancher 1.0 also have a nice interface and tooling to deploy containers on a Kubernetes cluster.● There are Kubernetes support in Public clouds too.
![Page 12: Developer workflow with docker](https://reader031.fdocuments.net/reader031/viewer/2022021813/58a469051a28abb8288b686b/html5/thumbnails/12.jpg)
OpenShift● Local development environment through ADB/CDK
○ ADB : Atomic Developer Bundle.○ CDK: Container Development Kit.
● OpenShift Online.● OpenShift Origin.● OpenShift Dedicated.
![Page 13: Developer workflow with docker](https://reader031.fdocuments.net/reader031/viewer/2022021813/58a469051a28abb8288b686b/html5/thumbnails/13.jpg)
OpenShift ● Automates application builds, deployments, scaling, health management and
more.● Developers have the choice and the ability to run multiple languages,
frameworks, and databases on the same platform.● It is a self service platform for application developers. ● Runs on top of physical or virtual, public or private cloud, and even hybrid
cloud infrastructure.● OpenShift dedicated for deploying/running it on public cloud e.g. AWS and
Google Compute Engine.● Suited for running micro-services kind of applications.
![Page 14: Developer workflow with docker](https://reader031.fdocuments.net/reader031/viewer/2022021813/58a469051a28abb8288b686b/html5/thumbnails/14.jpg)
OpenShift Salient Features● Uses Kubernetes orchestration, management and Docker as the container
technology.● Automated image builds and promotion.● Deployments integrated with builds and CI.● Source to image build process.● Integrated networking (SDN, DNS, routing) for container networking.● Fully integrated Docker registry.● Integrate with Docker Hub and other 3rd party enterprises registries. ● Support for persistent volumes with various cloud storage solutions.● Integrated enterprise features e.g authentication (LDAP etc), quota etc.
![Page 15: Developer workflow with docker](https://reader031.fdocuments.net/reader031/viewer/2022021813/58a469051a28abb8288b686b/html5/thumbnails/15.jpg)
OpenShift Architecture
![Page 16: Developer workflow with docker](https://reader031.fdocuments.net/reader031/viewer/2022021813/58a469051a28abb8288b686b/html5/thumbnails/16.jpg)
OpenShift Demo On CDK
![Page 17: Developer workflow with docker](https://reader031.fdocuments.net/reader031/viewer/2022021813/58a469051a28abb8288b686b/html5/thumbnails/17.jpg)
Red Hat Container Development Kit 2.0● Development environment same as the production environment.● Easiest way to setup OpenShift.
○ One command to set up/destroy i.e. “vagrant up” roy" and “vagrant destroy”○ There are templates of sample applications.
● Quickly get single node Kubernetes setup or Docker run time Windows, OS X, Linux/GNU.
● Overview: http://developers.redhat.com/products/cdk/overview/
● The upstream project of CDK is called Atomic Developer Bundle.
![Page 18: Developer workflow with docker](https://reader031.fdocuments.net/reader031/viewer/2022021813/58a469051a28abb8288b686b/html5/thumbnails/18.jpg)
How to get CDK?● Sign up for developer.redhat.com.● Follow: http://developers.redhat.com/products/cdk/get-started/
![Page 19: Developer workflow with docker](https://reader031.fdocuments.net/reader031/viewer/2022021813/58a469051a28abb8288b686b/html5/thumbnails/19.jpg)
Atomic Developer Bundle● Upstream community project of Red Hat Container Development Kit.● Helps to create developer environment for Docker, OpenShift Origin,
Kubernetes, Mesos Marathon.
● Github Url: https://github.com/projectatomic/adb-atomic-developer-bundle.
![Page 20: Developer workflow with docker](https://reader031.fdocuments.net/reader031/viewer/2022021813/58a469051a28abb8288b686b/html5/thumbnails/20.jpg)
Questions?
![Page 21: Developer workflow with docker](https://reader031.fdocuments.net/reader031/viewer/2022021813/58a469051a28abb8288b686b/html5/thumbnails/21.jpg)
References● http://blog.kubernetes.io/2015/11/Kubernetes-as-Foundation-for-Cloud-
Native-PaaS.html● https://www.openshift.com/enterprise/features.html● https://www.youtube.com/watch?v=wjWgVApNbQA● http://developers.redhat.com/products/cdk/overview/