SlideShare a Scribd company logo
1 of 70
Download to read offline
Containers & Microservices
For Realists
Karthik Gaekwad
@iteration1
Oracle Code 2017- New York
• Principal Member of Technical Staff
• Oracle Container Cloud Team
• Previous:
• 10 years building cloud products
• Enterprise/Startup experience
Karthik Gaekwad
@iteration1
• Community Involvement:
• Devopsdays Core Organizer
• Container Days Core Organizer
• Cloud Austin
• Docker Austin meetup
• The most popular docker helloworld
image: dockerhub.com/karthequian/
helloworld
Karthik Gaekwad
@iteration1
Audience Survey
Overview
• The Evolution of DevOps
• Rise of Microservices, Containers applications
• What are they?
• Why should you care?
• What are they used for?
• What’s Oracle doing in this space?
Evolution of Devops
• Devops at least officially 8 years old
• Velocity 2009:
• 10 Deploys a day at flickr by John Allspaw, Paul
Hammond
• Agile Infrastructure openspace: Andrew Shaefer &
Patrick Debois
• 2009: 1st Devopsdays conference, Ghent
• Today: ~150 official devopsdays conference
Evolution of Devops
CULTURE
MEASUREMENT
AUTOMATION
SHARING
Evolution of Devops
John Willis
Damon Edwards
By:
Evolution of Devops
“System administrators participating in an
agile development process alongside
developers and using many of the same agile
techniques for their systems work.”
The Agile Admin Blog
Well Defined:
Evolution of Devops
• Training classes available:
• Devops Fundamental Course (Ernest Mueller,
James Wickett)
• Certifications available:
• AWS Certified Devops Engineer
• RedHat Certified Devops Architect
• Devops Foundations by the Devops institute
Containers & Microservices
…The next phase of Devops
Containers & Microservices
• Containers and Micro services fit the
devops paradigm!
• Microservices allows developers to build
applications in modular way
• Allows for containerization
• Containerization allows for collaboration
between dev and ops
• Common language spoken between 2
teams in an org
Microservices
“Independent processes
communicating with each other
with well defined API’s to form
larger more complex
applications”
Microservices
• Do one thing, and do it well (fine
grained)
• Independently built- common
language to communicate
• Independently deployable
• Fault tolerant and reliable
• Based on 12 factor app principles
12 Factor App
•Use declarative formats for setup automation;
minimize time and cost for new developers joining
the project
•Clean contract with the underlying OS, offering
maximum portability between execution
environments;
•Suitable for deployment on modern cloud platforms
•Minimize divergence between development and
production- enabling continuous deployment
•Scale up without significant changes to tooling,
architecture, or development practices.
Relationship with containers
• Microservices and containers are a
great fit
• Single service on a container:
• Isolates service and makes it easy to
manage and debug
• Best practice for new architectures with
containers
• Consider building your architecture in
this manner
Containerization
• Strong collaboration between dev and
ops.
• Initially championed by developers,
and now well liked by operations as
well.
Trends
• 2 great surveys:
• Datadog docker adoption: https://
www.datadoghq.com/docker-adoption/
• devops.com & ClusterHQ survey:
https://clusterhq.com/assets/pdfs/
state-of-container-usage-june-2016.pdf
Source: devops.com and clusterHQ survey 2016
2016: 10.8% of all Datadog customers use Docker (up from
8.2% in 2015)
10% of all hosts monitored by Datadog have Docker
running on them
Fundamentals
• Portability
• Standardized Environments
• Scaling
• Continuous Delivery
• Dependency Management
Portability
•Idea of writing once and running anywhere.
•As long as your application is Dockerized,
you can run it anywhere that has the
Docker Engine installed.
•Easy to change from 1 host to another.
•Flexibility to change underlying
infrastructure/operating systems etc.
•Change from 1 cloud provider to another.
Standardization
• Coding environments can be made consistent
from development ->staging->QA->production.
• Per environment configurations are fed in the
same way to each container which reduces
configuration issues.
• Time spent debugging environmental issues is
reduced drastically.
• Developers understand the production
environment better, which leads to better code
quality.
Scaling
•Containers take seconds to deploy.
•Scale up and down your infrastructure
is a lot faster than traditional
configuration management tools.
Continuous Delivery
•Docker API’s and Docker Hub make it
easy to build a deployment pipeline.
•After successful builds, a CI system
can build and push a Docker image to
the Hub/private Docker repo.
•Deploy new containers to desired
environment on a periodic basis/trigger
webhooks to deploy.
Dependency Management
• Dependency hell happens when:
• 2 running Java or Ruby applications that depend on
different versions of the same library…..
• How Docker can help:
• Isolate each application (along with it’s
dependencies) so that they can be loaded in their
own container.
• 1 container for 1 application or service (micro service
architecture)
Real World Examples
Standardization
Take existing (or new) applications,
containerize them, run them the same
way on dev/stage/production.
Standardization
• Typical Pattern:
• Infrastructure/Applications run in containers.
• Every code push builds a new image for the
application.
• All environments uses the same command to
run the application:
• sudo docker run -d -p 7777:7777 -e
SE_DB=‘db_val’ karthequian/helloworld
Standardization Example
• Write service RFC (Request for Comments)
• Wait for feedback
• Scaffolding work + Develop service
• Wait for infrastructure team to write service scaffolding
• Wait for infrastructure team to provision services
• Deploy to development servers and test
• Deploy to production
• Monitor, iterate
• Uber (In the past)
Standardization Example
• Write service RFC (Request for Comments)
• Wait for feedback
• Scaffolding work + Develop service
• Build containers for service
• Wait for infrastructure team to deploy containers to
development servers
• Deploy to development servers and test
• Deploy to production
• Monitor, iterate
• Uber (With Docker)
Standardization Example
• Implementing Docker got rid of:
• Wait for the infrastructure team to write service
scaffolding
• Wait for infrastructure team to provision
services
• Ops doesn’t rely on playbooks, but rather, just
deploy existing container images
• No fear of one set of dependencies for one app,
breaking another app
• Uber (With Docker)
CI/CD Pipeline
Most common usecase of how teams
use Docker
CI/CD Pipeline
create a
dockerfile
CI/CD Pipeline
create a
dockerfile
Commit code
to source
control
CI/CD Pipeline
create a
dockerfile
Commit code
to source
control
Build
triggered in
CI system
CI/CD Pipeline
create a
dockerfile
Commit code
to source
control
Build
triggered in
CI system
Build
container
image
CI/CD Pipeline
create a
dockerfile
Commit code
to source
control
Build
triggered in
CI system
Build & Test
container
image
Push to
docker
registry
Completed CI!
CI/CD Pipeline
create a
dockerfile
Commit code
to source
control
Build
triggered in
CI system
Build & Test
container
image
Push to
docker
registry
Webhook
trigger to
Orchestrator
CI/CD Pipeline
create a
dockerfile
Commit code
to source
control
Build
triggered in
CI system
Build & Test
container
image
Push to
docker
registry
Webhook
trigger to
Orchestrator
New
containers
online!
Completed CD!
Other Usecases
•Hosting Legacy Applications
•Running a PaaS/ Datacenter using Docker.
•EngineYard/Yandex/Baidu are great examples of
this.
•Containerizing hard to run applications is becoming
a frequent usecase.
•Single->multi tenant apps: http://flux7.com/docker/
Container Management Trends
Container Orchestration
Container Orchestration
Container Orchestration
• Major Players:
• Nomad
• Docker Swarm
• Kubernetes
• Mesos + Marathon
• Compare and contrast: http://blog.gingergeek.com/
tag/orchestration/ via @lcalcote
Container Orchestration
• My Opinions:
• Don’t build your own
• What are your infrastructure goals?
• Consider team size and strength of team
Orchestration
Source: devops.com and clusterHQ survey 2016
Things we are doing at
Oracle
Things we are doing at
Oracle
• Dockerfiles: https://github.com/oracle/docker-
images
• Weblogic: https://github.com/oracle/docker-
images/tree/master/OracleWebLogic/
dockerfiles/12.2.1.1
• DB: https://github.com/oracle/docker-images/
tree/master/OracleDatabase/dockerfiles
• Also for Dockerfiles for: Java, OpenJDK,
Coherance, MySQL etc
Things we are doing at
Oracle
• Container Registry
• Contains pre built Oracle images
• https://container-
registry.oracle.com/
• Docker 101 tutorial: https://
github.com/mikeraab/docker001
Things we are doing at
Oracle
• Container Products for Oracle Public Cloud:
• Oracle Application Container Cloud
• Great for Java/Node/PHP applications
• Oracle Container Service
• Bring your own containers
• Container Management solution
Things we are doing at
Oracle
• OCCS Stacks:
• ElasticSearch, Kibana, Logstash (ELK): https://github.com/
oracle/docker-images/tree/master/ContainerCloud/stacks/
elk
• Kafka microservices on OCCS: https://
community.oracle.com/community/cloud_computing/oracle-
cloud-developer-solutions/blog/2017/03/20/running-docker-
based-kafka-streams-microservices-on-oracle-container-
cloud
• https://community.oracle.com/community/cloud_computing/
infrastructure-as-a-service-iaas/oracle-container-cloud-service
Things we are doing at
Oracle
• Free $300 credits to try out all the
different services:
• https://cloud.oracle.com/en_US/tryit
Loved it? Hated it?
Send me feedback:
@iteration1
karthik.gaekwad@oracle.com
Attributions
• Images: https://unsplash.com and https://pixabay.com
• State of devops whitepaper: https://puppet.com/resources/infographic/2016-state-of-devops-report-infographic
• Datadog docker adoption: https://www.datadoghq.com/docker-adoption/
• devops.com & ClusterHQ survey: https://clusterhq.com/assets/pdfs/state-of-container-usage-june-2016.pdf
• Oracle Docker Images: https://github.com/oracle/docker-images
• Oracle Container Cloud Service: cloud.oracle.com/container
• Oracle Application Container Service: https://cloud.oracle.com/en_US/application-container-cloud
• Microservices: https://martinfowler.com/articles/microservices.html
• 12 factor apps: https://12factor.net/
• Serverless: https://martinfowler.com/articles/serverless.html
• Legacy apps at Uber: https://thenewstack.io/docker-helped-turbocharge-ubers-deployments/
• @lcalcote: https://twitter.com/lcalcote/status/767744030436315136
• Uber story: https://thenewstack.io/docker-helped-turbocharge-ubers-deployments/
Bonus
Slides
Serverless Applications
Serverless Applications
Serverless Applications
• First used to describe applications that
depended on 3rd party applications / services
(‘in the cloud’) to manage server-side logic and
state
• “Backend as a service applications”
Serverless Applications
Applications where some amount of server-side logic
is still written by the application developer
Unlike traditional architectures is run in stateless
compute containers that are event-triggered,
ephemeral (may only last for one invocation), and
fully managed by a 3rd party.
One way to think of this is “Functions as a service”.
AWS Lambda, Azure functions- most popular
implementations, but there are others.
Traditional Architecture
Client (Browser)
Load Balancer
Load Balancer
Load Balancer
Server
Database
Serverless Architecture
Client (Browser)
Auth Service Web DeliveryAPI Gateway
Database
Function B
Function A
Function C
Difference from PaaS?
• Way to code microservices does not change: 12
factor app mindset
• You still have to think of scaling in PaaS:
• “How many dynos do I need in Heroku to run this
app?”
• “How long does it take to scale from 2->4 servers?”
• Auto scaling on PaaS is great, but this is on a request
basis
• Forces developers to write cleaner, more efficient
code
Difference from PaaS?
Difference from containers?
• FaaS is typically built with containers…
• Once again..Scaling is the core difference.
• Managed, transparent, fine grained.
• Need to invest time in container platforms
to perform scaling actions.
• Prediction: may not be true a year from
now…
Serverless Use Cases
• Image Processing
• Data Transformation
• Log Analysis
• Authentication, Licensing

