SlideShare a Scribd company logo
CMD and Conquer
PACKAGING THE MONOLITH
Software Engineer, Splunk
Tony Lee
Senior Software Engineer, Splunk
Nelson Wang
Why?
What?
How?
Next?
Agenda
DCSF19 CMD and Conquer: Containerizing the Monolith
DCSF19 CMD and Conquer: Containerizing the Monolith
https://mpora.com/mountaineering-expeditions/famous-explorers-history-introduction
Time Intensive Disruptive Expensive
$ monolith | microservice
DCSF19 CMD and Conquer: Containerizing the Monolith
Our Journey
Taking the First Step
DCSF19 CMD and Conquer: Containerizing the Monolith
APPLICATION REQUIREMENTS
SCHEDULER REQUIREMENTS
ACCESSIBILITY ADAPTABILITY AUTONOMY
FAULT TOLERANCY SCALABILITYSTATELESS
BASE PLATFORM LAYER
SPLUNK LAYER FORWARDER LAYER
BASE PLATFORM LAYER
As Splunk evolves and develops, the image should grow with it
• Add file/directory monitoring
• Open a TCP/UDP socket & listen for input
• Enable receiving of syslog data
• Setup HTTP event collection token
• Forward data to another service
• Setup administrator password
• Create user accounts for access control
• Install an enterprise license
• Connect to an existing license master
• Setup indexes
• Touch configuration files
• Install apps
• etc.
Usability
• Asynchronous dynamic provisioning performed by Ansible
• Eliminate reliance on any third-party service registrar/catalog
• Parallelized setup removed ordered dependencies and results in faster
time-to-value
Micro-Orchestration Layer
entrypoint.sh
Dockerfile
Why Ansible?
Domain-specific, developer-friendly language that enables
the dynamic configurability
APPLICATION REQUIREMENTS
SCHEDULER REQUIREMENTS
ACCESSIBILITY ADAPTABILITY AUTONOMY
FAULT TOLERANCY SCALABILITYSTATELESS
• Intermittent service interruption is expected within configuration layer
• Health-checks and probes to assist in lifecycle management
Fault Tolerance
• Orchestration engine
administers the
pods/containers
• Application-context is
shared amongst cluster
members via
environment variables
Distribution of State
SPLUNK DEPLOYMENT
Container
Indexer 2
Container
Indexer 1
Container
Cluster Master
Container
Search Head
SPLUNK DEPLOYMENT
Container
Indexer 2
Container
Indexer 1
Container
Cluster Master
Container
Search Head
SPLUNK DEPLOYMENT
Container
Indexer 2
Container
Indexer 1
Container
Cluster Master
Container
Search Head
SPLUNK DEPLOYMENT
Container
Indexer 2
Container
Indexer 1
Container
Cluster Master
Container
Search Head
SPLUNK DEPLOYMENT
Container
Indexer 2
Container
Indexer 1
Container
Cluster Master
Container
Search Head
SPLUNK DEPLOYMENT
Container
Indexer 2
Container
Indexer 1
Container
Cluster Master
Container
Search Head
Dynamic scaling of
specific roles
How do I add a new
indexer?
Scalability
SPLUNK DEPLOYMENT
Container
Cluster Master
Container
Search Head 1
Container
Indexer 2
Container
Indexer 1
Container
Indexer 3
DCSF19 CMD and Conquer: Containerizing the Monolith
Our Results
External Usage
• Customers have been waiting to
run Splunk on Docker!
• Adoption amongst many
members of the open-source
community
• Examples for both swarm + k8s
manifests in our GitHub repo
DCSF19 CMD and Conquer: Containerizing the Monolith
Internal Usage
Support
• Cheap, reproducible
environments
• Support any size
topology, any version
Open-source images are fed back into our internal deployment
provisioning service (orca) used across the company
Sales
• Rapid, reliable demo
instances on-demand
• Support for local
scenarios for the field
Dev/QA
• Disposability around
testing changes
• Accelerates iteration
cycles in CI/CD
How?
orca leverages Docker Enterprise and Universal Control Plane (UCP)
Node
Worker
Node
Worker
Node
Worker
Node
Worker
swarm mode cluster
Node
Worker
Node
Worker
Dev/QA/Sales Team
Using Swarm/K8s
Support Team
using Swarm/K8s
Ops Team
DOCKER ENTERPRISE
EDITION
ORCA
DCSF19 CMD and Conquer: Containerizing the Monolith
Image CI/CD
• Support for multiple platforms
• Integrated security scanning
• Functional tests for various
configurations and topologies
• Version control, custom
dependencies for individual
teams
Pipeline
GitHub
IBM s390x Agent
$ build splunk-
debian
Linux Agent
$ build splunk-
debian
Linux Agent
$ push splunk-debian
DockerHub
Public/Open-source
Internal
The Future
• Deployment frameworks (helm,
operators)
• Find ways to make Splunk more
accessible and reduce time-to-
value
• Always consider the future of
the monolith!
Summary
• Find ways to bridge the gap while migrating monolithic
software to microservice architecture
• Plan for the future
• Dynamic self-orchestration made our software offering more
nimble.
Get Hands On!
Repositories
• https://github.com/splunk/docker-splunk
• https://github.com/splunk/splunk-ansible
Documentation
• https://splunk.github.io/docker-splunk
• https://splunk.github.io/splunk-ansible
#docker @ http://splunk-usergroups.slack.com/
Thank you!
Questions?

