partner webcast – docker agility in cloud: introducing oracle container cloud service
TRANSCRIPT
Stay Connected
BLOGS.ORACLE.COM/IMC
TWITTER.COM/ORACLEIMC
YOUTUBE.COM/ORACLEIMCTEAM
FACEBOOK.COM/ORACLEIMC
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Docker Agility in Cloud: Introducing Oracle Container Cloud Service Emin Askerov IMC Cloud & MW Consultant February, 2017
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Safe Harbor Statement
The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
4
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
Containers: what is it and why do we need them?
Docker Containers Short Overview
DevOps and Containers
Introducing Oracle Container Cloud: Docker Agility in Cloud
Container Cloud Service Concepts and Key Terminology
Summary
1
2
3
4
5
5
6
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
Containers: what is it and why do we need them?
Docker Containers Short Overview
DevOps and Containers
Introducing Oracle Container Cloud: Docker Agility in Cloud
Container Cloud Service Concepts and Key Terminology
Summary
1
2
3
4
5
6
6
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
What are Containers? Why use them?
• A container is packaged as an entire runtime environment: the service/app plus all dependencies, libraries, & configuration files needed to run it
• Portable across environments & lightweight (share the OS)
An Open Technology to Build, Ship, and Run Distributed Applications
Developers care because:
• Quickly create ready-to-run packaged applications, low cost deployment and replay
• Automate testing, integration, packaging
• Reduce/eliminate platform compatibility issues (“It works in dev!”)
• Support next gen applications (microservices)
IT cares because: • Improve speed and frequency of releases,
reliability of deployments
• Makes app lifecycle efficient, consistent and repeatable – configure once, run many times
• Eliminate environment inconsistencies between development, test, production
• Improve production application resiliency and scale out/in on demand
7
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Containers – Explosive Adoption
4B+ Docker Container Downloads 78%
Planning to use Docker containers to build new microservices applications
90% Using Docker for apps in development
Docker is the fastest growing enterprise DevOps tool with >2/3 enterprises using or planning to use it
8
SOURCES: DOCKER.COM; THE EVOLUTION OF THE MODERN SOFTWARE SUPPLY CHAIN, DOCKER SURVEY 2016; RIGHTSCALE 2016 STATE OF THE CLOUD REPORT
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Virtual Machines vs. Containers
Virtual Machines ● Each virtual machine (VM)
includes the app, the necessary binaries and libraries and an entire guest operating system
Containers ● Containers include the app & all of its dependencies,
but share the kernel with other containers. ● Run as an isolated process in userspace on the host OS ● Not tied to any specific infrastructure – containers run
on any computer, infrastructure and cloud.
VMs
Containers
9
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Key Container Use Cases
10
SOURCE: THE EVOLUTION OF THE MODERN SOFTWARE SUPPLY CHAIN, DOCKER SURVEY 2016
• Developer productivity a top use case today
• Building out CI/CD pipelines
– Consistent container image moves through pipeline
– Preventing “it worked in dev” syndrome
• Application modernization and portability are also key adoption drivers (Prem <-> cloud)
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
Containers: what is it and why do we need them?
Docker Containers Short Overview
DevOps and Containers
Introducing Oracle Container Cloud: Docker Agility in Cloud
Container Cloud Service Concepts and Key Terminology
Summary
1
2
3
4
5
11
6
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
What is Docker?
• It’s an improved, user-friendly Linux Container technology
• Easy, human readable mechanism to build containers images based on recepies, aka Dockerfiles
• Networking, memory, CPU, and file system boundaries for processes
• Images for containers can be easily shared and extended – Container file system is layered; deltas used with copy-on-write
• Extremely fast adoption by developers
• Considered as a “lightweighter” virtualization technology
• Runs on Linux, Windows, and Mac OS X – Soon on Solaris too, work being done by Oracle engineers
An Open Platform to Build, Ship, and Run Distributed Applications
12
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Isn’t a Container Just Like a VM? NO! Key differences
Harder to over-subscribe physical hardware resources like CPU and memory
Utilization
Very easy to get to 100% consume physical hardware resources. Can easily move containers off of hosts when the hosts become too utilized
Performance Heavy weight – must often go through abstraction layers to access physical hardware resources
Lightweight – a container is just an operating system process. 100% native access to all physical hardware resources
Must use configuration management tool to apply updates. Or must update every single gold image and then re-deploy
Updates Can apply diffs to container images, or most often, the image is quickly rebuilt and container re-deployed
Can be automated with 3rd-party tools (Chef/Puppet/etc), but takes a lot of time. Snapshots are bigger compared to Container images.
Image Creation
Same options as VMs + can also declaratively construct one using native, 1st class Dockerfile format.
VMs Containers
13
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Docker Architecture 101
• Docker Client talks to Docker Daemon
• Client can run on a same machine or connect remotely
• Docker Registries or Hubs hold images
14
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Docker Images
15
• Containers have writeable file system
• Recipes, the Dockerfiles, can be easily shared
• Container as code • Images have layered file
systems • Images can be extended • Images can be shared as
binary files
15
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Start Using Containers
Docker
Hardware
Operating System
bins/libs
Container0
bins/libs
apps
Container1
apps
Docker
CLI REST Dockerfile
volumes
• #1 value – app packaging
• Containers help deploying Microservices-like architecture
– Higher density
– Easy to start/stop
– Portability
• Containers are lightweight, just like microservices themselves
• Containers can run in VMs too
16
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
• Developers care because: – Quickly create ready-to-run packaged
applications
– A clean, safe, hygienic, portable runtime environment
– No missing/conflicting dependencies or packages
– Each app runs in an isolated container
– Automate testing, integration, packaging
– Reduce/eliminate platform compatibility issues
– Cheap/zero cost deployment, with instant replay and reset
• Administrators care because:
– Configure once, run many times
– Makes app lifecycle efficient, consistent and repeatable
– Eliminate environment inconsistencies between development, test, production
– Supports segregation of duties
– Improve speed and reliability of continuous integration and deployment
– Lightweight containers address performance, costs, deployment and portability issues
17
Why IT Cares About Docker Containers?
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
What are the Benefits and Use Cases with Docker Containers?
• Benefits – Using containers allows developers and sysadmins to isolate each application, providing
specific dependencies for each application
– Docker containers are tiny; they are designed to run a single application
– Docker combines filesystem layers to improve re-use between containers
– Cost savings on conventional virtualization due to greater density using containers • Spin off isolated infrastructures/processes within same VM. Better consumption of resources.
• Use Cases – Application Deployment without “dependency hell” of multiple applications
– Continuous Integration
– Platform-as-a-Service (PaaS)
– Development and Test Environment
18
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
OCI – Open Container Initiative
• Governance structure for the express purpose of creating industry standards around container formats and runtime.
• Customers can commit to container technologies w/o worrying on being locked up.
• Oracle joined in 2015.
– blogs.oracle.com/solaris/entry/oracle_joins_the_open_container
19
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
Containers: what is it and why do we need them?
Docker Containers Short Overview
DevOps and Containers
Introducing Oracle Container Cloud: Docker Agility in Cloud
Container Cloud Service Concepts and Key Terminology
Summary
1
2
3
4
5
20
6
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
DevOps: The Old Battle
21
Who is at fault? Who to blame?
It's not my machines, it's your code!
It's not my code, it's your machines! Target roles may
now include: Developers Architects Operations DevOps
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
What are some of the buzzwords around DevOps?
22
Continuous Integration
Agile Development vs. Agile Delivery
Continuous Delivery
Containers/Docker
IDEs & Coding Build (Scripting) CI/CD
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Traditional Continuous Integration
23
Developers
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Continuous Integration with Docker • CI Server builds Docker image and pushes image to a Docker Registry
• Image deployed in next SDLC region
24 Oracle Confidential – Restricted
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
Containers: what is it and why do we need them?
Docker Containers Short Overview
DevOps and Containers
Introducing Oracle Container Cloud: Docker Agility in Cloud
Container Cloud Service Concepts and Key Terminology
Summary
1
2
3
4
5
25
6
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Introducing Oracle Container Cloud Service
26
Key Benefits
Enables developers to get started and deploy containers quickly, DevOps teams with Docker management, visibility and control.
Integrates with Continuous Integration & Deployment Pipelines to automate new releases.
Supports polyglot development, open source software and microservice architectures
Building & maintaining Docker environments & management is complex, costly and time consuming
Lack of example container applications and best practices to get started
Enterprises need Docker management from dev/test through to production
What Problems Does it Solve?
Hosted container service allows customers to deploy and run their own Docker containers
Management and controls to orchestrate container placement and policies What is It?
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 27
Oracle Container Cloud Service
Managing Containers Easily on Oracle Public Cloud
Cloud & Container Native
Enterprise Operations Ready
Built-In Collaboration
• Docker Compatible
• One-Click Application Stack Deployment
• Registry Integration
• Build CI/CD Pipelines
• Operations Dashboards
• Container Health Checks
• Service Scaling
• Orchestration & Scheduling Policies
• Resource Pools for Dev, Test, Prod
• Run, Deploy Oracle Certified Docker Images
• Quickstart, Best Practices Included
• Integration REST API
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Container Cloud Service Differentiation
1. Easy Onboarding and Use
2. Example Application Stacks
3. Part of Rich App Dev Portfolio
28
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
1. Easy Onboarding and Use
• Intuitive complete UI for Developers and DevOps teams
• Quickstart Wizards for rapid setup
• Dashboards give at a glance operational views
• Docker Compatible (Docker Engine and tooling like Docker Compose)
29
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
2. Example Application Stacks
• Example “Stacks” enable quick customer ramp without complex orchestration
• Service Discovery Built-In to enable multi-host app deployments
• Complete functioning examples: – Load Balancing
– Logging
– Monitoring
– Open Source (WordPress, Redis, others)
– WebLogic Multi-Host
Load Balancer
Admin Server
Managed Server
Managed Server
Managed Server
Query
Multi-Host WebLogic Stack with Load balancer
30
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 31 Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 31
3. Part of Rich App Dev Portfolio Unique in Blending Traditional, Cloud Native and Low Code with End to End PaaS
Oracle Platform for Cloud Application Development
Compute (VM, Bare Metal)
COMMON SERVICES
Developer Cloud (CICD)
Identity APM/Log Analytics
API Management
INTEGRATION SERVICES
DATA SERVICES Database NoSQL MySQL
Integration SOA
BACK-END SERVICES
Mobile Application Container
Java
EE SDKs
(3rd Party, JET)
App Builder
FRONT-END TOOLING
Network Storage
Infrastructure as a Service
Internet of Things
Functions
F(x)
Container Cloud (Docker, Orchestration)
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle Cloud and Docker Containers
Container CS Compute CS Application Container CS
DIY Container Management
Oracle Managed Container Service
Docker-based Cloud Polyglot Platform
IaaS CaaS PaaS
32
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
Containers: what is it and why do we need them?
Docker Containers Short Overview
DevOps and Containers
Introducing Oracle Container Cloud: Docker Agility in Cloud
Container Cloud Service Concepts and Key Terminology
Summary
1
2
3
4
5
33
6
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Container CS Provides This Out of the Box Functionality
● Create Instances as Needed ● Define Resource Pools ● Add Private Registries
● Edit Create New Services ● Compose Application Stacks ● Deploy Stacks with 1 Click
● Automated Deployment ● Multi-Host, Easy Scale Out ● Built in Service Discovery
● Integrated Health Checks ● Unified Dashboard ● Monitoring and Auditing
Configuration
Management
Application
Deployment
Container
Orchestration
Operations
Management
34
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 35
Key OCCS Terminology
OCCS Concept Description
Resource Pools Resource pools are a way to organize hosts and combine them into isolated groups of compute resources
Hosts Hosts (or ‘worker nodes’) are the Oracle Compute virtual machines (VMs) managed by Oracle Container Cloud Service on which you deploy services and stacks to run Docker containers.
Service A service is a template for how to run a container from a single image and associated Docker runtime information (e.g. mapped ports, storage volumes etc…)
Stack A Stack is a template for how to run a multi-service (container) based application (e.g. an “ELK” stack). It is very similar (and compatible with) Docker Compose format.
Deployment One or more running containers that have been created from deploying a Service or a Stack
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
• Hosts are Oracle Compute VMs managed by OCCS
• Used for deploying services and stacks to run Docker containers
• OCCS has one manager node, and a number of worker nodes (hosts)
• Manager node orchestrates the deployment of Docker containers to the worker nodes
• Worker node runs an OCCS agent to communicate Docker status to and from the manager node
36
Oracle Container Cloud: Hosts
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
• Resource pools - are a way to organize hosts and combine them into isolated groups of compute resources.
• Enable you to manage your Docker environment more effectively by deploying services and stacks efficiently across multiple hosts
37
Oracle Container Cloud: Resource Pools
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
• Service comprises all of the necessary configuration for running a Docker image as a container on a host
• High-level configuration objects that you can create, deploy, and manage using OCCS
• Set of instructions to follow to deploy a running container
38
Oracle Container Cloud: Services
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
• Stack comprises all of the necessary configuration for running a set of services as Docker containers in a coordinated way and managed as a single entity
• For instance, might be one or more web server containers and a DB container
39
Oracle Container Cloud: Stack
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
• Deployment comprises a service or stack in which Docker containers are managed, deployed, and scaled according to a set of defined orchestration rules
40
Oracle Container Cloud: Deployment
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 41
Services and Stacks
Service Editor Stack Editor
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
Containers: what is it and why do we need them?
Docker Containers Short Overview
DevOps and Containers
Introducing Oracle Container Cloud: Docker Agility in Cloud
Container Cloud Service Concepts and Key Terminology
Summary
1
2
3
4
5
43
6
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
• Docker Compatible (Docker Engine, Docker Compose)
Convert between Docker run, UI, YAML
• One Click Deploy (of example application stacks)
• Registry Integration (connect to public & private registries such as Docker Hub)
• Build CI/CD Pipelines (via “WebHooks”)
• Service Discovery – Built in to enable multi-container cross host deployments
44
Container CS Key Features
Cloud & Container Native Enterprise Operations
Ready Collaboration Built-In
• Operations Dashboards
Key health/performance stats & container logs
• Container Health Checks (port ping for container processes)
• Service Scaling (scale out services via UI or API)
• Orchestration & Scheduling Policies (least CPU/Memory, tag based placement, others)
• Self-Healing Deployments (maintain the desired state of a deployed multi-container app)
• Elegant Interface - “Quickstart” Wizards to get users started
• Best Practices Included (example stacks covering monitoring, logging, load balancing)
Run & Deploy Oracle Certified Docker images
• API Ready – Drive common container operations and deployments via REST API
• Resource Pools (partition compute resources across dev, test, staging etc…
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Demonstration Deploying and managing container infrastructure in Oracle Container Cloud Service Emin Askerov IMC Cloud & MW Consultant February, 2017
45
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Q&A Oracle IMC blog: http://blogs.oracle.com/imc
Oracle ECEMEA Partner Hub Homepage: http://oracle.com/goto/hub-ecemea
Oracle IMC Mail: [email protected]
Twitter: http://twitter.com/oracleimc
Facebook: http://facebook.com/oracleimc
LinkedIn: http://linkedin.com/groups/OracleIMC-4535240
Google+: http://plus.google.com/+OracleIMC
46
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
For More Information
TRY: cloud.oracle.com/container
VISIT: cloud.oracle.com/container
47
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle Partner Hub EMEA Innovation & Modernization Center
twitter.com/OracleIMC
facebook.com/OracleIMC
plus.google.com/+OracleIMC
youtube.com/user/OracleIMCTeam
linkedin.com/groups/4535240
blogs.oracle.com/imc
48
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 49