SlideShare a Scribd company logo
Apache Curator™ 
Past, Present, Future 
Jordan Zimmerman 
jordan@jordanzimmerman.com 
@randgalt 
http://www.linkedin.com/in/jordanzimmerman 
http://aisallc.com
Introduction
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 Network 
Panamá City!
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
State of the Project
Since Last Presentation 
• Feb 2012? 
• Apache 
• Lots of bug fixes, new features, etc. 
• Lots of adoption 
• More than 10 releases
Move to Apache 
• Apache verb |əˈpaSH, äˈpäSH| 
Native American word meaning “slow down”
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
Lots of Users
Lots of Posts
Curator Gets an Entire 
Chapter in the ZK Book!
Widely Adopted - Apache 
• Apache Storm 
• Apache Drill 
• Apache Oozie 
• Apache Spark 
• Apache Flume 
• Apache Hive 
• ???
Widely Adopted - Others 
• Netflix (of course) 
• Maginatics (now EMC) 
• Bazaarvoice 
• eBay 
• General Electric 
• Wix 
• Spring 
• Nirmata
Widely Adopted - Others 
• Netflix (of course) 
• Maginatics (now EMC) 
• Bazaarvoice 
• eBay 
• General Electric 
• Wix 
• Spring 
• Nirmata
What’s New
New Committers 
• Scott Blum 
• Cameron McKenzie
Cameron McKenzie 
I'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.
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.
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
Notable New(ish) Recipes 
• Tree Cache 
• Persistent Ephemeral Node 
• Node Cache
Service Discovery 
• One of the most widely used Curator recipes!
Don’t Forget - It’s a Framework 
for Writing Recipes 
• Connection management 
• Tons of utilities 
• Simplifies most use-cases
Apache Curator 2.7.0
Apache Curator 2.7.0
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 languages 
and environments
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/
The 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
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)
Thank you! 
Q&A 
Jordan Zimmerman 
jordan@jordanzimmerman.com 
@randgalt 
http://www.linkedin.com/in/jordanzimmerman 
http://aisallc.com

More Related Content

What's hot

OSGifying the repository
OSGifying the repositoryOSGifying the repository
OSGifying the repository
Jukka Zitting
 
Introduction To Perl - SpringPeople
Introduction To Perl - SpringPeopleIntroduction To Perl - SpringPeople
Introduction To Perl - SpringPeople
SpringPeople
 
eCAP Developer Walkthru
eCAP Developer WalkthrueCAP Developer Walkthru
eCAP Developer Walkthru
Robert Patt-Corner
 
OpenStack London Meetup, 18 Nov 2015
OpenStack London Meetup, 18 Nov 2015OpenStack London Meetup, 18 Nov 2015
OpenStack London Meetup, 18 Nov 2015
Jesse Pretorius
 
Inside Solr 5 - Bangalore Solr/Lucene Meetup
Inside Solr 5 - Bangalore Solr/Lucene MeetupInside Solr 5 - Bangalore Solr/Lucene Meetup
Inside Solr 5 - Bangalore Solr/Lucene Meetup
Shalin Shekhar Mangar
 
High Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance TuningHigh Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance Tuning
Albert Chen
 
Architecture of Falcon, a new chat messaging backend system build on Scala
Architecture of Falcon,  a new chat messaging backend system  build on ScalaArchitecture of Falcon,  a new chat messaging backend system  build on Scala
Architecture of Falcon, a new chat messaging backend system build on Scala
TanUkkii
 
Introducing Puppet - The faster speed of Automation
Introducing Puppet - The faster speed of AutomationIntroducing Puppet - The faster speed of Automation
Introducing Puppet - The faster speed of Automation
Ramit Surana
 
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?
PROIDEA
 
Flying to clouds - can it be easy? Cloud Native Applications
Flying to clouds - can it be easy? Cloud Native ApplicationsFlying to clouds - can it be easy? Cloud Native Applications
Flying to clouds - can it be easy? Cloud Native Applications
Jacek Bukowski
 
Zeppelin meetup 2016 madrid
Zeppelin meetup 2016 madridZeppelin meetup 2016 madrid
Zeppelin meetup 2016 madrid
Jongyoul Lee
 
Aem maintenance
Aem maintenanceAem maintenance
Aem maintenance
Ashokkumar T A
 
What's new in Solr 5.0
What's new in Solr 5.0What's new in Solr 5.0
What's new in Solr 5.0
Anshum Gupta
 
