SlideShare a Scribd company logo
1 of 42
Download to read offline
Databases & Containers:
From Development to
Deployment
Powering New Opportunities at Scale
2
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
■  Containers + Databases = Happy Developers
■  Ephemerical Containers + Databases = DevOps headaches
■  Data Redundancy
■  Need more than one copy of the Data
■  Database Self Discovery & Cluster formation
■  Manual / Scripted configurtion of Database Cluster
■  Database Self Healing (as containers enter and leave)
■  Manual / Scripted re-configurtion of Database Cluster
■  Application Tier discovery of Database
■  Manual / Scripted re-routing of Application Traffic
Conclusion
3
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
Existing Architectures Are Broken
Challenges
•  Complex
•  Maintainability
•  Durability
•  Consistency
•  Scalability
•  Cost ($)
•  Data Lag
Caching Layer
Operational Database
Real-time
Consumer Facing
Pricing /
Inventory / Billing
Real-time
Decisionin
g
Streaming
Data
Legacy Database
(Mainframe)
RDBMS
Database
Transactional
Systems
Enterprise Environment
Legacy
RDBMS
HDFS BASED
4
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
Existing Deployment Models Are Broken
4
Developer
Version
control
1. Development 2. Test 3. Stage / Production
QA / QE Sysadmin
5
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
Infrastructure Cannot be Fully Utilized
TRADITIONAL DATABASE
OS FILE SYSTEM
PAGE CACHE
BLOCK INTERFACE
SSD HDD
What You Have
BLOCK INTERFACE
SSD SSD
OPEN NVM
SSD
DATABASE
MEMORY SYSTEM
•  Direct device access
•  Large Block Writes
•  Indexes in DRAM
•  Highly Parallelized
What You Want
6
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
■  Containers
■  Encapsulation
■  Deployment
■  Isolation
■  Databases
■  Persistence
■  Scalability
■  Self-organizing / Self-healing
■  Resource Utilization
Meeting the Challenges
Containers
14
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
Container Mission – Reduce Complexity
Build Ship Run
Open	Standards	
Plumbing	
Pla3orm	Clustering Distribution
Image specContainer run-time spec
Runtime
Trust
15
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
■  Encapsulation of Dependencies
■  O/S packages & Patches
■  Execution environment (e.g. Python 2.7)
■  Application Code & Dependencies
■  Process Isolation
■  Isolate the process from anything else running
■  Faster, Lightweight virtualization
What do Containers give me?
16
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
FROM python:2.7
ADD . /code
WORKDIR /code
RUN apt-get update
RUN apt-get -y install python-dev
RUN apt-get -y install libssl-dev
RUN pip install --no-cache-dir -r requirements.txt
EXPOSE 5000
CMD python app.py
Dockerfile - Example
17
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
Coalition of industry leaders join forces to eliminate
fragmentation
•  Form a vendor-neutral, open source governance model under the
Linux Foundation
•  Establish common standards for container format and runtime
•  Docker donated its container format, runtime and associated
specifications
•  Appoint maintainers for the libcontainer project
Open Container Initiative (OCI) – Polyglot Vendors
http://www.opencontainers.org/
20
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
Docker Landscape in Pictures
Machine provisions
Docker Engines
Engines are
clustered by Docker
Swarm
Compose orchestrates
Container deployment
Containers are run
by Docker Engine
Docker Machine Docker Compose
Docker Swarm
Docker Engine
Container
Containers encapsulates
your code, dependencies…
Aerospike
The Enterprise NoSQL Database
22
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
The Bottom Line
23
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
•  RIPE MD160 Hashing & Partitioning
•  Primary Index is Red Black Tree
•  Dynamically Add/Remove Nodes
Scale
•  Auto Rebalance
•  Auto Heal
•  Schema-free
24
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
0
100,000
200,000
300,000
400,000
Balanced Read-Heavy
Aerospike Cassandra
MongoDB Couchbase 2.0*
0
2.5
5
7.5
10
0 50,000 100,000 150,000 200,000
AverageLatency,
ms
Throughput, ops/sec
Balanced Workload Read Latency
Aerospike
Cassandra
MongoDB
0
4
8
12
16
0 50,000 100,000 150,000 200,000
AverageLatency,
ms
Throughput, ops/sec
Balanced Workload Update Latency
Aerospike
Cassandra
MongoDB
•  Flash / SSD Optimized
•  Primary Index in DRAM
Speed
25
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
Challenge
•  Overall SLA 750 ms
•  Loss of business due to latency
•  Every credit card transaction requires
hundreds of DB reads/writes
Need to Scale Reliably
•  10 à 100 TB
•  10B à 100 B objects
•  200k à I Million+ TPS
Aerospike In-Memory NoSQL
•  Built for Flash
•  Predictable low latency at high throughput
•  Immediate consistency, no data loss
•  Cross data center (XDR) support
•  20 server cluster
•  Dell 730xd w/ 4NVMe SSDs
Credit Card Processing System
Fraud Detection & Protection App
Rules
Rule 1
Rule 2
Rule 3
Historical Data
Rule 1-Passed
Rule 2-Passed
Rule 3-Failed
Account Behavior
Static Data
Account Statistics
Real-time Fraud Prevention
Databases and Containers
27
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
■  Data Redundancy
■  Containers are Ephemeral – Need more than one copy of the data
■  Dynamic Self Discovery & Cluster formation
■  Need to start and stop Conatiners when needed
■  Clusters needs to grow and shrink dynamcially
■  Self Healing
■  Loss of nodes must not be fatal to the cluster integrity
■  Addition of nodes must scale capacity
■  Application Tier discovery of Database
■  Automatic discovery of nodes
■  Automatic routing of requests to the correct nodes
Requirements
28
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
■  Data Redundancy
■  Automatic Replication of Data to "n" nodes
■  Dynamic Self Discovery & Cluster Formation
■  Shared nothing architecture – all nodes equal
■  Multi-cast & Mesh Networking models
■  Automatic healing & rebalancing of the cluster
■  Automatic hashing of keys across the cluster
■  RIPEMD-160 collision free algorithm with Smart Partitions™
■  Application Tier discovery of Database
■  Automated cluster discovery with Smart Client™
■  Java, C/C++, C#, Python, Node.js
Example: Aerospike and Containers
Demo
30
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
■  Build & Run an App in Development
■  Python + Aerospike
■  Deploy to a Swarm cluster in Production
■  Add more Web containers behind HAProxy
■  Scale Aerospike Cluster in production
■  Add more Database nodes
Demo: Development through to Production
31
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
Lets build an App!
web
Aerospike
Development
python / flask
32
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
Scale in Production
web2 web3 web4 webNweb web1
Aerospike
Development
…
Production
HA Proxy
asd1 asdNasd2 …
33
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
Demo 1 : Build an App
34
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
FROM python:2.7
ADD . /code
WORKDIR /code
RUN apt-get update
RUN apt-get -y install python-dev
RUN apt-get -y install libssl-dev
RUN pip install --no-cache-dir -r requirements.txt
EXPOSE 5000
CMD python app.py
Dockerfile
35
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
web:
build: .
ports:
- "5000:5000"
links:
- aerospike
hostname: dev.awesome-counter.com
environment:
- AEROSPIKE_HOST=dev_aerospike_1
aerospike:
image: aerospike/aerospike-server:latest
volumes:
- $PWD:/etc/aerospike
docker-compose.yml
36
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
Roll the App to Production behind HA Proxy
web web1
Development Production
Aerospike
HA Proxy
Aerospike
37
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
Scale the web tier
web2 web3 web4 webNweb web1
Aerospike
Development
…
Production
Aerospike
HA Proxy
38
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
Docker Networking
39
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
Demo 2 : Scale the Web Tier
40
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
discovery:
image: aerospike/interlock:latest
environment:
- "DOCKER_HOST"
volumes:
- "/var/lib/boot2docker:/etc/docker"
command: "... --plugin aerospike start"
aerospike:
image: aerospike/aerospike-server:latest
volumes:
- "$PWD:/etc/aerospike"
aes_base_cluster.yml
41
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
haproxy:
extends:
file: haproxy.yml
service: haproxy-server
environment:
- "constraint:node==swarm-0"
net: bridge
web:
image: alvinr/demo-webapp-as:latest
extends:
file: haproxy.yml
service: haproxy-app
environment:
- AEROSPIKE_HOST=prod_aerospike_1
net: prod
docker-compose.yml
aerospike:
extends:
file: aes_base_cluster.yml
service: aerospike
image: aerospike/aerospike-server:3.7.1
labels:
- "com.aerospike.cluster=awesome-
counter"
environment:
- "affinity:com.aerospike.cluster!
=awesome-counter"
net: prod
42
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
Scale the Aerospike cluster
42
web2 web3 web4 webNweb web1
mongodb
Development
…
Production
HA Proxy
asd1 asdNasd2 …
43
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
Demo 3 : Scale the Cluster
44
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
■  API for Docker Events
■  Start / Stop / Die etc
■  https://docs.docker.com/engine/
reference/api/docker_remote_api/
■  Interlock – Evan Hazlett
■  Framework to listen and publish events
■  Plugin Framework (e.g. HAPROXY)
■  https://github.com/ehazlett/interlock
■  Aerospike Interlock plugin
■  Add / Remove node from Cluster
■  https://github.com/aerospike/interlock
Docker Event API & Interlock
45
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
■  https://github.com/aerospike/interlock
func (p AerospikePlugin) runAsinfoTip(args ...string) bool{
asinfo, err := exec.LookPath("asinfo")
if err != nil{
log.Errorf("error finding asinfo binary: %s", err)
return false
}
time.Sleep(time.Second*5) //sleep 5s for ASD to be ready
cmd := exec.Command(asinfo,args...)
Interlock Plugin - Aerospike
46
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
Considerations
47
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
Inside
■  Encapsulation of Concerns
Storage: Inside or outside the container?
Host
daemon
container
Host
daemon
container e.g.
SSD
e.g.
EBS
/data/db
/mnt/xx:/data/db
/dev/xvdb
Outside
■  Separation of Concerns
■  Storage Features (e.g.
Snapshots)
48
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
Data Container
■  --volumes-from <container name>
■  Managed like other containers
■  Special rules for Destruction
■  TBD: Performance
Storage: Data Container?
Host
daemon
container
Host
daemon
container
49
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
Summary
• Define Container, their contents and how they work together once
• Deploy the same images in Dev, Pre-Prod and Production across
Platforms
One solution from Dev -> Production
• Ops define the whitelisted images, security policies etc.
• Dev use approved images to build upon
• Eliminate the complexity (and cost) of deployment
• Scale up & down in a Flexible and Simple way
Running Docker & Database in Production
50
Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved.
■  Code
■  http://github.com/alvinr/docker-demo/tree/master/aerospike
■  Docker Images
■  http://hub.docker.com/r/aerospike/
■  Aerospike & Docker deployment guide
■  http://www.aerospike.com/docs/deploy_guides/docker/
■  Contact me!
■  alvin@aerospike.com
■  @jonnyeight
Thanks and Q&A

More Related Content

What's hot

How to Get a Game Changing Performance Advantage with Intel SSDs and Aerospike
How to Get a Game Changing Performance Advantage with Intel SSDs and AerospikeHow to Get a Game Changing Performance Advantage with Intel SSDs and Aerospike
How to Get a Game Changing Performance Advantage with Intel SSDs and AerospikeAerospike, Inc.
 
Distributing Data The Aerospike Way
Distributing Data The Aerospike WayDistributing Data The Aerospike Way
Distributing Data The Aerospike WayAerospike, Inc.
 
2017 DB Trends for Powering Real-Time Systems of Engagement
2017 DB Trends for Powering Real-Time Systems of Engagement2017 DB Trends for Powering Real-Time Systems of Engagement
2017 DB Trends for Powering Real-Time Systems of EngagementAerospike, Inc.
 
Aerospike: Maximizing Performance
Aerospike: Maximizing PerformanceAerospike: Maximizing Performance
Aerospike: Maximizing PerformanceAerospike, Inc.
 
Aerospike Architecture
Aerospike ArchitectureAerospike Architecture
Aerospike ArchitecturePeter Milne
 
10 reasons why to choose Pure Storage
10 reasons why to choose Pure Storage10 reasons why to choose Pure Storage
10 reasons why to choose Pure StorageMarketingArrowECS_CZ
 
Getting The Most Out Of Your Flash/SSDs
Getting The Most Out Of Your Flash/SSDsGetting The Most Out Of Your Flash/SSDs
Getting The Most Out Of Your Flash/SSDsAerospike, Inc.
 
RedisConf17 - Redis Enterprise on IBM Power Systems
RedisConf17 - Redis Enterprise on IBM Power SystemsRedisConf17 - Redis Enterprise on IBM Power Systems
RedisConf17 - Redis Enterprise on IBM Power SystemsRedis Labs
 
Configuring Aerospike - Part 1
Configuring Aerospike - Part 1Configuring Aerospike - Part 1
Configuring Aerospike - Part 1Aerospike, Inc.
 
Why Software-Defined Storage Matters
Why Software-Defined Storage MattersWhy Software-Defined Storage Matters
Why Software-Defined Storage MattersColleen Corrice
 
Predictable Big Data Performance in Real-time
Predictable Big Data Performance in Real-timePredictable Big Data Performance in Real-time
Predictable Big Data Performance in Real-timeAerospike, Inc.
 
Red hat Storage Day LA - Designing Ceph Clusters Using Intel-Based Hardware
Red hat Storage Day LA - Designing Ceph Clusters Using Intel-Based HardwareRed hat Storage Day LA - Designing Ceph Clusters Using Intel-Based Hardware
Red hat Storage Day LA - Designing Ceph Clusters Using Intel-Based HardwareRed_Hat_Storage
 
HBaseConAsia2018 Track3-6: HBase at Meituan
HBaseConAsia2018 Track3-6: HBase at MeituanHBaseConAsia2018 Track3-6: HBase at Meituan
HBaseConAsia2018 Track3-6: HBase at MeituanMichael Stack
 
The Future of Postgres Sharding / Bruce Momjian (PostgreSQL)
The Future of Postgres Sharding / Bruce Momjian (PostgreSQL)The Future of Postgres Sharding / Bruce Momjian (PostgreSQL)
The Future of Postgres Sharding / Bruce Momjian (PostgreSQL)Ontico
 
Hadoop Storage in the Cloud Native Era
Hadoop Storage in the Cloud Native EraHadoop Storage in the Cloud Native Era
Hadoop Storage in the Cloud Native EraDataWorks Summit
 
Red Hat Storage Day Seattle: Stabilizing Petabyte Ceph Cluster in OpenStack C...
Red Hat Storage Day Seattle: Stabilizing Petabyte Ceph Cluster in OpenStack C...Red Hat Storage Day Seattle: Stabilizing Petabyte Ceph Cluster in OpenStack C...
Red Hat Storage Day Seattle: Stabilizing Petabyte Ceph Cluster in OpenStack C...Red_Hat_Storage
 
Running Analytics at the Speed of Your Business
Running Analytics at the Speed of Your BusinessRunning Analytics at the Speed of Your Business
Running Analytics at the Speed of Your BusinessRedis Labs
 

What's hot (20)

How to Get a Game Changing Performance Advantage with Intel SSDs and Aerospike
How to Get a Game Changing Performance Advantage with Intel SSDs and AerospikeHow to Get a Game Changing Performance Advantage with Intel SSDs and Aerospike
How to Get a Game Changing Performance Advantage with Intel SSDs and Aerospike
 
Distributing Data The Aerospike Way
Distributing Data The Aerospike WayDistributing Data The Aerospike Way
Distributing Data The Aerospike Way
 
2017 DB Trends for Powering Real-Time Systems of Engagement
2017 DB Trends for Powering Real-Time Systems of Engagement2017 DB Trends for Powering Real-Time Systems of Engagement
2017 DB Trends for Powering Real-Time Systems of Engagement
 
Aerospike: Maximizing Performance
Aerospike: Maximizing PerformanceAerospike: Maximizing Performance
Aerospike: Maximizing Performance
 
Introduction to Aerospike
Introduction to AerospikeIntroduction to Aerospike
Introduction to Aerospike
 
Aerospike Architecture
Aerospike ArchitectureAerospike Architecture
Aerospike Architecture
 
10 reasons why to choose Pure Storage
10 reasons why to choose Pure Storage10 reasons why to choose Pure Storage
10 reasons why to choose Pure Storage
 
Getting The Most Out Of Your Flash/SSDs
Getting The Most Out Of Your Flash/SSDsGetting The Most Out Of Your Flash/SSDs
Getting The Most Out Of Your Flash/SSDs
 
RedisConf17 - Redis Enterprise on IBM Power Systems
RedisConf17 - Redis Enterprise on IBM Power SystemsRedisConf17 - Redis Enterprise on IBM Power Systems
RedisConf17 - Redis Enterprise on IBM Power Systems
 
Configuring Aerospike - Part 1
Configuring Aerospike - Part 1Configuring Aerospike - Part 1
Configuring Aerospike - Part 1
 
Why Software-Defined Storage Matters
Why Software-Defined Storage MattersWhy Software-Defined Storage Matters
Why Software-Defined Storage Matters
 
Scaling HDFS at Xiaomi
Scaling HDFS at XiaomiScaling HDFS at Xiaomi
Scaling HDFS at Xiaomi
 
Predictable Big Data Performance in Real-time
Predictable Big Data Performance in Real-timePredictable Big Data Performance in Real-time
Predictable Big Data Performance in Real-time
 
Red hat Storage Day LA - Designing Ceph Clusters Using Intel-Based Hardware
Red hat Storage Day LA - Designing Ceph Clusters Using Intel-Based HardwareRed hat Storage Day LA - Designing Ceph Clusters Using Intel-Based Hardware
Red hat Storage Day LA - Designing Ceph Clusters Using Intel-Based Hardware
 
HBaseConAsia2018 Track3-6: HBase at Meituan
HBaseConAsia2018 Track3-6: HBase at MeituanHBaseConAsia2018 Track3-6: HBase at Meituan
HBaseConAsia2018 Track3-6: HBase at Meituan
 
Redis vs Aerospike
Redis vs AerospikeRedis vs Aerospike
Redis vs Aerospike
 
The Future of Postgres Sharding / Bruce Momjian (PostgreSQL)
The Future of Postgres Sharding / Bruce Momjian (PostgreSQL)The Future of Postgres Sharding / Bruce Momjian (PostgreSQL)
The Future of Postgres Sharding / Bruce Momjian (PostgreSQL)
 
Hadoop Storage in the Cloud Native Era
Hadoop Storage in the Cloud Native EraHadoop Storage in the Cloud Native Era
Hadoop Storage in the Cloud Native Era
 
Red Hat Storage Day Seattle: Stabilizing Petabyte Ceph Cluster in OpenStack C...
Red Hat Storage Day Seattle: Stabilizing Petabyte Ceph Cluster in OpenStack C...Red Hat Storage Day Seattle: Stabilizing Petabyte Ceph Cluster in OpenStack C...
Red Hat Storage Day Seattle: Stabilizing Petabyte Ceph Cluster in OpenStack C...
 
Running Analytics at the Speed of Your Business
Running Analytics at the Speed of Your BusinessRunning Analytics at the Speed of Your Business
Running Analytics at the Speed of Your Business
 

Similar to Databases & Containers: Powering New Opportunities at Scale

OpenStack + Cloud Foundry for the OpenStack Boston Meetup
OpenStack + Cloud Foundry for the OpenStack Boston MeetupOpenStack + Cloud Foundry for the OpenStack Boston Meetup
OpenStack + Cloud Foundry for the OpenStack Boston Meetupragss
 
Distributed application usecase on docker
Distributed application usecase on dockerDistributed application usecase on docker
Distributed application usecase on dockerHiroshi Miura
 
20191201 kubernetes managed weblogic revival - part 2
20191201 kubernetes managed weblogic revival - part 220191201 kubernetes managed weblogic revival - part 2
20191201 kubernetes managed weblogic revival - part 2makker_nl
 
OpenStack Summit: How companies of all sizes leverage OpenStack based private...
OpenStack Summit: How companies of all sizes leverage OpenStack based private...OpenStack Summit: How companies of all sizes leverage OpenStack based private...
OpenStack Summit: How companies of all sizes leverage OpenStack based private...Duncan Johnston-Watt
 
The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)Simon Haslam
 