More Related Content

What's hot

Why Docker
Why DockerWhy Docker
Why DockerdotCloud
 
Delivering Developer Tools at Scale
Delivering Developer Tools at ScaleDelivering Developer Tools at Scale
Delivering Developer Tools at ScaleOracle Developers
 
Docker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopDocker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopJonas Rosland
 
Oracle Code Keynote with Thomas Kurian
Oracle Code Keynote with Thomas KurianOracle Code Keynote with Thomas Kurian
Oracle Code Keynote with Thomas KurianOracle Developers
 
Docker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDocker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDr Ganesh Iyer
 
Weave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapWeave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapPatrick Chanezon
 
Alibaba Cloud Conference 2016 - Docker Open Source
Alibaba Cloud Conference   2016 - Docker Open Source Alibaba Cloud Conference   2016 - Docker Open Source
Alibaba Cloud Conference 2016 - Docker Open Source John Willis
 
Cloud foundry integration-with-openstack-and-docker-bangalorecf-meetup
Cloud foundry integration-with-openstack-and-docker-bangalorecf-meetupCloud foundry integration-with-openstack-and-docker-bangalorecf-meetup
Cloud foundry integration-with-openstack-and-docker-bangalorecf-meetupKrishna-Kumar
 
Cloud Foundry Vancouver Meetup July 2016
Cloud Foundry Vancouver Meetup July 2016Cloud Foundry Vancouver Meetup July 2016
Cloud Foundry Vancouver Meetup July 2016Stuart Charlton
 
