Running Ne)lix on Cassandra in the Cloud



Relaterede dokumenter
Project Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1

PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU

Portal Registration. Check Junk Mail for activation . 1 Click the hyperlink to take you back to the portal to confirm your registration

E-PAD Bluetooth hængelås E-PAD Bluetooth padlock E-PAD Bluetooth Vorhängeschloss

CS 4390/5387 SOFTWARE V&V LECTURE 5 BLACK-BOX TESTING - 2

The X Factor. Målgruppe. Læringsmål. Introduktion til læreren klasse & ungdomsuddannelser Engelskundervisningen

Engelsk. Niveau D. De Merkantile Erhvervsuddannelser September Casebaseret eksamen. og

IBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1

How Long Is an Hour? Family Note HOME LINK 8 2

Resource types R 1 1, R 2 2,..., R m CPU cycles, memory space, files, I/O devices Each resource type R i has W i instances.

Aktivering af Survey funktionalitet

Appendix 1: Interview guide Maria og Kristian Lundgaard-Karlshøj, Ausumgaard

DET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Index

QUICK START Updated:

QUICK START Updated: 18. Febr. 2014

Engelsk. Niveau C. De Merkantile Erhvervsuddannelser September Casebaseret eksamen. og

Basic statistics for experimental medical researchers

ECE 551: Digital System * Design & Synthesis Lecture Set 5

IPTV Box (MAG250/254) Bruger Manual

Sortering fra A-Z. Henrik Dorf Chefkonsulent SAS Institute

Shooting tethered med Canon EOS-D i Capture One Pro. Shooting tethered i Capture One Pro 6.4 & 7.0 på MAC OS-X & 10.8

Online kursus: Programming with MongoDB

Velkommen. Backup & Snapshot v. Jørgen Weinreich / Arrow ECS Technical Specialist

Trolling Master Bornholm 2012

Vina Nguyen HSSP July 13, 2008

Privat-, statslig- eller regional institution m.v. Andet Added Bekaempelsesudfoerende: string No Label: Bekæmpelsesudførende

Differential Evolution (DE) "Biologically-inspired computing", T. Krink, EVALife Group, Univ. of Aarhus, Denmark

Vores mange brugere på musskema.dk er rigtig gode til at komme med kvalificerede ønsker og behov.

Sport for the elderly

Velkommen til GeekNight

Userguide. NN Markedsdata. for. Microsoft Dynamics CRM v. 1.0

SAS USER FORUM DENMARK 2017 USER FORUM. Rune Nordtorp

Help / Hjælp

DANSK INSTALLATIONSVEJLEDNING VLMT500 ADVARSEL!

Black Jack --- Review. Spring 2012

Hvor er mine runde hjørner?

Dell Cloud Client Computing Hvordan virtualisere vi de tunge grafisk applikationer?

The SourceOne Family Today and Tomorrow. Michael Søriis Business Development Manager, EMC FUJITSU

LUL s Flower Power Vest dansk version

Exploring Subversive Eclipse SVN Team Provider

Vejledning til Sundhedsprocenten og Sundhedstjek

Online kursus: Content Mangement System - Wordpress

From innovation to market

Remember the Ship, Additional Work

Trolling Master Bornholm 2015

Opera Ins. Model: MI5722 Product Name: Pure Sine Wave Inverter 1000W 12VDC/230 30A Solar Regulator

DSB s egen rejse med ny DSB App. Rubathas Thirumathyam Principal Architect Mobile

DK - Quick Text Translation. HEYYER Net Promoter System Magento extension

Titel: Hungry - Fedtbjerget

how to save excel as pdf

Design til digitale kommunikationsplatforme-f2013

Valg af Automationsplatform

LESSON NOTES Extensive Reading in Danish for Intermediate Learners #8 How to Interview

Det er muligt at chekce følgende opg. i CodeJudge: og

INSTALLATION INSTRUCTIONS STILLEN FRONT BRAKE COOLING DUCTS NISSAN 370Z P/N /308960!

Bilag. Resume. Side 1 af 12

RoE timestamp and presentation time in past

BACK-END OG DATA: ADMINISTRATION HVAD ER DE NYE MULIGHEDER MED VERSION 7.1? STEFFEN BILLE RANNES, 4. FEBRUAR 2015