Architecting with power vm
Architecting with power vmArchitecting with power vm
Architecting with power vmCharlie Cler
 
20171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v0120171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v01Scott Miao
 
Adobe Ask the AEM Community Expert Session Oct 2016
Adobe Ask the AEM Community Expert Session Oct 2016Adobe Ask the AEM Community Expert Session Oct 2016
Adobe Ask the AEM Community Expert Session Oct 2016AdobeMarketingCloud
 
MySQL as a Document Store
MySQL as a Document StoreMySQL as a Document Store
MySQL as a Document StoreTed Wennmark
 
Running Kubernetes with Amazon EKS - AWS Online Tech Talks
Running Kubernetes with Amazon EKS - AWS Online Tech TalksRunning Kubernetes with Amazon EKS - AWS Online Tech Talks
Running Kubernetes with Amazon EKS - AWS Online Tech TalksAmazon Web Services
 
'DOCKER' & CLOUD: ENABLERS For DEVOPS
'DOCKER' & CLOUD:  ENABLERS For DEVOPS'DOCKER' & CLOUD:  ENABLERS For DEVOPS
'DOCKER' & CLOUD: ENABLERS For DEVOPSACA IT-Solutions
 
Docker and Cloud - Enables for DevOps - by ACA-IT
Docker and Cloud - Enables for DevOps - by ACA-ITDocker and Cloud - Enables for DevOps - by ACA-IT
Docker and Cloud - Enables for DevOps - by ACA-ITStijn Wijndaele
 