Docker Hub Breakout Session at DockerCon by Ken Cochrane
Docker Hub Breakout Session at DockerCon by Ken CochraneDocker Hub Breakout Session at DockerCon by Ken Cochrane
Docker Hub Breakout Session at DockerCon by Ken CochraneDocker, Inc.
 
Containers in depth – Understanding how containers work to better work with c...
Containers in depth – Understanding how containers work to better work with c...Containers in depth – Understanding how containers work to better work with c...
Containers in depth – Understanding how containers work to better work with c...All Things Open
 
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...Docker, Inc.
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2Docker, Inc.
 
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...Lucas Jellema
 
DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1Docker, Inc.
 
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...Oleg Shalygin
 
Microservices with Terraform, Docker and the Cloud. IJug Chicago 2017-06-06
Microservices with Terraform, Docker and the Cloud. IJug Chicago 2017-06-06Microservices with Terraform, Docker and the Cloud. IJug Chicago 2017-06-06
Microservices with Terraform, Docker and the Cloud. IJug Chicago 2017-06-06Derek Ashmore
 
Top 5 benefits of docker
Top 5 benefits of dockerTop 5 benefits of docker
Top 5 benefits of dockerJohn Zaccone
 

What's hot (20)

Why Docker
Why DockerWhy Docker
Why Docker
 
Delivering Developer Tools at Scale
Delivering Developer Tools at ScaleDelivering Developer Tools at Scale
Delivering Developer Tools at Scale
 
Docker Datacenter - CaaS
Docker Datacenter - CaaSDocker Datacenter - CaaS
Docker Datacenter - CaaS
 
Docker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopDocker and Containers overview - Docker Workshop
Docker and Containers overview - Docker Workshop
 
Oracle Code Keynote with Thomas Kurian
Oracle Code Keynote with Thomas KurianOracle Code Keynote with Thomas Kurian
Oracle Code Keynote with Thomas Kurian
 
Docker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDocker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containers
 
Weave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapWeave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 Recap
 
Alibaba Cloud Conference 2016 - Docker Open Source
Alibaba Cloud Conference   2016 - Docker Open Source Alibaba Cloud Conference   2016 - Docker Open Source
Alibaba Cloud Conference 2016 - Docker Open Source
 