More Related Content

What's hot (20)

PDF
DCSF 19 Kubernetes and Container Storage Interface Update
Docker, Inc.
 
PDF
Automated hardware testing using docker for space
Docker, Inc.
 
PDF
DockerCon EU 2015: The Latest in Docker Engine
Docker, Inc.
 
PDF
Configuration Management and Transforming Legacy Applications in the Enterpri...
Docker, Inc.
 
PDF
DCSF19 Docker Containers & Java: What I Wish I Had Been Told
Docker, Inc.
 
PDF
Docker?!?! But I'm a SysAdmin
Docker, Inc.
 
PPTX
Docker Meetup 08 03-2016
Docker
 
PDF
Production Ready Containers from IBM and Docker
Docker, Inc.
 
PDF
Docker Platform Internals: Taking runtimes and image creation to the next lev...
Docker, Inc.
 
PDF
Docker to the Rescue of an Ops Team
Rachid Zarouali
 
PDF
Docker on Docker
Docker, Inc.
 
PDF
Building Your Docker Swarm Tech Stack
Bret Fisher
 
PDF
Docker for Ops - Scott Coulton, Puppet
Docker, Inc.
 
PDF
Docker for developers on mac and windows
Docker, Inc.
 
PDF
Global Operations with Docker for the Enterprise - Nico Kabar, Docker
Docker, Inc.
 
PDF
DCSF 19 Data Center Networking with Containers
Docker, Inc.
 
PPTX
DockerCon EU 2015: Placing a container on a train at 200mph
Docker, Inc.
 
PDF
DockerCon SF 2015: Enabling Microservices @Orbitz
Docker, Inc.
 
PDF
DockerCon EU 2015: Docker and PCI-DSS - Lessons learned in a security sensiti...
Docker, Inc.
 
PPTX
Docker SF Meetup January 2016
Patrick Chanezon
 
DCSF 19 Kubernetes and Container Storage Interface Update
Docker, Inc.
 
Automated hardware testing using docker for space
Docker, Inc.
 
DockerCon EU 2015: The Latest in Docker Engine
Docker, Inc.
 
Configuration Management and Transforming Legacy Applications in the Enterpri...
Docker, Inc.
 
DCSF19 Docker Containers & Java: What I Wish I Had Been Told
Docker, Inc.
 