HACKERNE BLIVER BEDRE, SYSTEMERNE BLIVER MERE KOMPLEKSE OG PLATFORMENE FORSVINDER HAR VI TABT KAMPEN? MARTIN POVELSEN - KMD

l i n d a b presentation CMD 07 Business area Ventilation

Aggregation based on road topologies for large scale VRPs

Our activities. Dry sales market. The assortment

Cisco Cloud Networking. Cisco Meraki - En ny måde at lave netværk på Morten Rundager Solutions Specialist Cisco Danmark 29/

Vore IIoT fokus områder

Linear Programming ١ C H A P T E R 2

Online kursus: Google Cloud

MSE PRESENTATION 2. Presented by Srunokshi.Kaniyur.Prema. Neelakantan Major Professor Dr. Torben Amtoft

Trolling Master Bornholm 2015

Terese B. Thomsen 1.semester Formidling, projektarbejde og webdesign ITU DMD d. 02/

Sign variation, the Grassmannian, and total positivity

LEADit & USEit 2018 CampusHuset - Campus Bindslevs Plads i Silkeborg 25. Oktober 2018

IBM WebSphere Operational Decision Management

Titel: Barry s Bespoke Bakery

TM4 Central Station. User Manual / brugervejledning K2070-EU. Tel Fax

extreme Programming Kunders og udvikleres menneskerettigheder

PEMS RDE Workshop. AVL M.O.V.E Integrative Mobile Vehicle Evaluation

Agenda. Muligheder for anvendelse. Komponenter. Features. Restore muligheder. DR og TSM integration. Repository. Demo. Spørgsmål

Applications. Computational Linguistics: Jordan Boyd-Graber University of Maryland RL FOR MACHINE TRANSLATION. Slides adapted from Phillip Koehn

Central Statistical Agency.

On the complexity of drawing trees nicely: corrigendum

Danish Language Course for Foreign University Students Copenhagen, 13 July 2 August 2016 Advanced, medium and beginner s level.

Danish Language Course for International University Students Copenhagen, 12 July 1 August Application form

Bemærk, der er tale om ældre versioner af softwaren, men fremgangsmåden er uændret.

Accessing the ALCOTEST Instrument Upload Data - NJSP Public Website page -

Basic Design Flow. Logic Design Logic synthesis Logic optimization Technology mapping Physical design. Floorplanning Placement Fabrication

Improving data services by creating a question database. Nanna Floor Clausen Danish Data Archives

ALLROUND 360 ONE 360 ONE SOFT SQUARY BLOCKY OWI TUBO EASY B75 EASY B100

Grow. With the Leader. IBM Storwize v7000. v/lars Kok

Fejlbeskeder i SMDB. Business Rules Fejlbesked Kommentar. Validate Business Rules. Request- ValidateRequestRegist ration (Rules :1)

1 s01 - Jeg har generelt været tilfreds med praktikopholdet

Kalkulation: Hvordan fungerer tal? Jan Mouritsen, professor Institut for Produktion og Erhvervsøkonomi

CLARIN-DK Status. info.clarin.dk. Bente Maegaard. National Coordinator Vice Executive Director

Website review groweasy.dk

Brugsanvisning. Installation Manual

CHAPTER 8: USING OBJECTS

Before you begin...2. Part 1: Document Setup...3. Part 2: Master Pages Part 3: Page Numbering...5. Part 4: Texts and Frames...

High-Performance Data Mining med SAS Enterprise Miner 14.1

Læs venligst Beboer information om projekt vandskade - sikring i 2015/2016

Projekt DATA step view

ETL Benchmarks. Version corrigée V 1.1. Comparing. DATASTAGE SERVER 7.5 DATASTAGE PX 7.5 TALEND OPEN STUDIO INFORMATICA 8.1.

Transkript:

røde x stadig vises, skal du muligvis slette billedet og indsætte det igen. Running Ne)lix on in the Cloud Adrian Cockcroft @adrianco Netflix Inc.!

www.ne%lix.com in DK