Building a PaaS Platform like Bluemix on OpenStack
Building a PaaS Platform like Bluemix on OpenStackBuilding a PaaS Platform like Bluemix on OpenStack
Building a PaaS Platform like Bluemix on OpenStackAnimesh Singh
 
20191201 kubernetes managed weblogic revival - part 1
20191201 kubernetes managed weblogic revival - part 120191201 kubernetes managed weblogic revival - part 1
20191201 kubernetes managed weblogic revival - part 1makker_nl
 
Galera on kubernetes_no_video
Galera on kubernetes_no_videoGalera on kubernetes_no_video
Galera on kubernetes_no_videoPatrick Galbraith
 
Microservices & Serverless Architecture Principles Applied - Cisco Live Orlan...
Microservices & Serverless Architecture Principles Applied - Cisco Live Orlan...Microservices & Serverless Architecture Principles Applied - Cisco Live Orlan...
Microservices & Serverless Architecture Principles Applied - Cisco Live Orlan...Cisco DevNet
 
Overpowered Kubernetes: CI/CD for K8s on Enterprise IaaS
Overpowered Kubernetes: CI/CD for K8s on Enterprise IaaSOverpowered Kubernetes: CI/CD for K8s on Enterprise IaaS
Overpowered Kubernetes: CI/CD for K8s on Enterprise IaaSJ On The Beach
 