Docker?!?! But I'm a SysAdmin
Docker, Inc.
 
Docker Meetup 08 03-2016
Docker
 
Production Ready Containers from IBM and Docker
Docker, Inc.
 
Docker Platform Internals: Taking runtimes and image creation to the next lev...
Docker, Inc.
 
Docker to the Rescue of an Ops Team
Rachid Zarouali
 
Docker on Docker
Docker, Inc.
 
Building Your Docker Swarm Tech Stack
Bret Fisher
 
Docker for Ops - Scott Coulton, Puppet
Docker, Inc.
 
Docker for developers on mac and windows
Docker, Inc.
 
Global Operations with Docker for the Enterprise - Nico Kabar, Docker
Docker, Inc.
 
DCSF 19 Data Center Networking with Containers
Docker, Inc.
 
DockerCon EU 2015: Placing a container on a train at 200mph
Docker, Inc.
 
DockerCon SF 2015: Enabling Microservices @Orbitz
Docker, Inc.
 
DockerCon EU 2015: Docker and PCI-DSS - Lessons learned in a security sensiti...
Docker, Inc.
 
Docker SF Meetup January 2016
Patrick Chanezon
 

Similar to DCSF19 CMD and Conquer: Containerizing the Monolith (20)

PPTX
Using Docker EE to Scale Operational Intelligence at Splunk
Docker, Inc.
 
PPTX
What's New in Docker - February 2017
Patrick Chanezon
 
PDF
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
Daniel Krook
 
PDF
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
Animesh Singh
 
PDF
Patterns and Pains of Migrating Legacy Applications to Kubernetes
Josef Adersberger
 
PDF
Patterns and Pains of Migrating Legacy Applications to Kubernetes
QAware GmbH
 
PPTX
Webinar : Docker in Production
Newt Global Consulting LLC
 
PDF
Cloud Native Dünyada CI/CD
Mustafa AKIN
 
PPTX
OpenStack Enabling DevOps
Cisco DevNet
 
PPTX
What's new in Docker - InfraKit - Docker Meetup Berlin 2016
Patrick Chanezon
 
PPTX
DockerCon 15 Keynote - Day 2
Docker, Inc.
 
PPTX
Cont0519
Samuel Dratwa
 
PPTX
Devoxx 2016 - Docker Nuts and Bolts
Patrick Chanezon
 
PDF
Solum - OpenStack PaaS / ALM
devkulkarni
 
PPTX
Take an Analytics-driven Approach to Container Performance with Splunk for Co...
Docker, Inc.
 
PDF
Coding Secure Infrastructure in the Cloud using the PIE framework
James Wickett
 
PDF
Webinar: Emerging Trends in Data Architecture – What’s the Next Big Thing?
DATAVERSITY
 
PDF
Docker {at,with} SignalFx
Maxime Petazzoni
 
PDF
Docker at and with SignalFx
SignalFx
 
PDF
Robust Network Security and Observability with GitOps and Cilium
Weaveworks
 
Using Docker EE to Scale Operational Intelligence at Splunk
Docker, Inc.
 
What's New in Docker - February 2017
Patrick Chanezon
 
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
Daniel Krook
 
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
Animesh Singh
 
Patterns and Pains of Migrating Legacy Applications to Kubernetes
Josef Adersberger
 
Patterns and Pains of Migrating Legacy Applications to Kubernetes
QAware GmbH
 
Webinar : Docker in Production
Newt Global Consulting LLC
 
Cloud Native Dünyada CI/CD
Mustafa AKIN
 
OpenStack Enabling DevOps
Cisco DevNet
 
What's new in Docker - InfraKit - Docker Meetup Berlin 2016
Patrick Chanezon
 
DockerCon 15 Keynote - Day 2
Docker, Inc.
 
Cont0519
Samuel Dratwa
 
Devoxx 2016 - Docker Nuts and Bolts
Patrick Chanezon
 