Blah Blah Blah (I m skipping all the cloud intro etc. did that yesterday Ne%lix runs in the cloud, if you hadn t figured that out already you aren t paying acendon and should go read slideshare.net/ne%lix)

Ne%lix Deployed on AWS 2009 2009 2010 2010 2010 2011 Content Logs Play WWW API CS Content Management S3 Terabytes DRM Sign- Up Metadata InternaDonal CS lookup EC2 Encoding EMR CDN roudng Search Device Config DiagnosDcs & AcDons S3 Petabytes Hive & Pig Bookmarks Movie Choosing TV Movie Choosing Customer Call Log CDNs ISPs Terabits Customers Business Intelligence Logging RaDngs Social Facebook CS AnalyDcs

on AWS A highly available and durable deployment pacern

Service PaCern Service REST Clients Cluster Managed by Priam Between 6 and 72 nodes Data Access REST Service Astyanax Client Datacenter Update Flow Appdynamics Service Flow VisualizaDon

ProducDon Deployment Over 50 Clusters Over 500 nodes Over 30TB of daily backups Biggest cluster 72 nodes 1 cluster over 250Kwrites/s

High Availability stores 3 local copies, 1 per zone Synchronous access, durable, highly available Read/Write One fastest, use for fire and forget Read/Write Quorum 2 of 3, use for read- ader- write AWS Availability Zones Separate buildings Separate power etc. Fairly close together

Triple Replicated Persistence maintenance drops individual replicas Load Balancers Zone A and Evcache Replicas Zone B and Evcache Replicas Zone C and Evcache Replicas

Instance Architecture Linux Base AMI (CentOS) Priam Manager Token Management, Backups, Autoscaling Tomcat/Java7 Monitoring Log rotadon AppDynamics machineagent Etc. Java7 AppDynamics appagent monitoring GC and thread dump logging 1.09

Priam AutomaDon Available at hcp://github.com/ne%lix Ne%lix Pla%orm Tomcat Code Zero touch auto- configuradon State management for JVM Token allocadon and assignment Broken node auto- replacement Full and incremental backup to S3 Restore sequencing from S3 Grow/Shrink ring

Astyanax Available at hcp://github.com/ne%lix Features Complete abstracdon of connecdon pool from RPC protocol Fluent Style API OperaDon retry with backoff Token aware Recipes Distributed row lock (without zookeeper) MulD- DC row lock Uniqueness constraint MulD- row uniqueness constraint Chunked and muld- threaded large file storage

Astyanax Query Example Paginate through all columns in a row ColumnList<String> columns; int pageize = 10; try { RowQuery<String, String> query = keyspace.preparequery(cf_standard1).getkey("a").setispaginadng().withcolumnrange(new RangeBuilder().setMaxSize(pageize).build()); while (!(columns = query.execute().getresult()).isempty()) { for (Column<String> c : columns) { } } } catch (ConnecDonExcepDon e) { }

TradiDonal Write Data Flows Single Region, MulDple Availability Zone, Not Token Aware 1. Client Writes to any Node 2. Coordinator Node replicates to nodes and Zones 3. Nodes return ack to coordinator 4. Coordinator returns ack to client 5. Data wricen to internal commit log disk (no more than 10 seconds later) 5 Zone C Zone B 3 Zone A 2 4 1 Non Token Aware Clients Zone A 3 2 2 5 3 5 Zone B Zone C If a node goes offline, hinted handoff completes the write when the node comes back up. Requests can choose to wait for one node, a quorum, or all nodes to ack the write SSTable disk writes and compacdons occur asynchronously

Astyanax - Write Data Flows Single Region, MulDple Availability Zone, Token Aware Zone A 1. Client Writes to local coordinator 2. Coodinator writes to other zones 3. Nodes return ack 4. Data wricen to internal commit log disks (no more than 10 seconds later) 4 Zone C Zone B 3 1 Token Aware Clients Zone A 4 3 2 3 Zone B 2 4 Zone C If a node goes offline, hinted handoff completes the write when the node comes back up. Requests can choose to wait for one node, a quorum, or all nodes to ack the write SSTable disk writes and compacdons occur asynchronously