Cloud foundry integration-with-openstack-and-docker-bangalorecf-meetup
Cloud foundry integration-with-openstack-and-docker-bangalorecf-meetupCloud foundry integration-with-openstack-and-docker-bangalorecf-meetup
Cloud foundry integration-with-openstack-and-docker-bangalorecf-meetup
 
Cloud Foundry Vancouver Meetup July 2016
Cloud Foundry Vancouver Meetup July 2016Cloud Foundry Vancouver Meetup July 2016
Cloud Foundry Vancouver Meetup July 2016
 
Docker Hub Breakout Session at DockerCon by Ken Cochrane
Docker Hub Breakout Session at DockerCon by Ken CochraneDocker Hub Breakout Session at DockerCon by Ken Cochrane
Docker Hub Breakout Session at DockerCon by Ken Cochrane
 
Containers in depth – Understanding how containers work to better work with c...
Containers in depth – Understanding how containers work to better work with c...Containers in depth – Understanding how containers work to better work with c...
Containers in depth – Understanding how containers work to better work with c...
 
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
 
DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1
 
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
 
Docker benefits v0.1
Docker benefits v0.1Docker benefits v0.1
Docker benefits v0.1
 
Microservices with Terraform, Docker and the Cloud. IJug Chicago 2017-06-06
Microservices with Terraform, Docker and the Cloud. IJug Chicago 2017-06-06Microservices with Terraform, Docker and the Cloud. IJug Chicago 2017-06-06
Microservices with Terraform, Docker and the Cloud. IJug Chicago 2017-06-06
 
Top 5 benefits of docker
Top 5 benefits of dockerTop 5 benefits of docker
Top 5 benefits of docker
 

Viewers also liked

Container Orchestration Wars (2017 Edition)
Container Orchestration Wars (2017 Edition)Container Orchestration Wars (2017 Edition)
Container Orchestration Wars (2017 Edition)Karl Isenberg
 
Cloud service models 101
Cloud service models 101Cloud service models 101
Cloud service models 101Nagaraj Shenoy
 
Practical PaaS presentation
Practical PaaS presentationPractical PaaS presentation
Practical PaaS presentationhmalphettes
 
vSphere Integrated Containers 101 and End-User Workflow
vSphere Integrated Containers 101 and End-User WorkflowvSphere Integrated Containers 101 and End-User Workflow
vSphere Integrated Containers 101 and End-User WorkflowSimone Morellato
 
A Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things ContainersA Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things ContainersJérôme Petazzoni
 
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...Kai Wähner
 
Container Orchestration Wars
Container Orchestration WarsContainer Orchestration Wars
Container Orchestration WarsKarl Isenberg
 
Docker introduction
Docker introductionDocker introduction
Docker introductiondotCloud
 

Viewers also liked (10)

Container Orchestration Wars (2017 Edition)
Container Orchestration Wars (2017 Edition)Container Orchestration Wars (2017 Edition)
Container Orchestration Wars (2017 Edition)
 
Cloud service models 101
Cloud service models 101Cloud service models 101
Cloud service models 101
 
Practical PaaS presentation
Practical PaaS presentationPractical PaaS presentation
Practical PaaS presentation
 
vSphere Integrated Containers 101 and End-User Workflow
vSphere Integrated Containers 101 and End-User WorkflowvSphere Integrated Containers 101 and End-User Workflow
vSphere Integrated Containers 101 and End-User Workflow
 
DevOps 101
DevOps 101DevOps 101
DevOps 101
 
Platform as a Service (PaaS)
Platform as a Service (PaaS)Platform as a Service (PaaS)
Platform as a Service (PaaS)
 
A Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things ContainersA Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things Containers
 
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
 
Container Orchestration Wars
Container Orchestration WarsContainer Orchestration Wars
Container Orchestration Wars
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 

Similar to Containers and microservices for realists

A curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & KubernetesA curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & KuberneteszekeLabs Technologies
 
DockerCon SF 2015: Docker Community in China
DockerCon SF 2015: Docker Community in ChinaDockerCon SF 2015: Docker Community in China
DockerCon SF 2015: Docker Community in ChinaDocker, Inc.
 
DockerPenang Meetup#1
DockerPenang Meetup#1DockerPenang Meetup#1
DockerPenang Meetup#1Sujay Pillai
 
Efficient Parallel Testing with Docker by Laura Frank
Efficient Parallel Testing with Docker by Laura FrankEfficient Parallel Testing with Docker by Laura Frank
Efficient Parallel Testing with Docker by Laura FrankDocker, Inc.
 
Docker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker SlidesDocker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker SlidesDocker, Inc.
 
Docker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - OverviewDocker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - OverviewChris Ciborowski
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015WaveMaker, Inc.
 
Docker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationDocker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationAlex Vranceanu
 
Week 8 lecture material
Week 8 lecture materialWeek 8 lecture material
Week 8 lecture materialAnkit Gupta
 
Intro to Docker at the 2016 Evans Developer relations conference
Intro to Docker at the 2016 Evans Developer relations conferenceIntro to Docker at the 2016 Evans Developer relations conference
Intro to Docker at the 2016 Evans Developer relations conferenceMano Marks
 