Solum - OpenStack PaaS / ALM
devkulkarni
 
Take an Analytics-driven Approach to Container Performance with Splunk for Co...
Docker, Inc.
 
Coding Secure Infrastructure in the Cloud using the PIE framework
James Wickett
 
Webinar: Emerging Trends in Data Architecture – What’s the Next Big Thing?
DATAVERSITY
 
Docker {at,with} SignalFx
Maxime Petazzoni
 
Docker at and with SignalFx
SignalFx
 
Robust Network Security and Observability with GitOps and Cilium
Weaveworks
 
Ad

More from Docker, Inc. (20)

PDF
Containerize Your Game Server for the Best Multiplayer Experience
Docker, Inc.
 
PDF
How to Improve Your Image Builds Using Advance Docker Build
Docker, Inc.
 
PDF
Build & Deploy Multi-Container Applications to AWS
Docker, Inc.
 
PDF
Securing Your Containerized Applications with NGINX
Docker, Inc.
 
PDF
How To Build and Run Node Apps with Docker and Compose
Docker, Inc.
 
PDF
Hands-on Helm
Docker, Inc.
 
PDF
Distributed Deep Learning with Docker at Salesforce
Docker, Inc.
 
PDF
The First 10M Pulls: Building The Official Curl Image for Docker Hub
Docker, Inc.
 
PDF
Monitoring in a Microservices World
Docker, Inc.
 
PDF
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
Docker, Inc.
 
PDF
Predicting Space Weather with Docker
Docker, Inc.
 
PDF
Become a Docker Power User With Microsoft Visual Studio Code
Docker, Inc.
 
PDF
How to Use Mirroring and Caching to Optimize your Container Registry
Docker, Inc.
 
PDF
Monolithic to Microservices + Docker = SDLC on Steroids!
Docker, Inc.
 
PDF
Kubernetes at Datadog Scale
Docker, Inc.
 
PDF
Labels, Labels, Labels
Docker, Inc.
 
PDF
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Docker, Inc.
 
PDF
Build & Deploy Multi-Container Applications to AWS
Docker, Inc.
 
PDF
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
Docker, Inc.
 
PDF
Developing with Docker for the Arm Architecture
Docker, Inc.
 
Containerize Your Game Server for the Best Multiplayer Experience
Docker, Inc.
 
How to Improve Your Image Builds Using Advance Docker Build
Docker, Inc.
 
Build & Deploy Multi-Container Applications to AWS
Docker, Inc.
 
Securing Your Containerized Applications with NGINX
Docker, Inc.
 
How To Build and Run Node Apps with Docker and Compose
Docker, Inc.
 
Hands-on Helm
Docker, Inc.
 
Distributed Deep Learning with Docker at Salesforce
Docker, Inc.
 
The First 10M Pulls: Building The Official Curl Image for Docker Hub
Docker, Inc.
 
Monitoring in a Microservices World
Docker, Inc.
 
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
Docker, Inc.
 
Predicting Space Weather with Docker
Docker, Inc.
 
Become a Docker Power User With Microsoft Visual Studio Code
Docker, Inc.
 
How to Use Mirroring and Caching to Optimize your Container Registry
Docker, Inc.
 
Monolithic to Microservices + Docker = SDLC on Steroids!
Docker, Inc.
 
Kubernetes at Datadog Scale
Docker, Inc.
 
Labels, Labels, Labels
Docker, Inc.
 
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Docker, Inc.
 
Build & Deploy Multi-Container Applications to AWS
Docker, Inc.
 
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
Docker, Inc.
 
Developing with Docker for the Arm Architecture
Docker, Inc.
 
Ad

Recently uploaded (20)

PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
Advancing WebDriver BiDi support in WebKit
Igalia
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Advancing WebDriver BiDi support in WebKit
Igalia
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Biography of Daniel Podor.pdf
Daniel Podor
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 

DCSF19 CMD and Conquer: Containerizing the Monolith