Data Flows for MulD- Region Writes Token Aware, Consistency Level = Local Quorum 1. Client writes to local replicas 2. Local write acks returned to Client which condnues when 2 of 3 local nodes are commiced 3. Local coordinator writes to remote coordinator. 4. When data arrives, remote coordinator node acks and copies to other remote zones 5. Remote nodes ack to local coordinator 6. Data flushed to internal commit log disks (no more than 10 seconds later) 6 Zone C Zone B 2 If a node or region goes offline, hinted handoff completes the write when the node comes back up. Nightly global compare and repair jobs ensure everything stays consistent. Zone A 1 US Clients Zone A 2 Zone B Zone C 6 3 2 6 100+ms latency 5 Zone C Zone B Zone A 4 6 4 6 Zone B 4 EU Clients 6 Zone A 5 Zone C

Extending to MulD- Region Added producdon UK/Ireland support with no downdme Minimize impact on original cluster using bulk backup move 1. Create cluster in EU 2. Backup US cluster to S3 3. Restore backup in EU 4. Local repair EU cluster 5. Global repair/join Take a Boeing 737 on a domesdc flight, upgrade it to a 747 by adding more engines, fuel and bigger wings and fly it to Europe without landing it on the way Zone A 100+ms latency Zone A 1 Zone C US Clients Zone B 5 Zone C EU Clients Zone B Zone B Zone C Zone B Zone C 2 Zone A S3 3 Zone A 4

Backup Full Backup Time based snapshot SSTable compress - > S3 Incremental SSTable write triggers compressed copy to S3 Archive Copy cross region A S3 Backup

Explorer Open source on github soon

ETL for Data is de- normalized over many clusters! Too many to restore from backups for ETL SoluDon read backup files using Hadoop Aegisthus hcp://techblog.ne%lix.com/2012/02/aegisthus- bulk- data- pipeline- out- of.html High throughput raw SSTable processing Re- normalizes many clusters to a consistent view Extract, Transform, then Load into Teradata

Asgard hcp://techblog.ne%lix.com/2012/06/asgard- web- based- cloud- management- and.html Replacement for AWS Console at Scale Groovy/Grails/JVM based Supports all AWS regions on a global basis Specific to AWS feature set Hides the AWS credendals Use AWS IAM to issue restricted keys for Asgard Each Asgard instance manages one account One install each for test, prod, audit accounts

Open Source Projects Legend Github / Techblog Apache ContribuDons Techblog Post Coming Soon Priam as a Service Astyanax client for Java CassJMeter test suite Exhibitor Zookeeper as a Service Curator Zookeeper PaCerns EVCache Memcached as a Service Servo and Autoscaling Scripts Honu Log4j streaming to Hadoop Circuit Breaker Robust service pacern MulD- region EC2 datastore support Eureka / Discovery Service Directory Asgard - AutoScaleGroup based AWS console Aegisthus Hadoop ETL for Archaius Dynamics ProperDes Service Chaos Monkey Robustness verificadon Explorers EntryPoints Latency Monkey Governator - Library lifecycle and dependency injecdon Server- side latency/error injecdon Janitor Monkey Odin Workflow orchestradon REST Client + mid- Der LB Bakeries and AMI Async logging ConfiguraDon REST endpoints Build dynaslaves

Benchmarks and Scalability

Scalability from 48 to 288 nodes on AWS hcp://techblog.ne%lix.com/2011/11/benchmarking- cassandra- scalability- on.html 1200000 1000000 Client Writes/s by node count Replica?on Factor = 3 1099837 800000 600000 400000 366828 537172 Used 288 of m1.xlarge 4 CPU, 15 GB RAM, 8 ECU 0.86 Benchmark config only existed for about 1hr 200000 0 174373 0 50 100 150 200 250 300 350

Some people skate to the puck, I skate to where the puck is going to be Wayne Gretzky

on AWS The Past Instance: m2.4xlarge Storage: 2 drives, 1.7TB CPU: 8 Cores, 26 ECU RAM: 68GB Network: 1Gbit IOPS: ~500 Throughput: ~100Mbyte/s Cost: $1.80/hr The Future Instance: hi1.4xlarge Storage: 2 SSD volumes, 2TB CPU: 8 HT cores, 35 ECU RAM: 64GB Network: 10Gbit IOPS: ~100,000 Throughput: ~1Gbyte/s Cost: $3.10/hr

