108
Season 2 Episode 1 March 12, 2014

Netflix oss season 2 episode 1 - meetup Lightning talks

Embed Size (px)

Citation preview

Page 1: Netflix oss   season 2 episode 1 - meetup Lightning talks

Season 2 Episode 1March 12, 2014

Page 2: Netflix oss   season 2 episode 1 - meetup Lightning talks

Evening Outline

Lightning Talks:- S3mper- PigPen- STAASH- Dynomite- Aegisthus- Suro- Zeno

- Lipstick on GCE- AnsWerS- IBM- Coursera

Page 3: Netflix oss   season 2 episode 1 - meetup Lightning talks

41 projects… Now what?

● Cohesive platform

● Workshops / Training / Documentation

● Participate and contribute : [email protected]

Page 4: Netflix oss   season 2 episode 1 - meetup Lightning talks

Lightning talks

Page 5: Netflix oss   season 2 episode 1 - meetup Lightning talks

Lipstick, Hadoop, andBig Data on the Google CloudMatt BookmanSolutions Architect

Page 6: Netflix oss   season 2 episode 1 - meetup Lightning talks

Google Confidential and Proprietary

Google Compute Engine - VMs in Google Datacenters

● Public Preview - May 2013

● General Availability - December 2013

Page 7: Netflix oss   season 2 episode 1 - meetup Lightning talks

Google Confidential and Proprietary

Demo (Summer 2013): Pig on Compute Engine

Sweet demo!

Page 8: Netflix oss   season 2 episode 1 - meetup Lightning talks

Google Confidential and Proprietary

Netflix OSS Meetup - July 17, 2013

Page 9: Netflix oss   season 2 episode 1 - meetup Lightning talks

Google Confidential and Proprietary

Lipstick - Providing insights

Page 10: Netflix oss   season 2 episode 1 - meetup Lightning talks

Google Confidential and Proprietary

Page 11: Netflix oss   season 2 episode 1 - meetup Lightning talks

Google Confidential and Proprietary

Hadoop on GCE + Cloud Storage (GCS) Connector

Accenture:Cloud vs. Bare-Metal

● Cloud-based Hadoop deployments offer better price-performance ratios than bare-metal

● Cloud’s virtualization expands performance-tuning opportunities

● Using remote storage outperforms local disk HDFS

Page 12: Netflix oss   season 2 episode 1 - meetup Lightning talks

Google Confidential and Proprietary

Data in GCS, Lipstick DB in Cloud SQLGoogle Cloud Platform

Output Data

Lipstick Database

Hadoop Master

MapReduce JobTracker

Hadoop Worker

MapReduce TaskTrackerHadoop Worker

MapReduce TaskTrackerHadoop Worker

MapReduce TaskTrackerLipstick Server

Input Data

Page 13: Netflix oss   season 2 episode 1 - meetup Lightning talks

Google Confidential and Proprietary

● Netflix Lipstick on Google Compute Enginehttps://cloud.google.com/developers/articles/netflix-lipstick-on-google-compute-engine

● GCS Connector for Hadoophttps://developers.google.com/hadoop/google-cloud-storage-connector

● Cloud-based Hadoop Deployments: Benefits and Considerationshttp://www.accenture.com/SiteCollectionDocuments/PDF/Accenture-Cloud-Based-Hadoop-Deployments-Benefits-and-Considerations.pdf

● Apache Hadoop, Hive, and Pig on Google Compute Enginehttps://cloud.google.com/developers/articles/apache-hadoop-hive-and-pig-on-google-compute-engine

Resources

Page 14: Netflix oss   season 2 episode 1 - meetup Lightning talks

Google Confidential and Proprietary

Thank you

Page 15: Netflix oss   season 2 episode 1 - meetup Lightning talks

@Answers4AWS

Cloud Prize and Beyond

Peter Sankauskas@pas256

Page 16: Netflix oss   season 2 episode 1 - meetup Lightning talks

@Answers4AWS

March 2013

Page 17: Netflix oss   season 2 episode 1 - meetup Lightning talks

@Answers4AWS

First idea

• AsgardFormation

• CloudFormation for Asgard

Page 18: Netflix oss   season 2 episode 1 - meetup Lightning talks

@Answers4AWS

Page 19: Netflix oss   season 2 episode 1 - meetup Lightning talks

@Answers4AWS

Page 20: Netflix oss   season 2 episode 1 - meetup Lightning talks

@Answers4AWS

