Docker for Ops: Operationalize Your Apps in Production Vivek Saraswat Sr. Product Evan Hazlett Sr. Software
Delivering Apps with Containers as a Service Running a Docker App in Production Putting in Practice (Docker Datacenter Demo) Agenda
Delivering Apps with CaaS
IT Operations 4 What do Devs and IT Ops Want? Standardized and Secure Workflows! Faster, Easier App Development! Must work everywhere!
How about in plain English? Developers get the tools they want IT gets secure and standardized workflows An IT Ops managed and secure environment for developers to self service build and deploy applications What is Containers as a Service? (CaaS)
So why use CaaS? 6 Management at scale Integrated content trust Secure access control Enterprise integrations Consistent API Seamless dev to prod workflow Infrastructure, network and storage portability Easy to setup and use Native Docker solution Extend developer experience ++ AgilityPortabilityControl
How CaaS Works DEVELOPERS IT OPERATIONS BUILD Development Environments SHIP Secure Content & Collaboration RUN Deploy, Manage, Scale
Operating Systems Config MgtMonitoringLoggingCI/CD..more.. Infrastructure Docker Universal Control Plane App and cluster management Security Content Trust, RBAC, LDAP/AD Docker Engine Container runtime, orchestration, networking, volumes, plugins Docker Trusted Registry Image management and distribution ImagesNetworkingVolumes VirtualizationPublic CloudPhysical/Converged + Existing on prem infrastructure (e.g. RHEL/Ubuntu, Windows, ++) Docker Datacenter – CaaS for Enterprise
Client Compose Partner IntegrationsDocker Interfaces Volume Plug-ins MonitoringLogging Network Plug-ins Docker Universal Control Plane Docker Trusted Registry On premises Datacenter Virtual Private Cloud Commercially supported Docker Engines Docker Swarm Docker Datacenter Content Security Storage Drivers LDAP/ AD Docker for Mac/Win
Running a Docker App in Production
Production App Considerations Scale Security Monitoring Ecosystem
12 Virtual machines Server Public Cloud Disaster Recovery Developer Laptop Server Cluster Data Center Static Website Web Front End Background Workers User DB Analytics DB Queue API Endpoint Development Test & QA Production Scale Out Scale: Microservices Applications Loosely coupled Services Rapidly updated Runs in multiple environments
UCP Controller LDAP/AD External CA DTR Replica Replicated DTR Config, State, and CAs across DTR Replicas Replicated UCP Config, State, CAs and Auth across UCP Controllers UCP Controller UCP Node Scale: Highly Available Infrastructure
Security: Access Control Authentication (AuthN) Enterprise Integrations (e.g. LDAP/AD) Users and Teams Authorization (AuthZ) Permissions Labels
Developers IT Operations BUILD Development Environments SHIP Secure Content & Collaboration RUN Deploy, Manage, Scale IT maintains a central library of signed and scanned base images Developers self service from central library of trusted base images Image signatures for publisher verification Image scanning for vulnerability detection … Security: Integrated Content Trust
Monitoring: Analytics and Troubleshooting Monitor cattle, not pets –Distributed apps vs. single containers/hosts) Built-in CaaS features for quick analysis –Application statistics, Syslog integration Build/Buy for sophisticated analysis –OSS tools (Influx, Prometheus, etc.) –Partner integrations (see next slide!)
Ecosystem: Technology Partner Integrations NetworkingStorageLoggingMonitoring
It’s Demo Time! ~/src/docker/expressApp$ docker build -t chrisdias/expressapp Sending build context to Docker daemon 72.18mb Step 0 : FROM node:latest –––> 8e20baae42c8 Step 1: COPY. /src –––> 8e20baae42c8 Removing intermediate container afdcd49c779 Step 0 : FROM node:latest –––> 8e20baae42c8 Step 1: COPY. /src –––> 8e20baae42c
Get Started with Docker CaaS Solutions! Learn More about Docker Datacenter: Get a Trial or Purchase Docker Datacenter: Come talk to us at the Docker Datacenter Booth!
Thank you! Follow us