Cloud Native Applications on OpenShift
Cloud Native Applications on OpenShiftCloud Native Applications on OpenShift
Cloud Native Applications on OpenShiftSerhat Dirik
 
The Kubernetes WebLogic revival (part 1)
The Kubernetes WebLogic revival (part 1)The Kubernetes WebLogic revival (part 1)
The Kubernetes WebLogic revival (part 1)Simon Haslam
 
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ... The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...Josef Adersberger
 

Similar to Databases & Containers: Powering New Opportunities at Scale (20)

OpenStack + Cloud Foundry for the OpenStack Boston Meetup
OpenStack + Cloud Foundry for the OpenStack Boston MeetupOpenStack + Cloud Foundry for the OpenStack Boston Meetup
OpenStack + Cloud Foundry for the OpenStack Boston Meetup
 
Distributed application usecase on docker
Distributed application usecase on dockerDistributed application usecase on docker
Distributed application usecase on docker
 
20191201 kubernetes managed weblogic revival - part 2
20191201 kubernetes managed weblogic revival - part 220191201 kubernetes managed weblogic revival - part 2
20191201 kubernetes managed weblogic revival - part 2
 
OpenStack Summit: How companies of all sizes leverage OpenStack based private...
OpenStack Summit: How companies of all sizes leverage OpenStack based private...OpenStack Summit: How companies of all sizes leverage OpenStack based private...
OpenStack Summit: How companies of all sizes leverage OpenStack based private...
 
