Cassandra on OSv
Dor Laor, Don Marti and Glauber CostaCloudius Systems
Become the best OSpowering virtual machines
in the cloud
HardwareHypervisor
OSv
Your App
HardwareHypervisorOSv + JVM
Your App
HardwareHypervisorOSv + JVM
HardwareHypervisor
OSv
HardwareHypervisorOSv + JVM
Your App
[ 0.000] Status() {return PreBeta;}
[ 0.103] HR.count() { return pp(18);}
[ 0.217] countries.size() {return 9;}
[ 0.423] getOpenSourceExperience() { ret list.add(KVM).add(Xen).add(containers);}
[ 0.735] Mission(){ret “write code that doesn’t suck”;}
Cassandra boot time on OSv
Hardware
Hypervisor
guest OS
JVM
App Server
Java App
What is OSv?
guest OS
C++ App
Hardware
Hypervisor
OSv + JVM
App Server
Your App
OSvYour App
Traditional Stack Thin OS
Pimp my Memcached
Requests/s (higher is better)
Redis on Vitamins
Cassandra
Performance: Leave no stone unturned
Memory Huge pages, Heap vs Sys
I/O Zero copy, full aio, batching
Scheduling Lock free, low latency
Tuning Out of the box, auto
CPU Low cost ctx, Direct signals...
New TCP/IP Stack
Common kernel network stack
Net Channel design:
Value Proposition II: Manageability
OSv management interface
Stateless root-fs
4 VMs per sys admin ratio
NO TuningNO StateNO Patching
www.osv.io/Capstan:VM build and deploy● Docker-like config file● Takes about 3 seconds to build● Runs on any OS (written in Go)cat Capstanfilebase: cloudius/osv-openjdkcmdline: > /java.so -XX:+UseThreadPriorities -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=1 ... org.apache.cassandra.service.CassandraDaemonbuild: make
Deploying OSv at scaleOSV Cloud Init: - Stateless - Watch ma, no puppet/chef - Single (external) file to rule them all
files: /etc/config: | my config goes here
httpserver: ssl: yes port: 443
topology: - dc_name: DC1 racks: - rack_name: c1 nodes: - broadcast_address: 1.2.3.4 dc_local_address: 5.6.7.8
Some more OSv Goodies
rest-apiJolokia JVM
PaaS approach for runtimes
ZFS snapshots
Ruby, Node, Scala, more
Cloud Init
NewRelicinteg
JVMBallooning
~20MB image size
Ideal for multi tenants
Stateless, streamable config
70% better tcp latency
Runs on virtualBox, kvm, vmw, xen, ec2, gce
Public image repository
Thank you!Try it! http://osv.io/Run on public cloudFollow @CloudiusSystems
Top Related