Requirements

• AsgardFormation

• Asgard running

• AWS Credentials

• IAM user

• Policy

• Security Group

• EC2 instance

• Asgard downloaded and configured

• Tomcat downloaded and configured

• Java downloaded and installed

• Linux configured

Page 21: Netflix oss   season 2 episode 1 - meetup Lightning talks

@Answers4AWS

Page 22: Netflix oss   season 2 episode 1 - meetup Lightning talks

@Answers4AWS

Asgard playbook

• Base

• Install usual Linux packages

• Basic system hardening and security packages

• Oracle Java 7

• Tomcat 7

• Asgard

• Latest release from GitHub

• Add BASIC authentication

Page 23: Netflix oss   season 2 episode 1 - meetup Lightning talks

@Answers4AWS

Other playbooks

• Eureka

• Edda

• Simian Army

• Ice

• Aminator

• Genie

Page 24: Netflix oss   season 2 episode 1 - meetup Lightning talks

@Answers4AWS

AMIs

• Initially built using my own scripts based on Eric Hammond’s (@esh) work

• Then using Aminator

• Created Ubuntu Foundation AMIs

• Added the Ansible Provisioner for Aminator

• Put a couple of them on the AWS Marketplace for free

Page 25: Netflix oss   season 2 episode 1 - meetup Lightning talks

@Answers4AWS

CloudFormation

• One-click deploy

• Well, about 10 going through the AWS Web Console wizard

• Designed to get you up and running quickly

• Test it out, see if you like it

• NOT production quality

• No real security

• No HA

• No scalability

Page 26: Netflix oss   season 2 episode 1 - meetup Lightning talks

@Answers4AWS

Page 27: Netflix oss   season 2 episode 1 - meetup Lightning talks

@Answers4AWS

What’s next?

Page 28: Netflix oss   season 2 episode 1 - meetup Lightning talks

@Answers4AWS

Do you do this? (this is not my slide)

Page 29: Netflix oss   season 2 episode 1 - meetup Lightning talks

@Answers4AWS

Page 30: Netflix oss   season 2 episode 1 - meetup Lightning talks

@Answers4AWS

Beta users

• From a successful CI build

• To a Fully Baked AMI

• Use in Testing and Production

• Without you doing anything

• ZERO clicks

• Signups are open

bakery.answersforaws.com

Page 31: Netflix oss   season 2 episode 1 - meetup Lightning talks

@Answers4AWS

Thank you

http://bakery.answersforaws.com/

[email protected]

See me at the demo station

Peter Sankauskas@pas256

Page 32: Netflix oss   season 2 episode 1 - meetup Lightning talks

IBM Scalable Services Fabricfor Netflix S2E1 Meetup

Andrew Spyker

@aspyker

Page 33: Netflix oss   season 2 episode 1 - meetup Lightning talks

History and Future

2012

SPECjEnterprise

2013

AcmeAir RunOn IBM Cloud at“Web Scale”

2014

Scalable ServicesFabric internally for

IBM Services

Scalable ServicesFabric SaaS and On-Prem?

Sample applicationcloud prize work

AcmeAir Cloud/MobileSample/Benchmark born

Codename: BlueMix

Portability cloudprize work

Page 34: Netflix oss   season 2 episode 1 - meetup Lightning talks

Scalable Service Fabric WorkNetflix OSS IBM port/enablement

Netflix “Zen” of Cloud • Worked with initial services to enable cloud native arch• Worked with initial services to enable NetflixOSS usages• Created scorecard and tests for “cloud native” readiness

Highly Available IaaS and Cloud Services

• Deployment across multiple IBM SoftLayer IaaS datacenters and global and local load balancers

• Complete automation via IBM SoftLayer IaaS API’s• Ensured facilities for automatic failure recovery

Micro-service Runtimes (Karyon, Eureka Client, Ribbon, Hystrix, Archaius)

• Ported to work with IBM SoftLayer IaaS and on the WebSphere Liberty Profile application server

• Created “eureka-sidecar” for non-Java runtimes and ElasticSearch discovery

Netflix OSS Servers(Asgard, Eureka Server, Turbine)

• Ported to work with IBM SoftLayer IaaS + RightScale• Operationalized HA and secure deployments for multiple service tenants

Adopted Chaos Testing • Ported Chaos Monkey to IBM SoftLayer IaaS• Performed manual Chaos Gorilla validation on services

Worked through devops tool chain