The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)
 
Architecting with power vm
Architecting with power vmArchitecting with power vm
Architecting with power vm
 
20171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v0120171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v01
 
Adobe Ask the AEM Community Expert Session Oct 2016
Adobe Ask the AEM Community Expert Session Oct 2016Adobe Ask the AEM Community Expert Session Oct 2016
Adobe Ask the AEM Community Expert Session Oct 2016
 
MySQL as a Document Store
MySQL as a Document StoreMySQL as a Document Store
MySQL as a Document Store
 
Running Kubernetes with Amazon EKS - AWS Online Tech Talks
Running Kubernetes with Amazon EKS - AWS Online Tech TalksRunning Kubernetes with Amazon EKS - AWS Online Tech Talks
Running Kubernetes with Amazon EKS - AWS Online Tech Talks
 
'DOCKER' & CLOUD: ENABLERS For DEVOPS
'DOCKER' & CLOUD:  ENABLERS For DEVOPS'DOCKER' & CLOUD:  ENABLERS For DEVOPS
'DOCKER' & CLOUD: ENABLERS For DEVOPS
 
Docker and Cloud - Enables for DevOps - by ACA-IT
Docker and Cloud - Enables for DevOps - by ACA-ITDocker and Cloud - Enables for DevOps - by ACA-IT
Docker and Cloud - Enables for DevOps - by ACA-IT
 
Building a PaaS Platform like Bluemix on OpenStack
Building a PaaS Platform like Bluemix on OpenStackBuilding a PaaS Platform like Bluemix on OpenStack
Building a PaaS Platform like Bluemix on OpenStack
 
20191201 kubernetes managed weblogic revival - part 1
20191201 kubernetes managed weblogic revival - part 120191201 kubernetes managed weblogic revival - part 1
20191201 kubernetes managed weblogic revival - part 1
 
Galera on kubernetes_no_video
Galera on kubernetes_no_videoGalera on kubernetes_no_video
Galera on kubernetes_no_video
 
Microservices & Serverless Architecture Principles Applied - Cisco Live Orlan...
Microservices & Serverless Architecture Principles Applied - Cisco Live Orlan...Microservices & Serverless Architecture Principles Applied - Cisco Live Orlan...
Microservices & Serverless Architecture Principles Applied - Cisco Live Orlan...
 
