netflix open source meetup season 4 episode 1

41
Netflix Open Source Season 4, Episode 1 Feb 2016

Upload: aspyker

Post on 16-Apr-2017

15.049 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Netflix Open Source Meetup Season 4 Episode 1

Netflix Open SourceSeason 4, Episode 1

Feb 2016

Page 2: Netflix Open Source Meetup Season 4 Episode 1

Agenda

● Welcome● Netflix Open Source Evolution

○ @aspyker● Spinnaker

○ @ajordens, @mjduftler, @rcarunmsft, @dstengle● Demo stations and reception

Page 3: Netflix Open Source Meetup Season 4 Episode 1

Open Source since 2010● Architecture has shaped public cloud usage

○ Immutability, red/black deploys, chaos, regional and worldwide high availability

● 102 Open Source Projects in Netflix org

Page 4: Netflix Open Source Meetup Season 4 Episode 1

Showing some age● Across our projects

● Open issues○ Astyanax (148), Asgard (106), Ice (74),

Total (1631)

● Open pull requests○ Astyanax (44), Ice (23), Asgard (18),

Total (258)

● Some issues & PR’s have been around for a while

Open Issues Per Project

Open PR’s Per Project

Page 5: Netflix Open Source Meetup Season 4 Episode 1

What are we doing to evolve?

● Establish ownership and group logically○ Management and engineering aligned with business

● Classify projects into lifecycles○ Clearly identify active vs. retired projects○ Clearly identify experimental projects

● Track active projects○ Actively work to improve project “health”

Page 6: Netflix Open Source Meetup Season 4 Episode 1

Establish Ownership and Grouping

● Consistency across related projects

● Document how area fits together

● Focus on OSS health of functional area

OSS Area Shepherds

Page 7: Netflix Open Source Meetup Season 4 Episode 1

Already taking action

● Astyanax, Asgard, ICE are either not used or being transitioned away

● Starting to document this better

Page 8: Netflix Open Source Meetup Season 4 Episode 1

● OSSMETADATA tagging fileosslifecycle=active | maintenance | archived

● You can see these today○ Eventually badges in README.md

● Allows for a tool to automate lifecycle verification

How do we automate this?

Page 9: Netflix Open Source Meetup Season 4 Episode 1

Our Dashboard: Netflix OSS Tracker

OSS TrackerNightly Jobs

Project Ownership Database

Time SeriesProject Statistics

OSS TrackerConsole

● Collects metrics on every project every day● Allows shepherds to see combined stats for their area● Allows project owners to see daily metrics

Whitepages Service

Page 10: Netflix Open Source Meetup Season 4 Episode 1

github.com/Netflix/osstracker

Page 11: Netflix Open Source Meetup Season 4 Episode 1

OSS Tracker Future (Want to help?)

● Pluggable whitepages & database systems● Collect more metrics from github

○ Time bucketed (last 60 days vs. forever)○ Internal vs. external contributors○ Tagging to allow for issues as features, etc.

● Create single consumable health score● Emailing reports to shepherds and owners● Better user interface

Page 12: Netflix Open Source Meetup Season 4 Episode 1
Page 13: Netflix Open Source Meetup Season 4 Episode 1

The Netflix Continuous Delivery PlatformDevelopment began in 2014Open sourced 11/2015

Spinnaker

Page 14: Netflix Open Source Meetup Season 4 Episode 1

Evolution of CD at Netflix

Asgard

Open Sourced in 2012

Was the primary deployment tool until 2015

A better AWS Console

Codified Conventions- Red/Black- Naming

Pitfalls

Single Account

No first-class API

Mimir

Internal Netflix

Script Support (Jenkins)

Flexible Workflows

Used the “Asgard API”

Edge Center

Internal Netflix

Canaries

Automation

Spinnaker

Application-centric UI

Flexible Pipelines

RESTful API

Multi Account

Canaries (Netflix-only)

https://www.flickr.com/photos/spidermandragon5/2922128673

Page 15: Netflix Open Source Meetup Season 4 Episode 1

● Intuitive UI (Self-service)● Moving Beyond Simple Red/Black● Out-of-the-box Best Practices

