apache curator: past, present and future

30
Apache Curator Past, Present, Future Jordan Zimmerm jordan@jordanzimmerman. @randg http://www.linkedin.com/in/jordanzimmer http://aisallc.

Upload: jordan-zimmerman

Post on 14-Jun-2015

826 views

Category:

Software


0 download

DESCRIPTION

My presentation on Apache Curator, Past, Present and Future at the Bay Area ZooKeeper User Group Meetup, November 6, 2014 - http://www.meetup.com/zookeeperusergroup/events/210813812

TRANSCRIPT

Page 1: Apache Curator: Past, Present and Future

Apache Curator™

Past, Present, Future

Jordan [email protected]

@randgalthttp://www.linkedin.com/in/jordanzimmerman

http://aisallc.com

Page 2: Apache Curator: Past, Present and Future

Introduction

Page 3: Apache Curator: Past, Present and Future

About Me• Netflix Platform Team April 2011 – July 2013

• Started the Netflix OSS initiative

• Created the Netflix OSS Web Portal

• Currently Independent Contractor

• Lives in Panamá City, Panamá (!)

• Current contract: Blue Jeans NetworkPanamá City!

Page 4: Apache Curator: Past, Present and Future

Curator’s History• Initially developed by me at Netflix

• Open-sourced by Netflix on GitHub in July 2011

• Accepted into the Apache Incubator in March 2013

• Curator graduated to an Apache Top Level Project in September, 2013

Page 5: Apache Curator: Past, Present and Future

State of the Project

Page 6: Apache Curator: Past, Present and Future

Since Last Presentation

• Feb 2012?

• Apache

• Lots of bug fixes, new features, etc.

• Lots of adoption

• More than 10 releases

Page 7: Apache Curator: Past, Present and Future

Move to Apache• Apache verb |əˈpaSH, äˈpäSH|

Native American word meaning “slow down”

Page 8: Apache Curator: Past, Present and Future

Move to Apache• Apache verb |əˈpaSH, äˈpäSH|

Native American word meaning “slow down”

• Huge Success

• Adoption Skyrocketed

• Thank you to Patrick Hunt for championing

😄

Page 9: Apache Curator: Past, Present and Future

Lots of Users

Page 10: Apache Curator: Past, Present and Future

Lots of Posts

Page 11: Apache Curator: Past, Present and Future

Curator Gets an Entire Chapter in the ZK Book!

Page 12: Apache Curator: Past, Present and Future

Widely Adopted - Apache

• Apache Storm

• Apache Drill

• Apache Oozie

• Apache Spark

• Apache Flume

• Apache Hive

• ???

Page 13: Apache Curator: Past, Present and Future

Widely Adopted - Others

• Netflix (of course)

• Maginatics (now EMC)

• Bazaarvoice

• eBay

• General Electric

• Wix

• Spring

• Nirmata

Page 14: Apache Curator: Past, Present and Future

Widely Adopted - Others

• Netflix (of course)

• Maginatics (now EMC)

• Bazaarvoice

• eBay

• General Electric

• Wix

• Spring

• Nirmata

I KNOW THERE ARE LOTS MORE

LET US KNOW WHO YOU ARE!

Page 15: Apache Curator: Past, Present and Future

What’s New

Page 16: Apache Curator: Past, Present and Future

New Committers

• Scott Blum

• Cameron McKenzie

Page 17: Apache Curator: Past, Present and Future

Cameron McKenzieI'm a software engineer / architect and live in Hobart, Australia with my partner and our 5 1/2 year old daughter. I graduated from the Royal Melbourne Institute of Technology in 1999 with a Bachelors of Applied Science (Computer Science) and have been working for Unico, a Melbourne based IT company, ever since. I've primarily worked in the Telco space, dealing with call handling and provisioning systems with high throughput requirements and 5 9's reliability.

I became involved with Curator and ZooKeeper when implementing a system for coordinating application functions across geographically separated application instances.

In my spare time I like to climb rocks and run up hills.

Page 18: Apache Curator: Past, Present and Future

Scott Blum

I'm a software engineer at Square, Inc since 2012, working on highly available system and infrastructure.  I got involved with Curator and Zookeeper while working on shared systems for cluster-level leases, locks, and other coordination data that was previously kept in databases.  Prior to Square, I was at Google for 7 years, where my main claim to fame is Google Web Toolkit (GWT) where I was the main developer on the Java-to-Javascript compiler, debugging environment, and JRE emulation libraries.

Page 19: Apache Curator: Past, Present and Future

The Entire Team

Committer/PMC PMC

• Jordan Zimmerman

• Jay Zarfoss

• Eric Tschetter

• Ioannis Canellos

• Cameron McKenzie

• Scott Blum

• Patrick Hunt

• Mahadev Konar

• Luciano Resende

• Enis Söztutar

Page 20: Apache Curator: Past, Present and Future

Notable New(ish) Recipes

• Tree Cache

• Persistent Ephemeral Node

• Node Cache

Page 21: Apache Curator: Past, Present and Future

Service Discovery

• One of the most widely used Curator recipes!

Page 22: Apache Curator: Past, Present and Future

Don’t Forget - It’s a Framework for Writing

Recipes

• Connection management

• Tons of utilities

• Simplifies most use-cases

Page 23: Apache Curator: Past, Present and Future

Apache Curator 2.7.0

Page 24: Apache Curator: Past, Present and Future

Apache Curator 2.7.0

Our Biggest Release Yet!

Page 25: Apache Curator: Past, Present and Future

Curator RPC Proxy• Gives access to Curator to non JVM

languages/environments

• Organizations can unify their ZooKeeper usage across languages/environments (i.e. use Curator's Service Discovery recipe)

• The quality of ZooKeeper clients for some non-JVM languages is lacking

• There are Thrift implementations for a large number of languagesand environments

Page 26: Apache Curator: Past, Present and Future

Nirmata Workflow• Nirmata Workflow is a Java Apache ZooKeeper and Apache Curator based

library that enables distributed task workflows.

• Can model simple to complex task relationships

• Manages task relationships and distributed scheduling

• Idempotent and non-idempotent tasks supported

• Custom task-types can be defined and targeted to specific servers

• Simple API

• Supports runtime cluster changes

• No single point of failure

• http://nirmataoss.github.io/workflow/

Page 27: Apache Curator: Past, Present and Future

The Future

Page 28: Apache Curator: Past, Present and Future

ZooKeeper 3.5.x Support

• Curator will fully support dynamic reconfig: CURATOR-160

• Curator will fully support watcher removal: CURATOR-161

• Investigating if Curator needs to do anything for local sessions: CURATOR-162

• We want to hear from the community if there’s anything else we need to do

Page 29: Apache Curator: Past, Present and Future

Other Stuff

• Java 8?

• Rework some of the APIs (get rid of KeeperException, e.g.)

• More recipes

• More committers (could use 1 or 2 more)

Page 30: Apache Curator: Past, Present and Future

Thank you!

Q&A

Jordan [email protected]@randgalthttp://www.linkedin.com/in/jordanzimmermanhttp://aisallc.com