Overpowered Kubernetes: CI/CD for K8s on Enterprise IaaS
Overpowered Kubernetes: CI/CD for K8s on Enterprise IaaSOverpowered Kubernetes: CI/CD for K8s on Enterprise IaaS
Overpowered Kubernetes: CI/CD for K8s on Enterprise IaaS
 
Cloud Native Applications on OpenShift
Cloud Native Applications on OpenShiftCloud Native Applications on OpenShift
Cloud Native Applications on OpenShift
 
The Kubernetes WebLogic revival (part 1)
The Kubernetes WebLogic revival (part 1)The Kubernetes WebLogic revival (part 1)
The Kubernetes WebLogic revival (part 1)
 
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ... The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 

More from Aerospike, Inc.

What the Spark!? Intro and Use Cases
What the Spark!? Intro and Use CasesWhat the Spark!? Intro and Use Cases
What the Spark!? Intro and Use CasesAerospike, Inc.
 
Get Started with Data Science by Analyzing Traffic Data from California Highways
Get Started with Data Science by Analyzing Traffic Data from California HighwaysGet Started with Data Science by Analyzing Traffic Data from California Highways
Get Started with Data Science by Analyzing Traffic Data from California HighwaysAerospike, Inc.
 
Running a High Performance NoSQL Database on Amazon EC2 for Just $1.68/Hour
Running a High Performance NoSQL Database on Amazon EC2 for Just $1.68/HourRunning a High Performance NoSQL Database on Amazon EC2 for Just $1.68/Hour
Running a High Performance NoSQL Database on Amazon EC2 for Just $1.68/HourAerospike, Inc.
 
Flash Economics and Lessons learned from operating low latency platforms at h...
Flash Economics and Lessons learned from operating low latency platforms at h...Flash Economics and Lessons learned from operating low latency platforms at h...
Flash Economics and Lessons learned from operating low latency platforms at h...Aerospike, Inc.
 
Storm Persistence and Real-Time Analytics
Storm Persistence and Real-Time AnalyticsStorm Persistence and Real-Time Analytics
Storm Persistence and Real-Time AnalyticsAerospike, Inc.
 
You Snooze You Lose or How to Win in Ad Tech?
You Snooze You Lose or How to Win in Ad Tech?You Snooze You Lose or How to Win in Ad Tech?
You Snooze You Lose or How to Win in Ad Tech?Aerospike, Inc.
 
Aerospike: Key Value Data Access
Aerospike: Key Value Data AccessAerospike: Key Value Data Access
Aerospike: Key Value Data AccessAerospike, Inc.
 
Configuring Aerospike - Part 2
Configuring Aerospike - Part 2 Configuring Aerospike - Part 2
Configuring Aerospike - Part 2 Aerospike, Inc.
 
Big Data Learnings from a Vendor's Perspective
Big Data Learnings from a Vendor's PerspectiveBig Data Learnings from a Vendor's Perspective
Big Data Learnings from a Vendor's PerspectiveAerospike, Inc.
 

More from Aerospike, Inc. (9)

What the Spark!? Intro and Use Cases
What the Spark!? Intro and Use CasesWhat the Spark!? Intro and Use Cases
What the Spark!? Intro and Use Cases
 
Get Started with Data Science by Analyzing Traffic Data from California Highways
Get Started with Data Science by Analyzing Traffic Data from California HighwaysGet Started with Data Science by Analyzing Traffic Data from California Highways
Get Started with Data Science by Analyzing Traffic Data from California Highways
 
Running a High Performance NoSQL Database on Amazon EC2 for Just $1.68/Hour
Running a High Performance NoSQL Database on Amazon EC2 for Just $1.68/HourRunning a High Performance NoSQL Database on Amazon EC2 for Just $1.68/Hour
Running a High Performance NoSQL Database on Amazon EC2 for Just $1.68/Hour
 
Flash Economics and Lessons learned from operating low latency platforms at h...
Flash Economics and Lessons learned from operating low latency platforms at h...Flash Economics and Lessons learned from operating low latency platforms at h...
Flash Economics and Lessons learned from operating low latency platforms at h...
 
Storm Persistence and Real-Time Analytics
Storm Persistence and Real-Time AnalyticsStorm Persistence and Real-Time Analytics
Storm Persistence and Real-Time Analytics
 
You Snooze You Lose or How to Win in Ad Tech?
You Snooze You Lose or How to Win in Ad Tech?You Snooze You Lose or How to Win in Ad Tech?
You Snooze You Lose or How to Win in Ad Tech?
 
Aerospike: Key Value Data Access
Aerospike: Key Value Data AccessAerospike: Key Value Data Access
Aerospike: Key Value Data Access
 
Configuring Aerospike - Part 2
Configuring Aerospike - Part 2 Configuring Aerospike - Part 2
Configuring Aerospike - Part 2
 
Big Data Learnings from a Vendor's Perspective
Big Data Learnings from a Vendor's PerspectiveBig Data Learnings from a Vendor's Perspective
Big Data Learnings from a Vendor's Perspective
 

Recently uploaded

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
 
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
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"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
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
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
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
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
 

Recently uploaded (20)

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
 
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
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"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
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
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
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
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
 