Built in NM - Meetup Talk - CTL Labs
Built in NM - Meetup Talk - CTL LabsBuilt in NM - Meetup Talk - CTL Labs
Built in NM - Meetup Talk - CTL LabsRoss Jimenez
 
Efficient Parallel Testing with Docker
Efficient Parallel Testing with DockerEfficient Parallel Testing with Docker
Efficient Parallel Testing with DockerLaura Frank Tacho
 
Getting Started with Docker - Nick Stinemates
Getting Started with Docker - Nick StinematesGetting Started with Docker - Nick Stinemates
Getting Started with Docker - Nick StinematesAtlassian
 
Building Efficient Parallel Testing Platforms with Docker
Building Efficient Parallel Testing Platforms with DockerBuilding Efficient Parallel Testing Platforms with Docker
Building Efficient Parallel Testing Platforms with DockerLaura Frank Tacho
 
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
 
Docker Containers Deep Dive
Docker Containers Deep DiveDocker Containers Deep Dive
Docker Containers Deep DiveWill Kinard
 
Docker Enterprise Edition Overview by Steven Thwaites, Technical Solutions En...
Docker Enterprise Edition Overview by Steven Thwaites, Technical Solutions En...Docker Enterprise Edition Overview by Steven Thwaites, Technical Solutions En...
Docker Enterprise Edition Overview by Steven Thwaites, Technical Solutions En...Ashnikbiz
 

Similar to Containers and microservices for realists (20)

Why to docker
Why to dockerWhy to docker
Why to docker
 
A curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & KubernetesA curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & Kubernetes
 
Why to Cloud Native
Why to Cloud NativeWhy to Cloud Native
Why to Cloud Native
 
DockerCon SF 2015: Docker Community in China
DockerCon SF 2015: Docker Community in ChinaDockerCon SF 2015: Docker Community in China
DockerCon SF 2015: Docker Community in China
 
DockerPenang Meetup#1
DockerPenang Meetup#1DockerPenang Meetup#1
DockerPenang Meetup#1
 
Efficient Parallel Testing with Docker by Laura Frank
Efficient Parallel Testing with Docker by Laura FrankEfficient Parallel Testing with Docker by Laura Frank
Efficient Parallel Testing with Docker by Laura Frank
 
Docker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker SlidesDocker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker Slides
 
Docker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - OverviewDocker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - Overview
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
 
Docker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationDocker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - Presentation
 
Docker for dev
Docker for devDocker for dev
Docker for dev
 
Week 8 lecture material
Week 8 lecture materialWeek 8 lecture material
Week 8 lecture material
 
Intro to Docker at the 2016 Evans Developer relations conference
Intro to Docker at the 2016 Evans Developer relations conferenceIntro to Docker at the 2016 Evans Developer relations conference
Intro to Docker at the 2016 Evans Developer relations conference
 
Built in NM - Meetup Talk - CTL Labs
Built in NM - Meetup Talk - CTL LabsBuilt in NM - Meetup Talk - CTL Labs
Built in NM - Meetup Talk - CTL Labs
 
Efficient Parallel Testing with Docker
Efficient Parallel Testing with DockerEfficient Parallel Testing with Docker
Efficient Parallel Testing with Docker
 
Getting Started with Docker - Nick Stinemates
Getting Started with Docker - Nick StinematesGetting Started with Docker - Nick Stinemates
Getting Started with Docker - Nick Stinemates
 
Building Efficient Parallel Testing Platforms with Docker
Building Efficient Parallel Testing Platforms with DockerBuilding Efficient Parallel Testing Platforms with Docker
Building Efficient Parallel Testing Platforms with Docker
 
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
 
Docker Containers Deep Dive
Docker Containers Deep DiveDocker Containers Deep Dive
Docker Containers Deep Dive
 
Docker Enterprise Edition Overview by Steven Thwaites, Technical Solutions En...
Docker Enterprise Edition Overview by Steven Thwaites, Technical Solutions En...Docker Enterprise Edition Overview by Steven Thwaites, Technical Solutions En...
Docker Enterprise Edition Overview by Steven Thwaites, Technical Solutions En...
 

More from Karthik Gaekwad

DevSecOps in a cloudnative world
DevSecOps in a cloudnative worldDevSecOps in a cloudnative world
DevSecOps in a cloudnative worldKarthik Gaekwad
 
Mental Health studies and devops
Mental Health studies and devopsMental Health studies and devops
Mental Health studies and devopsKarthik Gaekwad
 
Practical Approaches to Cloud Native Security
Practical Approaches to Cloud Native SecurityPractical Approaches to Cloud Native Security
Practical Approaches to Cloud Native SecurityKarthik Gaekwad
 
10 tips for Cloud Native Security
10 tips for Cloud Native Security10 tips for Cloud Native Security
10 tips for Cloud Native SecurityKarthik Gaekwad
 
Kubernetes security and you
Kubernetes security and youKubernetes security and you
Kubernetes security and youKarthik Gaekwad
 
Kube applications in action
Kube applications in actionKube applications in action
Kube applications in actionKarthik Gaekwad
 
13 practical tips for writing secure golang applications
13 practical tips for writing secure golang applications13 practical tips for writing secure golang applications
13 practical tips for writing secure golang applicationsKarthik Gaekwad
 
Agile 2014- Metrics driven development and devops
Agile 2014- Metrics driven development and devopsAgile 2014- Metrics driven development and devops
Agile 2014- Metrics driven development and devopsKarthik Gaekwad
 
