Docker in Production Lessons Learned While Building the Self-Service Semantic Suite (S4) Alexander Simov July 7 th , 2015 Docker in production: the Self-Service Semantic Suite (S4) #1 July 2015
Aug 08, 2015
Docker in Production Lessons Learned While Building the
Self-Service Semantic Suite (S4)
Alexander Simov
July 7th, 2015
Docker in production: the Self-Service Semantic Suite (S4) #1 July 2015
• Self-Service Semantic Suite (S4)
• S4 Cloud architecture
• DBaaS architecture & Docker integration
• Future work
Contents
#2 Docker in production: the Self-Service Semantic Suite (S4) July 2015
Semantic Technologies for Smart Data Management
• Semantic Search
– Semantic, exploratory search
– Metadata driven content
• Text Mining & Interlinking
– People, locations, organisations, topics
– Reuse open knowledge graphs
• Graph Database
– Flexible RDF graph data model
#3 Docker in production: the Self-Service Semantic Suite (S4) July 2015
S4 Architecture
#5 Docker in production: the Self-Service Semantic Suite (S4) July 2015
applications
applications
Web UI
routing nodes
data nodes
coordinator
storage notifications
Docker repository
account / quota management
monitoring & logging metadata
store
text analytics
document queue
FactForge semantic
warehouse
S4 DBaaS architecture
#6 Docker in production: the Self-Service Semantic Suite (S4) July 2015
REST apps
3rd party RDF tools
Qu
ota
& A
cce
ss C
on
trol
routers
data nodes
coordinator
EBS
backups
SNS
Docker Registry
Account management
Quota management
reporting
Monitoring & Logging Dynamo
Amazon S3
images
• CRUD
– Router node receives a request
– Routes it to the proper data node & container
– Receives a response, forwards it back to client app
• Routing updates
– Data nodes push notification via SNS – “hearbeats” + changes regarding the hosted DBs (if any)
– Each routing node receives the notifications (via SNS) and updates its routing tables
– Coordinator also receives notifications, learns which DBs are operational / down for maintenance
Normal operations
#7 Docker in production: the Self-Service Semantic Suite (S4) July 2015
…
DBaaS data node
#8 Docker in production: the Self-Service Semantic Suite (S4) July 2015
EBS
Docker Registry
Host state manager
App logs
User data GraphDB engine
App logs
User data GraphDB engine
App logs
User data GraphDB engine
Data node / EC2 host
Docker daemon
Amazon S3
• Flexible processes management
• Quick deployment/migration across VMs
• Isolation
• Usage quota enforcement
• Automated recovery
• Incremental upgrades (new database versions)
Why Docker ?
#9 Docker in production: the Self-Service Semantic Suite (S4) July 2015
• Runs on Ubuntu 14.04 LTS
• Docker 1.6
• Images packaging – GraphDB running in Tomcat 7
• Usage quota enforcement – RAM consumption limitation, based on database size
• Containers restart on failure – Up to 100 failures (configurable)
Docker setup
#10 Docker in production: the Self-Service Semantic Suite (S4) July 2015
• Detailed resources usage metering
• Historical usage data & statistics collection
• Aggregation and visualization
• Experiment with AWS EC2 Container Service (ECS)
Docker related TODOs
#11 Docker in production: the Self-Service Semantic Suite (S4) July 2015