• Worked with initial services to enable continuous delivery with devops (and imagine baking via Animator like tool)

Page 35: Netflix oss   season 2 episode 1 - meetup Lightning talks

Come meet the team!Looks like … Tweets from … Talks about …

Adolfo @adolforod API Management and Cloud Integration, user of NetflixOSS platform. Appliances in the cloud.

Brian @bkmartin IBM BlueMix (PaaS), enabling composable apps in PaaS

Darrell IBM Research focusing on NetflixOSS devops and on-premise deployments

David @dcurrie WebSphere Liberty Profile application server NetflixOSS development and PaaS integration

Jonathan @ma4jpb NetflixOSS portability across many aspectsCloud messaging (in relation to Suro)

Matt @matrober API Management, user of NetflixOSS platformConverted service to be cloud native

Rachel @rreinitz IBM Services, interested in helping you get to this cloud native in SaaS and on-premise

Ricky @rickymoorhouse API Management, user of NetflixOSS platformCreator of Imaginator

Will @auwilli98 API Management operations, user of NetflixOSS platform

Page 36: Netflix oss   season 2 episode 1 - meetup Lightning talks

Priam + Aegisthus@CourseraNetflixOSS Meetup

Page 37: Netflix oss   season 2 episode 1 - meetup Lightning talks

Introduction@DanielChiaJH

Software Engineer, Infrastructure Team

Coursera

Page 38: Netflix oss   season 2 episode 1 - meetup Lightning talks

Overview• Philosophy

• Priam

• Aegisthus

• Conclusion

Page 39: Netflix oss   season 2 episode 1 - meetup Lightning talks

Philosophy• Architecture Patterns

• Use what we can

• Incorporate the spirit of others

Page 40: Netflix oss   season 2 episode 1 - meetup Lightning talks

Priam – Wins• Token Management

• S3 Backup + Restore

• Config

Page 41: Netflix oss   season 2 episode 1 - meetup Lightning talks

Priam – Next Steps?• SimpleDB -> DynamoDB

• Backups blow out OS disk buffer cache

• Compatibility with newer C* versions

Page 42: Netflix oss   season 2 episode 1 - meetup Lightning talks

Aegisthus - Wins• Novel workflow

• Data reduced to one authoritative copy

• Possibility for incremental jobs

Page 43: Netflix oss   season 2 episode 1 - meetup Lightning talks

Aegisthus – What Next?• C* 1.2 / 2.0

• CQL3

• Priam <–> Aegisthus

• Better compressed SSTable support

Page 44: Netflix oss   season 2 episode 1 - meetup Lightning talks

Conclusion• Come chat with me!

• Especially if you have similar goals to me

Page 45: Netflix oss   season 2 episode 1 - meetup Lightning talks

Zeno

● In-memory data distribution platform

● Contains tools for:○ data quality management○ data serialization

● We use it to distribute and keep up to date gigabytes of video metadata on tens of thousands of servers across the globe

Page 46: Netflix oss   season 2 episode 1 - meetup Lightning talks

ZenoWhy in-memory data?

- Netflix serves billions of requests per day

- Each request requires metadata about many movies to answer

Page 47: Netflix oss   season 2 episode 1 - meetup Lightning talks

Zeno

Netflix Use Case:● Gigabytes of in-memory data

● Hundreds of thousands of in-memory cache requests per second, per application instance

● Tens of thousands of application instances

Page 48: Netflix oss   season 2 episode 1 - meetup Lightning talks

DistributionFastBlob:

Binary serialization of a complete state of data, and/or the changes in data over time.

Serialization format designed to propagate, and keep up to date, a large amount of in-memory data across many servers.

Optimized for: memory GC effects, memory footprint, data transfer size, deserialization CPU usage

Page 49: Netflix oss   season 2 episode 1 - meetup Lightning talks

Data QualityDiff Reports - inspect data changes between releases

Page 50: Netflix oss   season 2 episode 1 - meetup Lightning talks

Data QualityDiff History - inspect changes in data over time

Page 51: Netflix oss   season 2 episode 1 - meetup Lightning talks

Zeno Framework

Data Schema (Serializers)

Operation (SerializationFramework)

Input Data (POJOs)

Output

Page 52: Netflix oss   season 2 episode 1 - meetup Lightning talks

Zeno Framework

Data Schema (Serializers)

Operation (SerializationFramework)

Input Data (POJOs)

Output

JsonSerializationFramework

HashSerializationFramework