Devopsdays Austin 2014 Ignite: Keep devops weird
Devopsdays Austin 2014 Ignite: Keep devops weirdDevopsdays Austin 2014 Ignite: Keep devops weird
Devopsdays Austin 2014 Ignite: Keep devops weirdKarthik Gaekwad
 
Cloud Austin 2013: Conferenced2013
Cloud Austin 2013: Conferenced2013Cloud Austin 2013: Conferenced2013
Cloud Austin 2013: Conferenced2013Karthik Gaekwad
 
LASCON 2013 Talk: User Auth for Winners, how to get it right the first time!
LASCON 2013 Talk: User Auth for Winners, how to get it right the first time!LASCON 2013 Talk: User Auth for Winners, how to get it right the first time!
LASCON 2013 Talk: User Auth for Winners, how to get it right the first time!Karthik Gaekwad
 
Agile 2013 Talk: How DevOps Changes Everything
Agile 2013 Talk: How DevOps Changes EverythingAgile 2013 Talk: How DevOps Changes Everything
Agile 2013 Talk: How DevOps Changes EverythingKarthik Gaekwad
 
Sexy HTML with Twitter Bootstrap
Sexy HTML with Twitter BootstrapSexy HTML with Twitter Bootstrap
Sexy HTML with Twitter BootstrapKarthik Gaekwad
 

More from Karthik Gaekwad (20)

DevSecOps in a cloudnative world
DevSecOps in a cloudnative worldDevSecOps in a cloudnative world
DevSecOps in a cloudnative world
 
Mental Health studies and devops
Mental Health studies and devopsMental Health studies and devops
Mental Health studies and devops
 
This is your community
This is your communityThis is your community
This is your community
 
Practical Approaches to Cloud Native Security
Practical Approaches to Cloud Native SecurityPractical Approaches to Cloud Native Security
Practical Approaches to Cloud Native Security
 
10 tips for Cloud Native Security
10 tips for Cloud Native Security10 tips for Cloud Native Security
10 tips for Cloud Native Security
 
Kube Apps in action
Kube Apps in actionKube Apps in action
Kube Apps in action
 
KubeSecOps
KubeSecOpsKubeSecOps
KubeSecOps
 
Kubernetes Security
Kubernetes SecurityKubernetes Security
Kubernetes Security
 
Kubernetes security and you
Kubernetes security and youKubernetes security and you
Kubernetes security and you
 
Kube applications in action
Kube applications in actionKube applications in action
Kube applications in action
 
Devops and Dadops
Devops and DadopsDevops and Dadops
Devops and Dadops
 
13 practical tips for writing secure golang applications
13 practical tips for writing secure golang applications13 practical tips for writing secure golang applications
13 practical tips for writing secure golang applications
 
Docker management
Docker managementDocker management
Docker management
 
Agile 2014- Metrics driven development and devops
Agile 2014- Metrics driven development and devopsAgile 2014- Metrics driven development and devops
Agile 2014- Metrics driven development and devops
 
Devopsdays Austin 2014 Ignite: Keep devops weird
Devopsdays Austin 2014 Ignite: Keep devops weirdDevopsdays Austin 2014 Ignite: Keep devops weird
Devopsdays Austin 2014 Ignite: Keep devops weird
 
Cloud Austin 2013: Conferenced2013
Cloud Austin 2013: Conferenced2013Cloud Austin 2013: Conferenced2013
Cloud Austin 2013: Conferenced2013
 
LASCON 2013 Talk: User Auth for Winners, how to get it right the first time!
LASCON 2013 Talk: User Auth for Winners, how to get it right the first time!LASCON 2013 Talk: User Auth for Winners, how to get it right the first time!
LASCON 2013 Talk: User Auth for Winners, how to get it right the first time!
 
Agile 2013 Talk: How DevOps Changes Everything
Agile 2013 Talk: How DevOps Changes EverythingAgile 2013 Talk: How DevOps Changes Everything
Agile 2013 Talk: How DevOps Changes Everything
 
DevOps at the CIA
DevOps at the CIADevOps at the CIA
DevOps at the CIA
 
Sexy HTML with Twitter Bootstrap
Sexy HTML with Twitter BootstrapSexy HTML with Twitter Bootstrap
Sexy HTML with Twitter Bootstrap
 

Recently uploaded

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 

Recently uploaded (20)

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 