Databases & Containers: Powering New Opportunities at Scale

  • 1. Databases & Containers: From Development to Deployment Powering New Opportunities at Scale
  • 2. 2 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. ■  Containers + Databases = Happy Developers ■  Ephemerical Containers + Databases = DevOps headaches ■  Data Redundancy ■  Need more than one copy of the Data ■  Database Self Discovery & Cluster formation ■  Manual / Scripted configurtion of Database Cluster ■  Database Self Healing (as containers enter and leave) ■  Manual / Scripted re-configurtion of Database Cluster ■  Application Tier discovery of Database ■  Manual / Scripted re-routing of Application Traffic Conclusion
  • 3. 3 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. Existing Architectures Are Broken Challenges •  Complex •  Maintainability •  Durability •  Consistency •  Scalability •  Cost ($) •  Data Lag Caching Layer Operational Database Real-time Consumer Facing Pricing / Inventory / Billing Real-time Decisionin g Streaming Data Legacy Database (Mainframe) RDBMS Database Transactional Systems Enterprise Environment Legacy RDBMS HDFS BASED
  • 4. 4 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. Existing Deployment Models Are Broken 4 Developer Version control 1. Development 2. Test 3. Stage / Production QA / QE Sysadmin
  • 5. 5 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. Infrastructure Cannot be Fully Utilized TRADITIONAL DATABASE OS FILE SYSTEM PAGE CACHE BLOCK INTERFACE SSD HDD What You Have BLOCK INTERFACE SSD SSD OPEN NVM SSD DATABASE MEMORY SYSTEM •  Direct device access •  Large Block Writes •  Indexes in DRAM •  Highly Parallelized What You Want
  • 6. 6 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. ■  Containers ■  Encapsulation ■  Deployment ■  Isolation ■  Databases ■  Persistence ■  Scalability ■  Self-organizing / Self-healing ■  Resource Utilization Meeting the Challenges
  • 8. 14 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. Container Mission – Reduce Complexity Build Ship Run Open Standards Plumbing Pla3orm Clustering Distribution Image specContainer run-time spec Runtime Trust
  • 9. 15 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. ■  Encapsulation of Dependencies ■  O/S packages & Patches ■  Execution environment (e.g. Python 2.7) ■  Application Code & Dependencies ■  Process Isolation ■  Isolate the process from anything else running ■  Faster, Lightweight virtualization What do Containers give me?
  • 10. 16 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. FROM python:2.7 ADD . /code WORKDIR /code RUN apt-get update RUN apt-get -y install python-dev RUN apt-get -y install libssl-dev RUN pip install --no-cache-dir -r requirements.txt EXPOSE 5000 CMD python app.py Dockerfile - Example
  • 11. 17 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. Coalition of industry leaders join forces to eliminate fragmentation •  Form a vendor-neutral, open source governance model under the Linux Foundation •  Establish common standards for container format and runtime •  Docker donated its container format, runtime and associated specifications •  Appoint maintainers for the libcontainer project Open Container Initiative (OCI) – Polyglot Vendors http://www.opencontainers.org/
  • 12. 20 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. Docker Landscape in Pictures Machine provisions Docker Engines Engines are clustered by Docker Swarm Compose orchestrates Container deployment Containers are run by Docker Engine Docker Machine Docker Compose Docker Swarm Docker Engine Container Containers encapsulates your code, dependencies…
  • 14. 22 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. The Bottom Line
  • 15. 23 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. •  RIPE MD160 Hashing & Partitioning •  Primary Index is Red Black Tree •  Dynamically Add/Remove Nodes Scale •  Auto Rebalance •  Auto Heal •  Schema-free
  • 16. 24 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. 0 100,000 200,000 300,000 400,000 Balanced Read-Heavy Aerospike Cassandra MongoDB Couchbase 2.0* 0 2.5 5 7.5 10 0 50,000 100,000 150,000 200,000 AverageLatency, ms Throughput, ops/sec Balanced Workload Read Latency Aerospike Cassandra MongoDB 0 4 8 12 16 0 50,000 100,000 150,000 200,000 AverageLatency, ms Throughput, ops/sec Balanced Workload Update Latency Aerospike Cassandra MongoDB •  Flash / SSD Optimized •  Primary Index in DRAM Speed
  • 17. 25 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. Challenge •  Overall SLA 750 ms •  Loss of business due to latency •  Every credit card transaction requires hundreds of DB reads/writes Need to Scale Reliably •  10 à 100 TB •  10B à 100 B objects •  200k à I Million+ TPS Aerospike In-Memory NoSQL •  Built for Flash •  Predictable low latency at high throughput •  Immediate consistency, no data loss •  Cross data center (XDR) support •  20 server cluster •  Dell 730xd w/ 4NVMe SSDs Credit Card Processing System Fraud Detection & Protection App Rules Rule 1 Rule 2 Rule 3 Historical Data Rule 1-Passed Rule 2-Passed Rule 3-Failed Account Behavior Static Data Account Statistics Real-time Fraud Prevention
  • 19. 27 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. ■  Data Redundancy ■  Containers are Ephemeral – Need more than one copy of the data ■  Dynamic Self Discovery & Cluster formation ■  Need to start and stop Conatiners when needed ■  Clusters needs to grow and shrink dynamcially ■  Self Healing ■  Loss of nodes must not be fatal to the cluster integrity ■  Addition of nodes must scale capacity ■  Application Tier discovery of Database ■  Automatic discovery of nodes ■  Automatic routing of requests to the correct nodes Requirements
  • 20. 28 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. ■  Data Redundancy ■  Automatic Replication of Data to "n" nodes ■  Dynamic Self Discovery & Cluster Formation ■  Shared nothing architecture – all nodes equal ■  Multi-cast & Mesh Networking models ■  Automatic healing & rebalancing of the cluster ■  Automatic hashing of keys across the cluster ■  RIPEMD-160 collision free algorithm with Smart Partitions™ ■  Application Tier discovery of Database ■  Automated cluster discovery with Smart Client™ ■  Java, C/C++, C#, Python, Node.js Example: Aerospike and Containers
  • 21. Demo
  • 22. 30 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. ■  Build & Run an App in Development ■  Python + Aerospike ■  Deploy to a Swarm cluster in Production ■  Add more Web containers behind HAProxy ■  Scale Aerospike Cluster in production ■  Add more Database nodes Demo: Development through to Production
  • 23. 31 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. Lets build an App! web Aerospike Development python / flask
  • 24. 32 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. Scale in Production web2 web3 web4 webNweb web1 Aerospike Development … Production HA Proxy asd1 asdNasd2 …
  • 25. 33 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. Demo 1 : Build an App
  • 26. 34 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. FROM python:2.7 ADD . /code WORKDIR /code RUN apt-get update RUN apt-get -y install python-dev RUN apt-get -y install libssl-dev RUN pip install --no-cache-dir -r requirements.txt EXPOSE 5000 CMD python app.py Dockerfile
  • 27. 35 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. web: build: . ports: - "5000:5000" links: - aerospike hostname: dev.awesome-counter.com environment: - AEROSPIKE_HOST=dev_aerospike_1 aerospike: image: aerospike/aerospike-server:latest volumes: - $PWD:/etc/aerospike docker-compose.yml
  • 28. 36 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. Roll the App to Production behind HA Proxy web web1 Development Production Aerospike HA Proxy Aerospike
  • 29. 37 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. Scale the web tier web2 web3 web4 webNweb web1 Aerospike Development … Production Aerospike HA Proxy
  • 30. 38 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. Docker Networking
  • 31. 39 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. Demo 2 : Scale the Web Tier
  • 32. 40 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. discovery: image: aerospike/interlock:latest environment: - "DOCKER_HOST" volumes: - "/var/lib/boot2docker:/etc/docker" command: "... --plugin aerospike start" aerospike: image: aerospike/aerospike-server:latest volumes: - "$PWD:/etc/aerospike" aes_base_cluster.yml
  • 33. 41 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. haproxy: extends: file: haproxy.yml service: haproxy-server environment: - "constraint:node==swarm-0" net: bridge web: image: alvinr/demo-webapp-as:latest extends: file: haproxy.yml service: haproxy-app environment: - AEROSPIKE_HOST=prod_aerospike_1 net: prod docker-compose.yml aerospike: extends: file: aes_base_cluster.yml service: aerospike image: aerospike/aerospike-server:3.7.1 labels: - "com.aerospike.cluster=awesome- counter" environment: - "affinity:com.aerospike.cluster! =awesome-counter" net: prod
  • 34. 42 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. Scale the Aerospike cluster 42 web2 web3 web4 webNweb web1 mongodb Development … Production HA Proxy asd1 asdNasd2 …
  • 35. 43 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. Demo 3 : Scale the Cluster
  • 36. 44 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. ■  API for Docker Events ■  Start / Stop / Die etc ■  https://docs.docker.com/engine/ reference/api/docker_remote_api/ ■  Interlock – Evan Hazlett ■  Framework to listen and publish events ■  Plugin Framework (e.g. HAPROXY) ■  https://github.com/ehazlett/interlock ■  Aerospike Interlock plugin ■  Add / Remove node from Cluster ■  https://github.com/aerospike/interlock Docker Event API & Interlock
  • 37. 45 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. ■  https://github.com/aerospike/interlock func (p AerospikePlugin) runAsinfoTip(args ...string) bool{ asinfo, err := exec.LookPath("asinfo") if err != nil{ log.Errorf("error finding asinfo binary: %s", err) return false } time.Sleep(time.Second*5) //sleep 5s for ASD to be ready cmd := exec.Command(asinfo,args...) Interlock Plugin - Aerospike
  • 38. 46 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. Considerations
  • 39. 47 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. Inside ■  Encapsulation of Concerns Storage: Inside or outside the container? Host daemon container Host daemon container e.g. SSD e.g. EBS /data/db /mnt/xx:/data/db /dev/xvdb Outside ■  Separation of Concerns ■  Storage Features (e.g. Snapshots)
  • 40. 48 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. Data Container ■  --volumes-from <container name> ■  Managed like other containers ■  Special rules for Destruction ■  TBD: Performance Storage: Data Container? Host daemon container Host daemon container
  • 41. 49 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. Summary • Define Container, their contents and how they work together once • Deploy the same images in Dev, Pre-Prod and Production across Platforms One solution from Dev -> Production • Ops define the whitelisted images, security policies etc. • Dev use approved images to build upon • Eliminate the complexity (and cost) of deployment • Scale up & down in a Flexible and Simple way Running Docker & Database in Production
  • 42. 50 Proprietary & Confidential | © 2015 Aerospike Inc. All rights reserved. ■  Code ■  http://github.com/alvinr/docker-demo/tree/master/aerospike ■  Docker Images ■  http://hub.docker.com/r/aerospike/ ■  Aerospike & Docker deployment guide ■  http://www.aerospike.com/docs/deploy_guides/docker/ ■  Contact me! ■  alvin@aerospike.com ■  @jonnyeight Thanks and Q&A