Bulk Export Tool for Alfresco
Bulk Export Tool for AlfrescoBulk Export Tool for Alfresco
Bulk Export Tool for Alfresco
Richard McKnight
 
Eron Wright - Introducing Flink on Mesos
Eron Wright - Introducing Flink on MesosEron Wright - Introducing Flink on Mesos
Eron Wright - Introducing Flink on Mesos
Flink Forward
 
Splunk Java Agent
Splunk Java AgentSplunk Java Agent
Splunk Java Agent
Damien Dallimore
 
Kafka connect 101
Kafka connect 101Kafka connect 101
Kafka connect 101
Whiteklay
 
Monitoring docker container and dockerized applications
Monitoring docker container and dockerized applicationsMonitoring docker container and dockerized applications
Monitoring docker container and dockerized applications
Ananth Padmanabhan
 
SolrCloud Cluster management via APIs
SolrCloud Cluster management via APIsSolrCloud Cluster management via APIs
SolrCloud Cluster management via APIs
Anshum Gupta
 
Training Slides: 303 - Replicating out of a Cluster
Training Slides: 303 - Replicating out of a ClusterTraining Slides: 303 - Replicating out of a Cluster
Training Slides: 303 - Replicating out of a Cluster
Continuent
 

What's hot (20)

OSGifying the repository
OSGifying the repositoryOSGifying the repository
OSGifying the repository
 
Introduction To Perl - SpringPeople
Introduction To Perl - SpringPeopleIntroduction To Perl - SpringPeople
Introduction To Perl - SpringPeople
 
eCAP Developer Walkthru
eCAP Developer WalkthrueCAP Developer Walkthru
eCAP Developer Walkthru
 
OpenStack London Meetup, 18 Nov 2015
OpenStack London Meetup, 18 Nov 2015OpenStack London Meetup, 18 Nov 2015
OpenStack London Meetup, 18 Nov 2015
 
Inside Solr 5 - Bangalore Solr/Lucene Meetup
Inside Solr 5 - Bangalore Solr/Lucene MeetupInside Solr 5 - Bangalore Solr/Lucene Meetup
Inside Solr 5 - Bangalore Solr/Lucene Meetup
 
High Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance TuningHigh Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance Tuning
 
Architecture of Falcon, a new chat messaging backend system build on Scala
Architecture of Falcon,  a new chat messaging backend system  build on ScalaArchitecture of Falcon,  a new chat messaging backend system  build on Scala
Architecture of Falcon, a new chat messaging backend system build on Scala
 
Introducing Puppet - The faster speed of Automation
Introducing Puppet - The faster speed of AutomationIntroducing Puppet - The faster speed of Automation
Introducing Puppet - The faster speed of Automation
 
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?
 
Flying to clouds - can it be easy? Cloud Native Applications
Flying to clouds - can it be easy? Cloud Native ApplicationsFlying to clouds - can it be easy? Cloud Native Applications
Flying to clouds - can it be easy? Cloud Native Applications
 
Zeppelin meetup 2016 madrid
Zeppelin meetup 2016 madridZeppelin meetup 2016 madrid
Zeppelin meetup 2016 madrid
 
Aem maintenance
Aem maintenanceAem maintenance
Aem maintenance
 
What's new in Solr 5.0
What's new in Solr 5.0What's new in Solr 5.0
What's new in Solr 5.0
 
Bulk Export Tool for Alfresco
Bulk Export Tool for AlfrescoBulk Export Tool for Alfresco
Bulk Export Tool for Alfresco
 
Eron Wright - Introducing Flink on Mesos
Eron Wright - Introducing Flink on MesosEron Wright - Introducing Flink on Mesos
Eron Wright - Introducing Flink on Mesos
 
Splunk Java Agent
Splunk Java AgentSplunk Java Agent
Splunk Java Agent
 
Kafka connect 101
Kafka connect 101Kafka connect 101
Kafka connect 101
 
Monitoring docker container and dockerized applications
Monitoring docker container and dockerized applicationsMonitoring docker container and dockerized applications
Monitoring docker container and dockerized applications
 
SolrCloud Cluster management via APIs
SolrCloud Cluster management via APIsSolrCloud Cluster management via APIs
SolrCloud Cluster management via APIs
 
Training Slides: 303 - Replicating out of a Cluster
Training Slides: 303 - Replicating out of a ClusterTraining Slides: 303 - Replicating out of a Cluster
Training Slides: 303 - Replicating out of a Cluster
 

Similar to Apache Curator: Past, Present and Future