DiffSerializationFramework

FastBlobStateEngine

Page 53: Netflix oss   season 2 episode 1 - meetup Lightning talks

Zeno BenefitsDevelopment Agility:● Easy to evolve data model, no need to change serialization formats or

operation logic● Easy to create new functionality, no need to think about data model

structure or semantics● Included “Diff” tools support high data quality across releases without too

much effort

Resource Efficiency:● Included “FastBlob” optimized for Netflix scale● Ask about in-development functionality!

Page 54: Netflix oss   season 2 episode 1 - meetup Lightning talks

Suro

Page 55: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 56: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 57: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 58: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 59: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 60: Netflix oss   season 2 episode 1 - meetup Lightning talks

To Be Processed in Different Ways

Page 61: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 62: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 63: Netflix oss   season 2 episode 1 - meetup Lightning talks

A Simple Solution That Supports All These

Page 64: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 65: Netflix oss   season 2 episode 1 - meetup Lightning talks

STAASHSTorage As A Service over Http

Page 66: Netflix oss   season 2 episode 1 - meetup Lightning talks

STAASH

Page 67: Netflix oss   season 2 episode 1 - meetup Lightning talks

STAASH● Storage-Agnostic● Language-Agnostic● REST Interface to data● Pattern Automation / Aware End Points● Wrapper Around Astyanax Recipes● Possibilities: Auditing, Cascading CL, Replication

across multiple storages, MapReduce …...many more..

Page 68: Netflix oss   season 2 episode 1 - meetup Lightning talks

Dynomite!!

Page 69: Netflix oss   season 2 episode 1 - meetup Lightning talks

Dynomite

● Cross AZ & Region replication to existing Key Value stores○ memcached○ Reddis

● Thin Dynamo implementation provides the replication

● Keep existing native KV protocol○ No code refactoring

Page 70: Netflix oss   season 2 episode 1 - meetup Lightning talks

Dynomite

Dynomite

memcached

Dynomite

memcached

App 1

AZ 1 AZ 2

Page 71: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 72: Netflix oss   season 2 episode 1 - meetup Lightning talks

What do all those events mean?

Page 73: Netflix oss   season 2 episode 1 - meetup Lightning talks

{“deviceid”: 12345, “action”: “played”, “titleid”: 99999}

Page 74: Netflix oss   season 2 episode 1 - meetup Lightning talks

{“deviceid”: 12345, “action”: “played”, “titleid”: 99999}

Device C*

12345: “PS3”

Page 75: Netflix oss   season 2 episode 1 - meetup Lightning talks

{“deviceid”: 12345, “action”: “played”, “titleid”: 99999}

Device C*

12345: “PS3”

Content C*

99999: “HOC”

Page 76: Netflix oss   season 2 episode 1 - meetup Lightning talks

Don’t hurt production/our customers

Page 77: Netflix oss   season 2 episode 1 - meetup Lightning talks

Device/Content C*

“My Devices”: {“PS3:HOC”:”12345:99999”}

?!?!?

Page 78: Netflix oss   season 2 episode 1 - meetup Lightning talks

Sometimes you just want all the data

Page 79: Netflix oss   season 2 episode 1 - meetup Lightning talks

C* Priam S3SSTables

Page 80: Netflix oss   season 2 episode 1 - meetup Lightning talks

S3SSTables

Move to HDFS*

Convert to JSON

Compact Rows

S3JSON

Page 81: Netflix oss   season 2 episode 1 - meetup Lightning talks

● A splittable input format for SSTables○ Need less files from the cluster.○ Faster - just deserializing/serializing the files.

● An input format for the JSON○ Allow incremental processing of backups

● A reducer that can compact SSTables.

Page 82: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 83: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 84: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 85: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 86: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 87: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 88: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 89: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 90: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 91: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 92: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 93: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 94: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 95: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 96: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 97: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 98: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 99: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 100: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 101: Netflix oss   season 2 episode 1 - meetup Lightning talks

Big Data Platform

Page 102: Netflix oss   season 2 episode 1 - meetup Lightning talks

Eventual Consistency

Page 103: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 104: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 105: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 106: Netflix oss   season 2 episode 1 - meetup Lightning talks
Page 107: Netflix oss   season 2 episode 1 - meetup Lightning talks

Focus on Performance

● Get your job running faster

● Understand why it was slow

● Transition to Hadoop 2

Page 108: Netflix oss   season 2 episode 1 - meetup Lightning talks