Top Banner
Developer Workflow with Docker From Development to Production
21

Developer workflow with docker

Feb 15, 2017

Download

Software

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Developer workflow with docker

Developer Workflow with Docker

From Development to Production

Page 2: Developer workflow with docker

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

$ 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

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

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

Docker Cloud

Page 7: Developer workflow with docker

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

Docker Cloud Live Demo

Page 9: Developer workflow with docker

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

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

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

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

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

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

OpenShift Architecture

Page 16: Developer workflow with docker

OpenShift Demo On CDK

Page 17: Developer workflow with docker

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

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

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

Questions?