Handling 1 Billion Requests/hr with Minimal Latency Using Docker
Handling 1 Billion Requests/hr with Minimal Latency Using DockerHandling 1 Billion Requests/hr with Minimal Latency Using Docker
Handling 1 Billion Requests/hr with Minimal Latency Using Docker
Matomy
 
Stackato v4
Stackato v4Stackato v4
Stackato v4
Jonas Brømsø
 
But we're already open source! Why would I want to bring my code to Apache?
But we're already open source! Why would I want to bring my code to Apache?But we're already open source! Why would I want to bring my code to Apache?
But we're already open source! Why would I want to bring my code to Apache?
gagravarr
 
AppScale @ LA.rb
AppScale @ LA.rbAppScale @ LA.rb
AppScale @ LA.rb
Chris Bunch
 
[Annotated] QConSF 2018: Airbnb's Great Migration - From Monolith to Service-...
[Annotated] QConSF 2018: Airbnb's Great Migration - From Monolith to Service-...[Annotated] QConSF 2018: Airbnb's Great Migration - From Monolith to Service-...
[Annotated] QConSF 2018: Airbnb's Great Migration - From Monolith to Service-...
Jessica Tai
 
Kuby, ActiveDeployment for Rails Apps
Kuby, ActiveDeployment for Rails AppsKuby, ActiveDeployment for Rails Apps
Kuby, ActiveDeployment for Rails Apps
Cameron Dutro
 
Multilingual Vue Apps without a plugin
Multilingual Vue Apps without a pluginMultilingual Vue Apps without a plugin
Multilingual Vue Apps without a plugin
Katia Smet
 
Stackato v6
Stackato v6Stackato v6
Stackato v6
Jonas Brømsø
 
Stackato v2
Stackato v2Stackato v2
Stackato v2
Jonas Brømsø
 
Stackato v3
Stackato v3Stackato v3
Stackato v3
Jonas Brømsø
 
Lara technologies
Lara technologiesLara technologies
Lara technologies
technologieslara
 
Oracle Fusion Middleware on Exalogic Best Practises
Oracle Fusion Middleware on Exalogic Best PractisesOracle Fusion Middleware on Exalogic Best Practises
Oracle Fusion Middleware on Exalogic Best Practises
Michel Schildmeijer
 
Habitat Overview
Habitat OverviewHabitat Overview
Habitat Overview
Mandi Walls
 
Cloud Services Powered by IBM SoftLayer and NetflixOSS
Cloud Services Powered by IBM SoftLayer and NetflixOSSCloud Services Powered by IBM SoftLayer and NetflixOSS
Cloud Services Powered by IBM SoftLayer and NetflixOSS
aspyker
 
Stackato
StackatoStackato
Stackato
Jonas Brømsø
 
From Test to Live with Rex
From Test to Live with RexFrom Test to Live with Rex
From Test to Live with RexJan Gehring
 
The New York Times: Moving to GraphQL
The New York Times: Moving to GraphQLThe New York Times: Moving to GraphQL
The New York Times: Moving to GraphQL
Scott Taylor
 
Oracle JET, with JET Mobile Content
Oracle JET, with JET Mobile ContentOracle JET, with JET Mobile Content
Oracle JET, with JET Mobile Content
Geertjan Wielenga
 
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
Introducing ASP.NET vNext - A tour of the new ASP.NET platformIntroducing ASP.NET vNext - A tour of the new ASP.NET platform
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
Jeffrey T. Fritz
 
7 Apache Process Cloudstack Developer Day
7 Apache Process Cloudstack Developer Day7 Apache Process Cloudstack Developer Day
7 Apache Process Cloudstack Developer Day
Kimihiko Kitase
 

Similar to Apache Curator: Past, Present and Future (20)

Handling 1 Billion Requests/hr with Minimal Latency Using Docker
Handling 1 Billion Requests/hr with Minimal Latency Using DockerHandling 1 Billion Requests/hr with Minimal Latency Using Docker
Handling 1 Billion Requests/hr with Minimal Latency Using Docker
 
Stackato v4
Stackato v4Stackato v4
Stackato v4
 
But we're already open source! Why would I want to bring my code to Apache?
But we're already open source! Why would I want to bring my code to Apache?But we're already open source! Why would I want to bring my code to Apache?
But we're already open source! Why would I want to bring my code to Apache?
 
AppScale @ LA.rb
AppScale @ LA.rbAppScale @ LA.rb
AppScale @ LA.rb
 
