developer workflow with docker

21
Developer Workflow with Docker From Development to Production

Upload: lalatendu-mohanty

Post on 15-Feb-2017

510 views

Category:

Software


0 download

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?