Containers and microservices for realists

  • 1. Containers & Microservices For Realists Karthik Gaekwad @iteration1 Oracle Code 2017- New York
  • 2. • Principal Member of Technical Staff • Oracle Container Cloud Team • Previous: • 10 years building cloud products • Enterprise/Startup experience Karthik Gaekwad @iteration1
  • 3. • Community Involvement: • Devopsdays Core Organizer • Container Days Core Organizer • Cloud Austin • Docker Austin meetup • The most popular docker helloworld image: dockerhub.com/karthequian/ helloworld Karthik Gaekwad @iteration1
  • 5. Overview • The Evolution of DevOps • Rise of Microservices, Containers applications • What are they? • Why should you care? • What are they used for? • What’s Oracle doing in this space?
  • 6. Evolution of Devops • Devops at least officially 8 years old • Velocity 2009: • 10 Deploys a day at flickr by John Allspaw, Paul Hammond • Agile Infrastructure openspace: Andrew Shaefer & Patrick Debois • 2009: 1st Devopsdays conference, Ghent • Today: ~150 official devopsdays conference
  • 9. Evolution of Devops “System administrators participating in an agile development process alongside developers and using many of the same agile techniques for their systems work.” The Agile Admin Blog Well Defined:
  • 10. Evolution of Devops • Training classes available: • Devops Fundamental Course (Ernest Mueller, James Wickett) • Certifications available: • AWS Certified Devops Engineer • RedHat Certified Devops Architect • Devops Foundations by the Devops institute
  • 11. Containers & Microservices …The next phase of Devops
  • 12. Containers & Microservices • Containers and Micro services fit the devops paradigm! • Microservices allows developers to build applications in modular way • Allows for containerization • Containerization allows for collaboration between dev and ops • Common language spoken between 2 teams in an org
  • 13. Microservices “Independent processes communicating with each other with well defined API’s to form larger more complex applications”
  • 14. Microservices • Do one thing, and do it well (fine grained) • Independently built- common language to communicate • Independently deployable • Fault tolerant and reliable • Based on 12 factor app principles
  • 15. 12 Factor App •Use declarative formats for setup automation; minimize time and cost for new developers joining the project •Clean contract with the underlying OS, offering maximum portability between execution environments; •Suitable for deployment on modern cloud platforms •Minimize divergence between development and production- enabling continuous deployment •Scale up without significant changes to tooling, architecture, or development practices.
  • 16. Relationship with containers • Microservices and containers are a great fit • Single service on a container: • Isolates service and makes it easy to manage and debug • Best practice for new architectures with containers • Consider building your architecture in this manner
  • 17. Containerization • Strong collaboration between dev and ops. • Initially championed by developers, and now well liked by operations as well.
  • 18. Trends • 2 great surveys: • Datadog docker adoption: https:// www.datadoghq.com/docker-adoption/ • devops.com & ClusterHQ survey: https://clusterhq.com/assets/pdfs/ state-of-container-usage-june-2016.pdf
  • 19. Source: devops.com and clusterHQ survey 2016
  • 20. 2016: 10.8% of all Datadog customers use Docker (up from 8.2% in 2015)
  • 21. 10% of all hosts monitored by Datadog have Docker running on them
  • 22.
  • 23. Fundamentals • Portability • Standardized Environments • Scaling • Continuous Delivery • Dependency Management
  • 24. Portability •Idea of writing once and running anywhere. •As long as your application is Dockerized, you can run it anywhere that has the Docker Engine installed. •Easy to change from 1 host to another. •Flexibility to change underlying infrastructure/operating systems etc. •Change from 1 cloud provider to another.
  • 25. Standardization • Coding environments can be made consistent from development ->staging->QA->production. • Per environment configurations are fed in the same way to each container which reduces configuration issues. • Time spent debugging environmental issues is reduced drastically. • Developers understand the production environment better, which leads to better code quality.
  • 26. Scaling •Containers take seconds to deploy. •Scale up and down your infrastructure is a lot faster than traditional configuration management tools.
  • 27. Continuous Delivery •Docker API’s and Docker Hub make it easy to build a deployment pipeline. •After successful builds, a CI system can build and push a Docker image to the Hub/private Docker repo. •Deploy new containers to desired environment on a periodic basis/trigger webhooks to deploy.
  • 28. Dependency Management • Dependency hell happens when: • 2 running Java or Ruby applications that depend on different versions of the same library….. • How Docker can help: • Isolate each application (along with it’s dependencies) so that they can be loaded in their own container. • 1 container for 1 application or service (micro service architecture)
  • 30. Standardization Take existing (or new) applications, containerize them, run them the same way on dev/stage/production.
  • 31. Standardization • Typical Pattern: • Infrastructure/Applications run in containers. • Every code push builds a new image for the application. • All environments uses the same command to run the application: • sudo docker run -d -p 7777:7777 -e SE_DB=‘db_val’ karthequian/helloworld
  • 32. Standardization Example • Write service RFC (Request for Comments) • Wait for feedback • Scaffolding work + Develop service • Wait for infrastructure team to write service scaffolding • Wait for infrastructure team to provision services • Deploy to development servers and test • Deploy to production • Monitor, iterate • Uber (In the past)
  • 33. Standardization Example • Write service RFC (Request for Comments) • Wait for feedback • Scaffolding work + Develop service • Build containers for service • Wait for infrastructure team to deploy containers to development servers • Deploy to development servers and test • Deploy to production • Monitor, iterate • Uber (With Docker)
  • 34. Standardization Example • Implementing Docker got rid of: • Wait for the infrastructure team to write service scaffolding • Wait for infrastructure team to provision services • Ops doesn’t rely on playbooks, but rather, just deploy existing container images • No fear of one set of dependencies for one app, breaking another app • Uber (With Docker)
  • 35. CI/CD Pipeline Most common usecase of how teams use Docker
  • 38. CI/CD Pipeline create a dockerfile Commit code to source control Build triggered in CI system
  • 39. CI/CD Pipeline create a dockerfile Commit code to source control Build triggered in CI system Build container image
  • 40. CI/CD Pipeline create a dockerfile Commit code to source control Build triggered in CI system Build & Test container image Push to docker registry Completed CI!
  • 41. CI/CD Pipeline create a dockerfile Commit code to source control Build triggered in CI system Build & Test container image Push to docker registry Webhook trigger to Orchestrator
  • 42. CI/CD Pipeline create a dockerfile Commit code to source control Build triggered in CI system Build & Test container image Push to docker registry Webhook trigger to Orchestrator New containers online! Completed CD!
  • 43. Other Usecases •Hosting Legacy Applications •Running a PaaS/ Datacenter using Docker. •EngineYard/Yandex/Baidu are great examples of this. •Containerizing hard to run applications is becoming a frequent usecase. •Single->multi tenant apps: http://flux7.com/docker/
  • 47. Container Orchestration • Major Players: • Nomad • Docker Swarm • Kubernetes • Mesos + Marathon • Compare and contrast: http://blog.gingergeek.com/ tag/orchestration/ via @lcalcote
  • 48. Container Orchestration • My Opinions: • Don’t build your own • What are your infrastructure goals? • Consider team size and strength of team
  • 49. Orchestration Source: devops.com and clusterHQ survey 2016
  • 50. Things we are doing at Oracle
  • 51. Things we are doing at Oracle • Dockerfiles: https://github.com/oracle/docker- images • Weblogic: https://github.com/oracle/docker- images/tree/master/OracleWebLogic/ dockerfiles/12.2.1.1 • DB: https://github.com/oracle/docker-images/ tree/master/OracleDatabase/dockerfiles • Also for Dockerfiles for: Java, OpenJDK, Coherance, MySQL etc
  • 52. Things we are doing at Oracle • Container Registry • Contains pre built Oracle images • https://container- registry.oracle.com/ • Docker 101 tutorial: https:// github.com/mikeraab/docker001
  • 53. Things we are doing at Oracle • Container Products for Oracle Public Cloud: • Oracle Application Container Cloud • Great for Java/Node/PHP applications • Oracle Container Service • Bring your own containers • Container Management solution
  • 54. Things we are doing at Oracle • OCCS Stacks: • ElasticSearch, Kibana, Logstash (ELK): https://github.com/ oracle/docker-images/tree/master/ContainerCloud/stacks/ elk • Kafka microservices on OCCS: https:// community.oracle.com/community/cloud_computing/oracle- cloud-developer-solutions/blog/2017/03/20/running-docker- based-kafka-streams-microservices-on-oracle-container- cloud • https://community.oracle.com/community/cloud_computing/ infrastructure-as-a-service-iaas/oracle-container-cloud-service
  • 55. Things we are doing at Oracle • Free $300 credits to try out all the different services: • https://cloud.oracle.com/en_US/tryit
  • 56. Loved it? Hated it? Send me feedback: @iteration1 karthik.gaekwad@oracle.com
  • 57. Attributions • Images: https://unsplash.com and https://pixabay.com • State of devops whitepaper: https://puppet.com/resources/infographic/2016-state-of-devops-report-infographic • Datadog docker adoption: https://www.datadoghq.com/docker-adoption/ • devops.com & ClusterHQ survey: https://clusterhq.com/assets/pdfs/state-of-container-usage-june-2016.pdf • Oracle Docker Images: https://github.com/oracle/docker-images • Oracle Container Cloud Service: cloud.oracle.com/container • Oracle Application Container Service: https://cloud.oracle.com/en_US/application-container-cloud • Microservices: https://martinfowler.com/articles/microservices.html • 12 factor apps: https://12factor.net/ • Serverless: https://martinfowler.com/articles/serverless.html • Legacy apps at Uber: https://thenewstack.io/docker-helped-turbocharge-ubers-deployments/ • @lcalcote: https://twitter.com/lcalcote/status/767744030436315136 • Uber story: https://thenewstack.io/docker-helped-turbocharge-ubers-deployments/
  • 59.
  • 60.
  • 63. Serverless Applications • First used to describe applications that depended on 3rd party applications / services (‘in the cloud’) to manage server-side logic and state • “Backend as a service applications”
  • 64. Serverless Applications Applications where some amount of server-side logic is still written by the application developer Unlike traditional architectures is run in stateless compute containers that are event-triggered, ephemeral (may only last for one invocation), and fully managed by a 3rd party. One way to think of this is “Functions as a service”. AWS Lambda, Azure functions- most popular implementations, but there are others.
  • 65. Traditional Architecture Client (Browser) Load Balancer Load Balancer Load Balancer Server Database
  • 66. Serverless Architecture Client (Browser) Auth Service Web DeliveryAPI Gateway Database Function B Function A Function C
  • 68. • Way to code microservices does not change: 12 factor app mindset • You still have to think of scaling in PaaS: • “How many dynos do I need in Heroku to run this app?” • “How long does it take to scale from 2->4 servers?” • Auto scaling on PaaS is great, but this is on a request basis • Forces developers to write cleaner, more efficient code Difference from PaaS?
  • 69. Difference from containers? • FaaS is typically built with containers… • Once again..Scaling is the core difference. • Managed, transparent, fine grained. • Need to invest time in container platforms to perform scaling actions. • Prediction: may not be true a year from now…
  • 70. Serverless Use Cases • Image Processing • Data Transformation • Log Analysis • Authentication, Licensing