[Annotated] QConSF 2018: Airbnb's Great Migration - From Monolith to Service-...
[Annotated] QConSF 2018: Airbnb's Great Migration - From Monolith to Service-...[Annotated] QConSF 2018: Airbnb's Great Migration - From Monolith to Service-...
[Annotated] QConSF 2018: Airbnb's Great Migration - From Monolith to Service-...
 
Kuby, ActiveDeployment for Rails Apps
Kuby, ActiveDeployment for Rails AppsKuby, ActiveDeployment for Rails Apps
Kuby, ActiveDeployment for Rails Apps
 
Multilingual Vue Apps without a plugin
Multilingual Vue Apps without a pluginMultilingual Vue Apps without a plugin
Multilingual Vue Apps without a plugin
 
Stackato v6
Stackato v6Stackato v6
Stackato v6
 
Stackato v2
Stackato v2Stackato v2
Stackato v2
 
Stackato v3
Stackato v3Stackato v3
Stackato v3
 
Lara technologies
Lara technologiesLara technologies
Lara technologies
 
Oracle Fusion Middleware on Exalogic Best Practises
Oracle Fusion Middleware on Exalogic Best PractisesOracle Fusion Middleware on Exalogic Best Practises
Oracle Fusion Middleware on Exalogic Best Practises
 
Habitat Overview
Habitat OverviewHabitat Overview
Habitat Overview
 
Cloud Services Powered by IBM SoftLayer and NetflixOSS
Cloud Services Powered by IBM SoftLayer and NetflixOSSCloud Services Powered by IBM SoftLayer and NetflixOSS
Cloud Services Powered by IBM SoftLayer and NetflixOSS
 
Stackato
StackatoStackato
Stackato
 
From Test to Live with Rex
From Test to Live with RexFrom Test to Live with Rex
From Test to Live with Rex
 
The New York Times: Moving to GraphQL
The New York Times: Moving to GraphQLThe New York Times: Moving to GraphQL
The New York Times: Moving to GraphQL
 
Oracle JET, with JET Mobile Content
Oracle JET, with JET Mobile ContentOracle JET, with JET Mobile Content
Oracle JET, with JET Mobile Content
 
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
Introducing ASP.NET vNext - A tour of the new ASP.NET platformIntroducing ASP.NET vNext - A tour of the new ASP.NET platform
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
 
7 Apache Process Cloudstack Developer Day
7 Apache Process Cloudstack Developer Day7 Apache Process Cloudstack Developer Day
7 Apache Process Cloudstack Developer Day
 

Recently uploaded

Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
abdulrafaychaudhry
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
ShamsuddeenMuhammadA
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
abdulrafaychaudhry
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
QuickwayInfoSystems3
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 

Recently uploaded (20)

Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 

Apache Curator: Past, Present and Future

  • 1. Apache Curator™ Past, Present, Future Jordan Zimmerman jordan@jordanzimmerman.com @randgalt http://www.linkedin.com/in/jordanzimmerman http://aisallc.com
  • 3. 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 Network Panamá City!
  • 4. 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
  • 5. State of the Project
  • 6. Since Last Presentation • Feb 2012? • Apache • Lots of bug fixes, new features, etc. • Lots of adoption • More than 10 releases
  • 7. Move to Apache • Apache verb |əˈpaSH, äˈpäSH| Native American word meaning “slow down”
  • 8. 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
  • 11. Curator Gets an Entire Chapter in the ZK Book!
  • 12. Widely Adopted - Apache • Apache Storm • Apache Drill • Apache Oozie • Apache Spark • Apache Flume • Apache Hive • ???
  • 13. Widely Adopted - Others • Netflix (of course) • Maginatics (now EMC) • Bazaarvoice • eBay • General Electric • Wix • Spring • Nirmata
  • 14. Widely Adopted - Others • Netflix (of course) • Maginatics (now EMC) • Bazaarvoice • eBay • General Electric • Wix • Spring • Nirmata
  • 16. New Committers • Scott Blum • Cameron McKenzie
  • 17. Cameron McKenzie I'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.
  • 18. 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.
  • 19. 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
  • 20. Notable New(ish) Recipes • Tree Cache • Persistent Ephemeral Node • Node Cache
  • 21. Service Discovery • One of the most widely used Curator recipes!
  • 22. Don’t Forget - It’s a Framework for Writing Recipes • Connection management • Tons of utilities • Simplifies most use-cases
  • 25. 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 languages and environments
  • 26. 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/
  • 28. 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
  • 29. 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)
  • 30. Thank you! Q&A Jordan Zimmerman jordan@jordanzimmerman.com @randgalt http://www.linkedin.com/in/jordanzimmerman http://aisallc.com