!! Community Participation !!

Goals

Page 16: Netflix Open Source Meetup Season 4 Episode 1

Abstraction

UI Components

Pipeline Stages

Page 17: Netflix Open Source Meetup Season 4 Episode 1
Page 18: Netflix Open Source Meetup Season 4 Episode 1

Let’s Take a Tour

Page 19: Netflix Open Source Meetup Season 4 Episode 1
Page 20: Netflix Open Source Meetup Season 4 Episode 1
Page 21: Netflix Open Source Meetup Season 4 Episode 1
Page 22: Netflix Open Source Meetup Season 4 Episode 1

Contain

er

Suppor

t

PluggableComponentsUI and Services

DeclarativeContinuousDelivery

Perform

ance

Documentatio

n

Community Site /

Whitepapers /

FAQ

Page 23: Netflix Open Source Meetup Season 4 Episode 1

● Netflix and Spinnaker principles align with Google’s

○ Massive infrastructure, services at scale

○ Immutable infrastructure○ Continuous delivery○ Traceability○ Self-service tools

Why is Google investing in Spinnaker?

Page 24: Netflix Open Source Meetup Season 4 Episode 1

● >30,000 developers in 40+ offices● 13,000+ projects under active development● 30k submissions per day (1 every 3 seconds)● Single monolithic code tree with mixed language code● Development on one branch - submissions at head● All builds from source● 30+ sustained code changes per minute with 90+ peaks● 50% of code changes monthly● 150+ million test cases / day, > 150 years of test / day● Supports continuous deployment for all Google teams!

Internal Google Development

Page 25: Netflix Open Source Meetup Season 4 Episode 1

● Developing out GCP toolset● Our internal platform and tooling is container

oriented● Spinnaker is a great starting point for VM

oriented tooling● Build out functionality by contributing to OSS

that aligns with our practices and goals○ Bazel, Kubernetes, ...

Google Cloud Platform

Page 26: Netflix Open Source Meetup Season 4 Episode 1

Let’s See it in Action

Page 27: Netflix Open Source Meetup Season 4 Episode 1
Page 28: Netflix Open Source Meetup Season 4 Episode 1
Page 29: Netflix Open Source Meetup Season 4 Episode 1
Page 30: Netflix Open Source Meetup Season 4 Episode 1
Page 31: Netflix Open Source Meetup Season 4 Episode 1

MAKENEXTPOSSIBLE

Page 32: Netflix Open Source Meetup Season 4 Episode 1

● Professional Services NetflixOSS○ Microservices and Cloud

● Spinnaker Launch Contribs○ Installation and VM Images○ Docs

Kenzan & Spinnaker

Page 34: Netflix Open Source Meetup Season 4 Episode 1

● Reduce Complexity of a true E2E Spinnaker CD Setup

● Support AWS and GCP

Terraform Spinnaker

Page 36: Netflix Open Source Meetup Season 4 Episode 1

What you get● Spinnaker● Jenkins● Apt repo● Networking● Example App● Jobs and Pipelines

Page 38: Netflix Open Source Meetup Season 4 Episode 1

What’s Next● Productionized Terraform

Deployment● More sophisticated continuous

deployment pipeline examples

Page 39: Netflix Open Source Meetup Season 4 Episode 1

Demo Stations

● Spinnaker○ Snag Spinnaker stickers○ Netflix Spinnaker demos○ See Google-Spinnaker integration○ Meet the Azure team

● Kenzan○ Spinnaker Terraform demo○ Learn about their NetflixOSS consulting

Page 40: Netflix Open Source Meetup Season 4 Episode 1

Demo Stations

Come hear about Dynomite updates● Dynamo layer to make a non-distributed

data store into distributed○ Redis/memcache, HA scale-out, encrypted cross-region replication

● Quorum consistency● Data warm up● Speed improvements in latest release

○ 12 Dynomite nodes >1M OPS

Page 41: Netflix Open Source Meetup Season 4 Episode 1

Wrapup

● Thanks for attending!

● Join us for○ Food and drinks○ Demo stations