Disk vs. SSD Benchmark Same Throughput, Lower Latency, Half Cost

Things we don t do

Things we do do. Run benchmarks. Live on stage. (but this Dme it s a recording).

YOLO

Live Demo Workload Jenkins automadon Jmeter load driver Asgard provisioning Priam instance management Traffic Reading/wriDng whole 100 column rows Randomly selected from 25M row keys Run for 10minutes, then double ring size

Screenshots from Live Demo Summit 2012 last July Live on stage demo

Asgard cass_perf apps, with no instances running

Jenkins Jenkins perf_test jobs

Jmeter Setup Build parameters

Jmeter Setup Build parameters

Jmeter Setup Build parameters

Asgard IiniDal set of cass instances up and running

Kiklos (open source soon) Clusters growing from 12 to 24 in- service, bootstrapping, garbage- collecdng, cass- down hcp://explorers.us- east- 1.dyntest.ne%lix.net: 7001/jr/cassandradashboard

Kiklos Clusters growing from 12 to 24 in- service, bootstrapping, garbage- collecdng, cass- down

Disclaimers We didn t have Dme to tune the demo These are the plots from the live demo run Run s need to be longer to get to steady state Data size only reached around 5GB per node Plenty of I wonder why it did that remains It s a fair comparison, but not the best absolute performance possible for this workload and configuradon When you remove the IO bocleneck, the next few boclenecks appear

AcDvity during the talk 10:30-11:30 Custom AppDynamics dashboard showing CPU and IOPS per node

Jmeter Plots Plots are the output of the Jenkins build Each instance has its own set of plots Each availability zone has its own summary plots One of the three zone summary plots is compared for each metric Plot collecdon is currently duplicated as we are transidoning from Epic to Atlas

Jenkins Collected results and graphs ader job has completed

The past m2.4xlarge Instances per zone The future hi1.4xlarge

The past m2.4xlarge TransacDons per zone, same as total client transacdons The future hi1.4xlarge

The past m2.4xlarge The future hi1.4xlarge

The past m2.4xlarge Thousands of Microseconds The future hi1.4xlarge

The past m2.4xlarge Microseconds The future hi1.4xlarge

The past m2.4xlarge The future hi1.4xlarge

The past m2.4xlarge The future hi1.4xlarge

Next Steps Migrate ProducDon to SSD Several clusters done ~100 SSD nodes running Autoscale using Priam 1.2 Vnodes make this easier Shrink cluster every night

Skynet A Ne%lix Hackday project that might just terminate the world (hack currently only implemented in Powerpoint luckly)

The Plot (kinda) Skynet is a sendent computer that defends itself when people try to turn it off Connor is the guy who eventually turns it off Terminator is the robot sent to kill Connor

The Hacktors Cass_skynet is a cluster that detects that it is being acacked and responds Connor_monkey kills cass_skynet nodes Terminator_monkey kills connor_monkey nodes

The HackDon Cass_skynet stores a history of its world and acdon scripts that trigger from what it sees AcDon response to losing a node Auto- replace node and grow cluster size by one AcDon response to losing more nodes Replicate cluster into a new zone or region AcDon response to seeing a Connor_monkey Startup a Terminator_monkey in that zone

ImplementaDon (plan) Priam Autoreplace missing nodes Grow cass_skynet cluster Increase replicadon to new zone (new code) Increase replicadon to new region (new code) Keyspaces AcDons scripts to be run Memory record event log of everything seen Cron job once a minute Extract acdons from and execute Chaos Monkey configuradon Terminator_monkey: pick a zone, kill any connor_monkey Connor_monkey: kill any cass_skynet or terminator_monkey

SimulaDon

Takeaway Ne-lix has built and deployed a scalable global pla-orm based on and AWS. Key components of the Ne-lix PaaS are being released as Open Source projects so you can build your own custom PaaS. SSD s in the cloud are awesome. hcp://github.com/ne%lix hcp://techblog.ne%lix.com hcp://slideshare.net/ne%lix hcp://www.linkedin.com/in/adriancockcrod @adrianco #ne%lixcloud #cassandra12