apache geode - the first six months
TRANSCRIPT
![Page 1: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/1.jpg)
The First Six Months
(incubating)
![Page 2: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/2.jpg)
About
Anthony Baker (@metatype)
Engineering leader for Pivotal GemFire, committer on Apache Geode
![Page 3: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/3.jpg)
How we transformed a hard-core commercial engineering team into an open source community-driven
powerhouse*
* forward-looking statement
![Page 4: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/4.jpg)
What the government doesn’t want you to know about open source
6 reasons to be addicted to open source
7 things Lady Gaga has in common with open source
8 unbelievable things you never knew about open source
Why you should give up sex and devote your life to open source
11 ways investing in open source can make you a millionaire
http://www.contentrow.com/tools/link-bait-title-generator
Alternative titles?
![Page 5: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/5.jpg)
(just kidding)
![Page 6: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/6.jpg)
Topics• Introducing Geode
• Preparing for incubation
• Getting started
• Adopting The Apache Way
• Growing a community
![Page 7: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/7.jpg)
Introducing Geode
![Page 8: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/8.jpg)
Apache Geode is…
"…an in-memory, distributed database
with strong consistency
built to support low latency
transactional applications
at extreme scale.”
![Page 9: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/9.jpg)
2004 2008 2014
• Massive increase in data volumes
• Falling margins per transaction
• Increasing cost of IT maintenance
• Need for elasticity in systems
• Financial Services Providers (every major Wall Street bank)
• Department of Defense
• Real Time response needs • Time to market constraints • Need for flexible data
models across enterprise • Distributed development • Persistence + In-memory
• Global data visibility needs • Fast Ingest needs for data • Need to allow devices to
hook into enterprise data • Always on
• Largest travel Portal • Airlines • Trade clearing • Online gambling
• Largest Telcos • Large mfrers • Largest Payroll processor • Auto insurance giants • Largest rail systems on
earth
![Page 10: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/10.jpg)
China RailwayCorporation
5,700 train stations 4.5 million tickets per day
20 million daily users 1.4 billion page views per day
40,000 visits per second
*http://pivotal.io/big-data/pivotal-gemfire
Indian Railways
7,000 stations 72,000 miles of track
23 million passengers daily 120,000 concurrent users
10,000 transactions per minute
![Page 11: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/11.jpg)
World: ~7,349,000,000
~36% of the world population
Population: 1,251,695,6161,401,586,609
China RailwayCorporation
Indian Railways
![Page 12: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/12.jpg)
Application patterns• Caching for speed and scale using read-through,
write-through, and write-behind
• OLTP system of record with in-memory for speed, on disk for durability
• Parallel compute grid
• Real-time analytics
![Page 13: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/13.jpg)
Preparing for Incubation
![Page 14: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/14.jpg)
Some context
• 1M+ LOC, 1000’s of customers running business critical systems in production
• More than 12 years in development
• Large, multi-geo engineering team
• Established development practices
![Page 15: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/15.jpg)
Why OSS? Why ASF?• Open source is fundamentally changing software
buying patterns
• Customers avoid vendor lock-in and get transparency, co-development of features
• It’s the community that matters
• ASF provides a framework for open source
![Page 16: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/16.jpg)
Find a champion
(Roman)
and mentors too!
![Page 17: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/17.jpg)
A rose by any other name…
![Page 18: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/18.jpg)
Legal & biz stuff
• Source code clearance
• License compatibility, attribution
• Commercial features?
![Page 19: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/19.jpg)
Cleaning up the source
• Get rid of internal dependencies
• Make sure the build is easy and fast
• Remove embarrassing source comments :-)
• Make testing easy
![Page 20: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/20.jpg)
Writing the proposal
• Use a prior project as a template (lots of options)
• Identify background, rational, status, comparables, risks
• Who are the committers?
![Page 21: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/21.jpg)
Submitting the proposal
• Is your source available? Not necessary, but helpful!
• Discussion will occur on [email protected]
• Wait for consensus and vote :-)
![Page 22: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/22.jpg)
Getting Started
![Page 23: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/23.jpg)
![Page 24: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/24.jpg)
Setting up infrastructure
Review Board
https://issues.apache.org/jira/browse/INFRA-9536
![Page 25: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/25.jpg)
Getting social
![Page 26: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/26.jpg)
http://what’s important• Brief product description
• Community coordinates
• Email lists (dev, user), JIRA, wiki
• Getting started (one page)
• Building and running the product
• How to obtain the source (no binaries before a release)
• Roadmap, things to work on
![Page 27: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/27.jpg)
Adopting The Apache Way
![Page 28: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/28.jpg)
https://en.wikipedia.org/wiki/The_Scream#/media/File:The_Scream.jpg
![Page 29: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/29.jpg)
http://theapacheway.com
“The Apache Way is sort of like Zen. It's something that's difficult to explain, has many
interpretations, and the best way to learn it is to do it.”
![Page 30: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/30.jpg)
–Shane Curcuru, ASF
“Community, Merit, and Openness, backed up by Pragmatism and Charity.”
![Page 31: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/31.jpg)
The Apache Way
• Community over code
• If it didn’t happen on the mailing list, it didn’t happen
• Rough consensus and working code: do-ocracy
• Decision model: +1, 0, -1 (also lazy)
![Page 32: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/32.jpg)
Let it go!(sing along with me)
![Page 33: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/33.jpg)
Apache stuff
• License headers (duh)
• Packages: org.apache.*
• Version: *-incubating
• Incubation reports
![Page 34: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/34.jpg)
Policies• RTC or CTR?
• Branching (gitflow)
• Versioning (semver)
• Role of mentors (advisors or participants)
• Commit messages (GEODE-XXX: …)
• Design reviews
![Page 35: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/35.jpg)
Committing> git flow feature start GEODE-‐nn
> rbt post -‐-‐repository geode
(wait for +1)
> git checkout develop > git pull -‐-‐rebase > git flow feature finish -‐-‐no-‐ff GEODE-‐nn
> git push
![Page 36: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/36.jpg)
Pull Requestscontributor:
fork, clone, <write code>, create PR, wait for review
committer:
> git remote add github https://github.com/apache/incubator-‐geode
> git fetch github pull/n/head:feature/GEODE-‐nn > git checkout feature/GEODE-‐nn
> git checkout develop > git pull -‐-‐rebase > git flow feature finish -‐-‐no-‐ff GEODE-‐nn
> git push
![Page 37: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/37.jpg)
Releasing
![Page 38: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/38.jpg)
Growing a Community
![Page 39: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/39.jpg)
Engage!https://hu.wikipedia.org/wiki/Jean-Luc_Picard#/media/File:Jean-Luc_Picard_2.jpg
![Page 40: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/40.jpg)
Project roles• Contributor
• Lurking on mailing lists :-)
• Asking questions
• Answering questions
• Submitting bugs
• Submitting patches
• Committer
• PMC
![Page 41: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/41.jpg)
Include your customers• Increase their opportunity to interact directly with
committers
• Do they want to contribute existing tooling?
• Questions they will ask:
• Are you still committed to the product?
• Why should I pay?
![Page 42: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/42.jpg)
Community activities• ApacheCon! (and other conferences)
• OSCon, SpringOne2GX, QCon, …
• Local meetup groups
• Portland, Toronto, Palo Alto, San Francisco, London, Cork, Pune
• Virtual meetups (Geode Clubhouse) 2x / month
• Blogs, twitter, hackathon
![Page 43: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/43.jpg)
Virtual meetups• Two formats
• Technical deep-dive on a specific subject
• Open mike, like a “standup” where participants get to bring up topics for discussion
• Note: any decisions must still be published on the dev list!
![Page 44: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/44.jpg)
Be responsive
• More responsive and interactive communities have better engagement and retention
• On a temporary basis, find community activists to ensure questions, PR’s, and bugs are addressed quickly
• Soon this behavior becomes automatic
![Page 45: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/45.jpg)
“Open source is where ecosystems are built.”
![Page 46: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/46.jpg)
Ecosystem
YCSB
![Page 47: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/47.jpg)
Metrics
• Committers: > 60
• Commits: 194 on /develop
• JIRA’s: 219 (open), 164 (resolved)
• Emails: 1658 (dev), 212 (user)
![Page 48: Apache Geode - The First Six Months](https://reader033.vdocuments.net/reader033/viewer/2022051503/5889bf891a28abca448b4bdb/html5/thumbnails/48.jpg)
What’s next? TLP of course!
https://issues.apache.org/jira/browse/GEODE-1