SlideShare une entreprise Scribd logo
1  sur  34
ROBIN
SYSTEMS
SUN5617: Docker 101 for Oracle DBAs
Adeesh	Fulay
Director	of	Products
@AdeeshF
adeesh@robinsystems.com
robinsystems.com
ABOUT ME
› Over 14 years of experience across virtualization, storage,
middleware, databases, & big data applications
› Director of Products, Robin Systems
› Application Virtualization Platform for big data apps and
databases
› Previously @
› VMware - vSphere, vCloud Director, vCloud Air (public cloud)
› Oracle America – OEM, DBLM, DBaaS, DB Cloning, Job System,
Reporting, Plugins, etc …
› mValent Inc (acquired by Oracle) - Config mgmt of Middleware
& Database products
Adeesh	Fulay
Director	of	Products
@AdeeshF
adeesh@robinsystems.com
linkedin.com/in/adeeshfulay
AGENDA
› Why Containers?
› Linux Container Overview
› Look Under the Hood
› Getting Hands Dirty!!!
› Containerized Databases
› Summary
WHY CONTAINERS?
4
THE ANALOGY: CARGO TRANSPORT
CARGO SOLUTION: INTERMODAL SHIPPING CONTAINER
THE BUSINESS CHALLENGE
BUSINESS SOLUTION: LINUX CONTAINERS
LINUX CONTAINERS OVERVIEW
9
VIRTUALIZATION
Each virtual machine includes not
only the app binary, but the entire
operating system (Guest OS) and
necessary libraries (which may weight
10s of GB)
Host OS
Hypervisor
Guest OS
Libraries
App A
Guest OS
Libraries
App B
Host OS
Libraries
App A
Libraries
App B
DOCKER
Each container contains only the
necessary application binary and its
dependent libraries (which may
weight 10s of MB). The operating
system is shared by all containers.
CONTAINERS
UNDERSTANDING CONTAINERS
Each container has:
1. Its own network interface (and IP address)
2. Its own file system
3. Isolation (security)
› Container A & B can’t harm (or even see) each other
› Uses Linux kernel’s “namespaces” for this
4. Isolation (resource usage)
› Soft & hard quotas for CPU, RAM and IO
› Uses Linux kernel’s “cgroups” for this
Wait, this looks like a virtual machine!
So, what’s the difference?
Userspace
Linux Kernel
Cgroups Namespaces
Management
Interface
LXC
App A App B
WHY CONTAINERS?
› OS-Based Lightweight Virtualization
Technology
› Content & Resource Isolation
› Better Performance
› Better Efficiency & Smaller footprint
› Build, ship, deploy anywhere
› Separation of Duties
Source: IBM Research
http://domino.research.ibm.com/library/cyberdig.nsf/papers/0929052195DD819C85257D2300681
E7B/$File/rc25482.pdf
TYPES OF CONTAINERS
• The	Ngnix
• Node.js
• Postgres
• Redis
• MariaDB
• Node.js
• ElasticSearch
• Wordpress
• Node.js
SYSTEM	CONTAINERS
• Each container runs an entire service stack
(multiple applications per container)
• Meant to be used as lightweight VM. Examples –
LXC, OpenVZ, Solaris Zones
• No need to repackage applications in any special
way
• Supports in-place patch/upgrade & SSH access
Great	for	Traditional	Applications
Ngnix
Node.js
Postgres
Redis
MariaDB
Node.js
ElasticSearch
Wordpress
Ngnix
APPLICATION	CONTAINERS
• Each container runs a single application
(single concern per container philosophy)
• Most popular container format. Example – Docker
• Requires applications to be repackaged and
reconfigured to work with Docker image format
• Patch/Upgrade entails replacing container image
Great	for	Modern	Applications
Blog on LXC vs Docker: https://robinsystems.com/blog/containers-deep-dive-lxc-vs-docker-comparison/
WHY DOCKER?
A value of 100 is the peak popularity for the term.
~450K	
images	on	DockerHub
~8	Billion
pulls	from	DockerHub
ORACLE SUPPORTS BOTH DOCKER AND LXC
LXC Support: http://www.oracle.com/technetwork/database/virtualizationmatrix-172995.html
› General
› OracleJava
› OpenJDK
› Database
› RDBMS
› MySQL
› NoSQL
› Middleware
› Glassfish
› WebLogic
› Coherence
› Tuxedo
› HTTP Server
Official	Oracle	on	Docker	repository:	
https://github.com/oracle/docker-images
Oracle	Database Oracle	RAC	(CRS +	ASM)
LXC	(Test	&	Production) ✓ ✓
Docker	(Dev Only) ✓ ✘
UNDER THE HOOD
DOCKER ARCHITECTURE
Key Components
Docker Engine / Daemon
Docker Containers
Docker Images
Docker Registry
Docker Client
Client can be on the same or different host as the daemon. They communicate over sockets or REST APIs.
DOCKER ENGINE
Docker Engine: Responsible for
managing networking, images,
containers, volumes, plugins,
orchestration, etc
Install Docker Engine on your
laptops and servers
IMAGES
› Images are made up of multiple r/o
layers
› Containers are a thin r/w layer on top
› Layers are shared by multiple images
› Storage drivers
› AUFS (Ubuntu, OSX)
› Device mapper (RHEL, CentOS)
› BTRFS (Oracle Linux)
› Overlay, Overlay2
› ZFS
› Layer default location: /var/lib/docker
Additional Reading: https://adeeshfulay.wordpress.com/2017/09/08/understanding-docker-images-and-layers/
DOCKERFILES
Base
Docker
Image
New
Docker
Image
Instructions
• Run commands
• Add file or folder
• Define ENV
variables
• Define processes
to run
• Set entrypoint
Dockerfile
$ Docker build –t <tag> <dir with dockerfile>
CONTAINER MANAGEMENT
Container is like a directory. It is
created from an image, and
contains everything required to
run an app. Containers like VMs
have state and are portable.
Containerd: Simple daemon that
uses runtimes to manage
containers
runC: Docker’s default container
runtime. Can be replaced with
other OCI compliant runtimes.
Docker	Engine
IMAGE REGISTRY
Registry is a distribution component of Docker. It can be private or public (Docker Hub: https://hub.docker.com)
NAS	/	SAN	/	CLOUD	/	SDS
DOCKER VOLUMES
Container
Volume
Host	1
Container
Volume
Host	1
Container
Volume
Host	1
Local Storage Distributed / Shared Storage
Choose	between	
mobility	&	
performance
[Host]/opt/data-dir:[Container]/etc/config
Local	Storage
DOCKER NETWORKING
Bridge Network
Overlay Network
Reference: https://blog.docker.com/2016/12/understanding-docker-
networking-drivers-use-cases/
Network types Details
None No external n/w
Host Share host n/w stack
Bridge NATing, expose ports, poor
performance
macvlan Uses host subnet, VLAN, swarm mode
Overlay Multi-host, VXLAN, swarm mode
3rd Party Plugins OpenvSwitch, Weave, …..
CONTAINER ORCHESTRATION
› Multi-container, Multi-Host scheduling
› Supports multiple container formats- Docker & LXC
› Placement, Affinity and Anti-affinity rules
› Multi-Tenancy, RBAC, AuthN, & AuthZ
› Scaling Options – Up/Down, Out/Back
› Management of Storage & Networking
› Data Management - Snapshot, restore, time travel, clone
› High Availability & Auto Failover
› Service discovery and load balancing
› Extensible – Onboard custom apps
ORACLE, DOCKER, & KUBERNETES
Oracle is late to the party, but making big investments now to catch up!!
GETTING HANDS DIRTY!!!
› DEMO
Mike	Rowe	of	Dirty	Jobs
DEMO: DOCKER EXAMPLES
› Docker info
› Dockerhub & Oracle container registry
› Docker images & Docker pull
› Dockerfile
› Docker run –d <oradb> -v …
› Docker ps -a
› Docker exec –ti <cname> bash
› Docker logs …
› Docker inspect <oradb>
› Docker network ls
› Docker volume ls
Containerized Databases
› Good Idea or Disaster?
How do I get the
absolute best performance?
How can I rapidly clone my
production for test/dev runs?
How do I apply patches and upgrades
without bringing down the application?
How do I avoid overprovisioning
from the start?
How do I quickly deploy
my applications?
Can I run multiple applications on the same
setup without worrying about noisy neighbors?
OPERATIONAL CHALLENGES
How do I handle
spikes and growth?
Robin AVP: Virtualize And Manage BigData & Database Apps with Bare Metal Performance
Guaranteed Min and Max IOPS
Consolidate without losing predictability
Push-button Application Provisioning, Elastic Scaling
10x time saving by managing application not infrastructure
Space-efficient snapshots and clones in minutes
Application time travel (storage, app, network and config)
No Virtualization Overhead
40% - 60% performance advantage
VM
INTEGRATED
SCALE-OUT
BLOCK STORAGE
VIRTUAL
NETWORKING
CONTAINER-BASED
VIRTUALIZATION
APPLICATION
LIFECYCLE
MANAGEMENT
CONVERGED
PLATFORM
Application-aware Infrastructure plumbing
Deploy applications guaranteeing compute+storage anti/affinity rules
Custom
Apps
CONSOLIDATION OPTIONS FOR ORACLE DATABASES
Options	à
Virtual	Machine Oracle	12c	Multitenant	 Containers	on	Robin
Criteria	⬇
Performance	
overhead
Significant
Hypervisor	layer,	Guest	OS
Significant
Shared	Redo	logs,	Noisy	neighbors	
problem
Negligible
Completely	independent,	no	
hypervisor
Availability
High
One	VM	doesn’t	impact	another	one
Medium
CDB	shutdown	takes	down	all	PDBs	with	it
High
Just	like	VMs
Isolation	
Excellent Good
Shared	buffer	cache
Excellent
Performance	
predictability
Poor
Cannot cap	IOPS	at	the	hypervisor	
layer
Good	
IOPS	control	only	available	on	Exadata
Excellent.	
Built	into	the	platform
Agility Good Excellent Excellent
Manageability
High
OS	sprawl
High
Challenges	in	getting	patching	window
Low
No	OS	sprawl,	no additional	licenses
33
https://robinsystems.com/solutions/relational-databases/
www.robinsystems.com info@robinsystems.com
THANK YOU
Adeesh	Fulay
Director	of	Products
@AdeeshF
adeesh@robinsystems.com

Contenu connexe

Tendances

Scaling the Platform for Your Startup
Scaling the Platform for Your StartupScaling the Platform for Your Startup
Scaling the Platform for Your StartupAmazon Web Services
 
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...Ido Flatow
 
Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...
Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...
Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...Redis Labs
 
Getting Started with NuoDB Community Edition
Getting Started with NuoDB Community Edition Getting Started with NuoDB Community Edition
Getting Started with NuoDB Community Edition NuoDB
 
Scaling Pinterest
Scaling PinterestScaling Pinterest
Scaling PinterestC4Media
 
How MariaDB is approaching DBaaS
How MariaDB is approaching DBaaSHow MariaDB is approaching DBaaS
How MariaDB is approaching DBaaSMariaDB plc
 
Database Containerization Platform Checklist
Database Containerization Platform ChecklistDatabase Containerization Platform Checklist
Database Containerization Platform ChecklistAdeesh Fulay
 
Storing and processing data with the wso2 platform
Storing and processing data with the wso2 platformStoring and processing data with the wso2 platform
Storing and processing data with the wso2 platformWSO2
 
2015 deploying flash in the data center
2015 deploying flash in the data center2015 deploying flash in the data center
2015 deploying flash in the data centerHoward Marks
 
Red Hat Summit 2017 - Intro to SQL Server on RHEL and Open Shift
Red Hat Summit 2017 - Intro to SQL Server on RHEL and Open ShiftRed Hat Summit 2017 - Intro to SQL Server on RHEL and Open Shift
Red Hat Summit 2017 - Intro to SQL Server on RHEL and Open ShiftTravis Wright
 
Introducing Node.js in an Oracle technology environment (including hands-on)
Introducing Node.js in an Oracle technology environment (including hands-on)Introducing Node.js in an Oracle technology environment (including hands-on)
Introducing Node.js in an Oracle technology environment (including hands-on)Lucas Jellema
 
Building Storage for Clouds (ONUG Spring 2015)
Building Storage for Clouds (ONUG Spring 2015)Building Storage for Clouds (ONUG Spring 2015)
Building Storage for Clouds (ONUG Spring 2015)Howard Marks
 
Database as a Service on the Oracle Database Appliance Platform
Database as a Service on the Oracle Database Appliance PlatformDatabase as a Service on the Oracle Database Appliance Platform
Database as a Service on the Oracle Database Appliance PlatformMaris Elsins
 
Cassandra Introduction & Features
Cassandra Introduction & FeaturesCassandra Introduction & Features
Cassandra Introduction & FeaturesPhil Peace
 
Managing storage on Prem and in Cloud
Managing storage on Prem and in CloudManaging storage on Prem and in Cloud
Managing storage on Prem and in CloudHoward Marks
 
Power BI with Essbase in the Oracle Cloud
Power BI with Essbase in the Oracle CloudPower BI with Essbase in the Oracle Cloud
Power BI with Essbase in the Oracle CloudKellyn Pot'Vin-Gorman
 
Brk2051 sql server on linux and docker
Brk2051 sql server on linux and dockerBrk2051 sql server on linux and docker
Brk2051 sql server on linux and dockerBob Ward
 

Tendances (20)

Scaling the Platform for Your Startup
Scaling the Platform for Your StartupScaling the Platform for Your Startup
Scaling the Platform for Your Startup
 
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
 
Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...
Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...
Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...
 
Getting Started with NuoDB Community Edition
Getting Started with NuoDB Community Edition Getting Started with NuoDB Community Edition
Getting Started with NuoDB Community Edition
 
Scaling Pinterest
Scaling PinterestScaling Pinterest
Scaling Pinterest
 
How MariaDB is approaching DBaaS
How MariaDB is approaching DBaaSHow MariaDB is approaching DBaaS
How MariaDB is approaching DBaaS
 
IaaS for DBAs in Azure
IaaS for DBAs in AzureIaaS for DBAs in Azure
IaaS for DBAs in Azure
 
Database Containerization Platform Checklist
Database Containerization Platform ChecklistDatabase Containerization Platform Checklist
Database Containerization Platform Checklist
 
Virtualization and Containers
Virtualization and ContainersVirtualization and Containers
Virtualization and Containers
 
Storing and processing data with the wso2 platform
Storing and processing data with the wso2 platformStoring and processing data with the wso2 platform
Storing and processing data with the wso2 platform
 
2015 deploying flash in the data center
2015 deploying flash in the data center2015 deploying flash in the data center
2015 deploying flash in the data center
 
Red Hat Summit 2017 - Intro to SQL Server on RHEL and Open Shift
Red Hat Summit 2017 - Intro to SQL Server on RHEL and Open ShiftRed Hat Summit 2017 - Intro to SQL Server on RHEL and Open Shift
Red Hat Summit 2017 - Intro to SQL Server on RHEL and Open Shift
 
Introducing Node.js in an Oracle technology environment (including hands-on)
Introducing Node.js in an Oracle technology environment (including hands-on)Introducing Node.js in an Oracle technology environment (including hands-on)
Introducing Node.js in an Oracle technology environment (including hands-on)
 
Building Storage for Clouds (ONUG Spring 2015)
Building Storage for Clouds (ONUG Spring 2015)Building Storage for Clouds (ONUG Spring 2015)
Building Storage for Clouds (ONUG Spring 2015)
 
Database as a Service on the Oracle Database Appliance Platform
Database as a Service on the Oracle Database Appliance PlatformDatabase as a Service on the Oracle Database Appliance Platform
Database as a Service on the Oracle Database Appliance Platform
 
Cassandra Introduction & Features
Cassandra Introduction & FeaturesCassandra Introduction & Features
Cassandra Introduction & Features
 
Managing storage on Prem and in Cloud
Managing storage on Prem and in CloudManaging storage on Prem and in Cloud
Managing storage on Prem and in Cloud
 
Azure DBA with IaaS
Azure DBA with IaaSAzure DBA with IaaS
Azure DBA with IaaS
 
Power BI with Essbase in the Oracle Cloud
Power BI with Essbase in the Oracle CloudPower BI with Essbase in the Oracle Cloud
Power BI with Essbase in the Oracle Cloud
 
Brk2051 sql server on linux and docker
Brk2051 sql server on linux and dockerBrk2051 sql server on linux and docker
Brk2051 sql server on linux and docker
 

Similaire à Docker 101 for Oracle DBAs - Oracle OpenWorld 2017

DevOps Fusion 2019: Docker - Why the future takes place in containers
DevOps Fusion 2019: Docker - Why the future takes place in containersDevOps Fusion 2019: Docker - Why the future takes place in containers
DevOps Fusion 2019: Docker - Why the future takes place in containersMarc Müller
 
Immutable Desktop using Container Orchestration By Mohammed Danish Amber .pdf
Immutable Desktop using Container Orchestration By Mohammed Danish Amber .pdfImmutable Desktop using Container Orchestration By Mohammed Danish Amber .pdf
Immutable Desktop using Container Orchestration By Mohammed Danish Amber .pdfnull - The Open Security Community
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for DevelopmentChris Tankersley
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deploymentjavaonfly
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with DockerAndrey Hristov
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with DockerAndrey Hristov
 
Docker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & BluemixDocker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & BluemixIBM
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013dotCloud
 
Journey to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshiftJourney to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshiftYusuf Hadiwinata Sutandar
 
Oracle WebLogic Server 12c with Docker
Oracle WebLogic Server 12c with DockerOracle WebLogic Server 12c with Docker
Oracle WebLogic Server 12c with DockerGuatemala User Group
 
Docker and Microservice
Docker and MicroserviceDocker and Microservice
Docker and MicroserviceSamuel Chow
 
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...IBM France Lab
 
Word press and containers
Word press and containersWord press and containers
Word press and containerswcto2017
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to DockerAditya Konarde
 
Docker intro
Docker introDocker intro
Docker introspiddy
 

Similaire à Docker 101 for Oracle DBAs - Oracle OpenWorld 2017 (20)

Docker handons-workshop-for-charity
Docker handons-workshop-for-charityDocker handons-workshop-for-charity
Docker handons-workshop-for-charity
 
DevOps Fusion 2019: Docker - Why the future takes place in containers
DevOps Fusion 2019: Docker - Why the future takes place in containersDevOps Fusion 2019: Docker - Why the future takes place in containers
DevOps Fusion 2019: Docker - Why the future takes place in containers
 
Docker-Intro
Docker-IntroDocker-Intro
Docker-Intro
 
Immutable Desktop using Container Orchestration By Mohammed Danish Amber .pdf
Immutable Desktop using Container Orchestration By Mohammed Danish Amber .pdfImmutable Desktop using Container Orchestration By Mohammed Danish Amber .pdf
Immutable Desktop using Container Orchestration By Mohammed Danish Amber .pdf
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with Docker
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with Docker
 
Docker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & BluemixDocker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & Bluemix
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
 
OpenStack Summit
OpenStack SummitOpenStack Summit
OpenStack Summit
 
Journey to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshiftJourney to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshift
 
The Docker Ecosystem
The Docker EcosystemThe Docker Ecosystem
The Docker Ecosystem
 
Oracle WebLogic Server 12c with Docker
Oracle WebLogic Server 12c with DockerOracle WebLogic Server 12c with Docker
Oracle WebLogic Server 12c with Docker
 
Docker and Microservice
Docker and MicroserviceDocker and Microservice
Docker and Microservice
 
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Word press and containers
Word press and containersWord press and containers
Word press and containers
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker intro
Docker introDocker intro
Docker intro
 

Dernier

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 

Dernier (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

Docker 101 for Oracle DBAs - Oracle OpenWorld 2017

  • 1. ROBIN SYSTEMS SUN5617: Docker 101 for Oracle DBAs Adeesh Fulay Director of Products @AdeeshF adeesh@robinsystems.com robinsystems.com
  • 2. ABOUT ME › Over 14 years of experience across virtualization, storage, middleware, databases, & big data applications › Director of Products, Robin Systems › Application Virtualization Platform for big data apps and databases › Previously @ › VMware - vSphere, vCloud Director, vCloud Air (public cloud) › Oracle America – OEM, DBLM, DBaaS, DB Cloning, Job System, Reporting, Plugins, etc … › mValent Inc (acquired by Oracle) - Config mgmt of Middleware & Database products Adeesh Fulay Director of Products @AdeeshF adeesh@robinsystems.com linkedin.com/in/adeeshfulay
  • 3. AGENDA › Why Containers? › Linux Container Overview › Look Under the Hood › Getting Hands Dirty!!! › Containerized Databases › Summary
  • 5. THE ANALOGY: CARGO TRANSPORT
  • 6. CARGO SOLUTION: INTERMODAL SHIPPING CONTAINER
  • 10. VIRTUALIZATION Each virtual machine includes not only the app binary, but the entire operating system (Guest OS) and necessary libraries (which may weight 10s of GB) Host OS Hypervisor Guest OS Libraries App A Guest OS Libraries App B Host OS Libraries App A Libraries App B DOCKER Each container contains only the necessary application binary and its dependent libraries (which may weight 10s of MB). The operating system is shared by all containers. CONTAINERS
  • 11. UNDERSTANDING CONTAINERS Each container has: 1. Its own network interface (and IP address) 2. Its own file system 3. Isolation (security) › Container A & B can’t harm (or even see) each other › Uses Linux kernel’s “namespaces” for this 4. Isolation (resource usage) › Soft & hard quotas for CPU, RAM and IO › Uses Linux kernel’s “cgroups” for this Wait, this looks like a virtual machine! So, what’s the difference? Userspace Linux Kernel Cgroups Namespaces Management Interface LXC App A App B
  • 12. WHY CONTAINERS? › OS-Based Lightweight Virtualization Technology › Content & Resource Isolation › Better Performance › Better Efficiency & Smaller footprint › Build, ship, deploy anywhere › Separation of Duties Source: IBM Research http://domino.research.ibm.com/library/cyberdig.nsf/papers/0929052195DD819C85257D2300681 E7B/$File/rc25482.pdf
  • 13. TYPES OF CONTAINERS • The Ngnix • Node.js • Postgres • Redis • MariaDB • Node.js • ElasticSearch • Wordpress • Node.js SYSTEM CONTAINERS • Each container runs an entire service stack (multiple applications per container) • Meant to be used as lightweight VM. Examples – LXC, OpenVZ, Solaris Zones • No need to repackage applications in any special way • Supports in-place patch/upgrade & SSH access Great for Traditional Applications Ngnix Node.js Postgres Redis MariaDB Node.js ElasticSearch Wordpress Ngnix APPLICATION CONTAINERS • Each container runs a single application (single concern per container philosophy) • Most popular container format. Example – Docker • Requires applications to be repackaged and reconfigured to work with Docker image format • Patch/Upgrade entails replacing container image Great for Modern Applications Blog on LXC vs Docker: https://robinsystems.com/blog/containers-deep-dive-lxc-vs-docker-comparison/
  • 14. WHY DOCKER? A value of 100 is the peak popularity for the term. ~450K images on DockerHub ~8 Billion pulls from DockerHub
  • 15. ORACLE SUPPORTS BOTH DOCKER AND LXC LXC Support: http://www.oracle.com/technetwork/database/virtualizationmatrix-172995.html › General › OracleJava › OpenJDK › Database › RDBMS › MySQL › NoSQL › Middleware › Glassfish › WebLogic › Coherence › Tuxedo › HTTP Server Official Oracle on Docker repository: https://github.com/oracle/docker-images Oracle Database Oracle RAC (CRS + ASM) LXC (Test & Production) ✓ ✓ Docker (Dev Only) ✓ ✘
  • 16.
  • 18. DOCKER ARCHITECTURE Key Components Docker Engine / Daemon Docker Containers Docker Images Docker Registry Docker Client Client can be on the same or different host as the daemon. They communicate over sockets or REST APIs.
  • 19. DOCKER ENGINE Docker Engine: Responsible for managing networking, images, containers, volumes, plugins, orchestration, etc Install Docker Engine on your laptops and servers
  • 20. IMAGES › Images are made up of multiple r/o layers › Containers are a thin r/w layer on top › Layers are shared by multiple images › Storage drivers › AUFS (Ubuntu, OSX) › Device mapper (RHEL, CentOS) › BTRFS (Oracle Linux) › Overlay, Overlay2 › ZFS › Layer default location: /var/lib/docker Additional Reading: https://adeeshfulay.wordpress.com/2017/09/08/understanding-docker-images-and-layers/
  • 21. DOCKERFILES Base Docker Image New Docker Image Instructions • Run commands • Add file or folder • Define ENV variables • Define processes to run • Set entrypoint Dockerfile $ Docker build –t <tag> <dir with dockerfile>
  • 22. CONTAINER MANAGEMENT Container is like a directory. It is created from an image, and contains everything required to run an app. Containers like VMs have state and are portable. Containerd: Simple daemon that uses runtimes to manage containers runC: Docker’s default container runtime. Can be replaced with other OCI compliant runtimes. Docker Engine
  • 23. IMAGE REGISTRY Registry is a distribution component of Docker. It can be private or public (Docker Hub: https://hub.docker.com)
  • 24. NAS / SAN / CLOUD / SDS DOCKER VOLUMES Container Volume Host 1 Container Volume Host 1 Container Volume Host 1 Local Storage Distributed / Shared Storage Choose between mobility & performance [Host]/opt/data-dir:[Container]/etc/config Local Storage
  • 25. DOCKER NETWORKING Bridge Network Overlay Network Reference: https://blog.docker.com/2016/12/understanding-docker- networking-drivers-use-cases/ Network types Details None No external n/w Host Share host n/w stack Bridge NATing, expose ports, poor performance macvlan Uses host subnet, VLAN, swarm mode Overlay Multi-host, VXLAN, swarm mode 3rd Party Plugins OpenvSwitch, Weave, …..
  • 26. CONTAINER ORCHESTRATION › Multi-container, Multi-Host scheduling › Supports multiple container formats- Docker & LXC › Placement, Affinity and Anti-affinity rules › Multi-Tenancy, RBAC, AuthN, & AuthZ › Scaling Options – Up/Down, Out/Back › Management of Storage & Networking › Data Management - Snapshot, restore, time travel, clone › High Availability & Auto Failover › Service discovery and load balancing › Extensible – Onboard custom apps
  • 27. ORACLE, DOCKER, & KUBERNETES Oracle is late to the party, but making big investments now to catch up!!
  • 28. GETTING HANDS DIRTY!!! › DEMO Mike Rowe of Dirty Jobs
  • 29. DEMO: DOCKER EXAMPLES › Docker info › Dockerhub & Oracle container registry › Docker images & Docker pull › Dockerfile › Docker run –d <oradb> -v … › Docker ps -a › Docker exec –ti <cname> bash › Docker logs … › Docker inspect <oradb> › Docker network ls › Docker volume ls
  • 30. Containerized Databases › Good Idea or Disaster?
  • 31. How do I get the absolute best performance? How can I rapidly clone my production for test/dev runs? How do I apply patches and upgrades without bringing down the application? How do I avoid overprovisioning from the start? How do I quickly deploy my applications? Can I run multiple applications on the same setup without worrying about noisy neighbors? OPERATIONAL CHALLENGES How do I handle spikes and growth?
  • 32. Robin AVP: Virtualize And Manage BigData & Database Apps with Bare Metal Performance Guaranteed Min and Max IOPS Consolidate without losing predictability Push-button Application Provisioning, Elastic Scaling 10x time saving by managing application not infrastructure Space-efficient snapshots and clones in minutes Application time travel (storage, app, network and config) No Virtualization Overhead 40% - 60% performance advantage VM INTEGRATED SCALE-OUT BLOCK STORAGE VIRTUAL NETWORKING CONTAINER-BASED VIRTUALIZATION APPLICATION LIFECYCLE MANAGEMENT CONVERGED PLATFORM Application-aware Infrastructure plumbing Deploy applications guaranteeing compute+storage anti/affinity rules Custom Apps
  • 33. CONSOLIDATION OPTIONS FOR ORACLE DATABASES Options à Virtual Machine Oracle 12c Multitenant Containers on Robin Criteria ⬇ Performance overhead Significant Hypervisor layer, Guest OS Significant Shared Redo logs, Noisy neighbors problem Negligible Completely independent, no hypervisor Availability High One VM doesn’t impact another one Medium CDB shutdown takes down all PDBs with it High Just like VMs Isolation Excellent Good Shared buffer cache Excellent Performance predictability Poor Cannot cap IOPS at the hypervisor layer Good IOPS control only available on Exadata Excellent. Built into the platform Agility Good Excellent Excellent Manageability High OS sprawl High Challenges in getting patching window Low No OS sprawl, no additional licenses 33 https://robinsystems.com/solutions/relational-databases/