SlideShare une entreprise Scribd logo
1  sur  58
Adventures of building Promitor,
an open-source product
Tom Kerkhove
Software Engineer at Microsoft
Introduction
• Software Engineer at Microsoft on Azure API Management
• CNCF Ambassador, ex-Microsoft Azure MVP & ex-GitHub Star
• Member of Azure UG (AZUG)
• Maintainer of KEDA, Promitor, Azure Deprecation Notices
• Lives in Belgium near Bruges
• blog.tomkerkhove.be
@TomKerkhov
e
tomkerkhove
Agenda
• What do I work on?
• Being a maintainer
• Sustainability, Sponsorship & Free Open-Source Software (FOSS)
• Measuring Adoption
• Wrap-up
What do I work on?
What is Promitor?
• Promitor is an Azure Monitor scraper which makes the metrics
available to a variety of metric systems such as Atlassian
Statuspage, Prometheus and StatsD.
• It’s free and available as a container for Linux/Windows,
optimized for Kubernetes.
• Promitor.io
History of Promitor
First
Commit
(Feb 2018)
Alpha
release at
Intelligent
Cloud
Conference
(2018)
Microsoft
Hackaton
(March
2019)
v1.0
v2.0
(Resource
Discovery &
sinks)
Azure
Monitor
partner
integrations
(Aug 2020)
Azure
credits for
open-
source (Sept
2021)
This is where it started
In a hotel room, living the glamours life of working abroad
Where is Promitor today?
• In March, Promitor did 160 million API calls to Azure Monitor
per day
And I’m the sole maintainer.
What is KEDA?
• Kubernetes Event-driven Autoscaling (KEDA) strives to make
application autoscaling on Kubernetes dead-simple.
• CNCF Incubation project
• It’s free and available as a container
for Linux, optimized for Kubernetes.
• Keda.sh
History of KEDA
First
Commit
(Feb 2019)
Open
Sourced
(May 2019)
v1.0
(Nov 2019)
Joins CNCF
as Sandbox
project
(March 2020)
v2.0
(Nov 2020)
Alibaba
Cloud
standardizes
on KEDA for
EDAS
CNCF
Incubation
(Aug 2021)
Azure
Container
Apps
announced,
built on
KEDA
(Nov 2021)
Where is KEDA today?
• We have no idea how many people are using KEDA, but here are
a few:
This time, I have friends to help! We have 5 maintainers.
And [redacted], [redacted] & [redacted].
Azure Application Services for Arc
Azure 💘 KEDA
Azure
Container Apps AKS Add-OnNew
Being a maintainer
Code, code, code!
That moment when you ship
your first version
Also, that moment when the first bug(s) start
flowing in
And the feature requests, bug reports and
support questions keep flowing in…
There will always be bugs, support
requests, etc.
And that’s more than OK.
Do NOT let this get under your skin.
Maintainer = Coder 👨💻
Nope.
• As a maintainer, you get to wear a lot of hats
• Engineer to implement features
• Tester to ensure your product is of top-notch quality (and automate it)
• Support engineer to help customers having issues and diagnose them
• Product Manager to spec out new features
• Designer for building logos, website design, hosting, etc.
• Content writer to offer well-written and dummy-proof documentation,
changelog
• Release captain to ensure your work is shipped, changelog, deprecation
notices, …
• Strategist to build a roadmap and come up with a product strategy
• Customer because you have to think what’s best for end-users
• Lawyer for licensing and open-source foundations
• …
Maintainer =
Iceberg of open-source maintainership
What the community sees
• Code, PRs & Releases
What actually happens behind
the scenes
• Customer support & relations
• Documentation
• (Automated) Testing
• (Azure) Funding
• Dependency Management
• Migrations
• Planning / (long-term) strategy
• Costs (DNS, hosting, test
resourcing, tooling)
• Governance & (OSS)
foundation relationship
• It’s not because it’s shiny, that you should use it
• Does it improve your project/UX? Is it worth your time?
• Ignore it if it doesn’t
Don’t migrate for sake of migrating
Shiny new features! 💎
.NET 3.1
.NET 5
.NET 6
Travis CI
Azure Pipelines
GitHub Actions
Shiny new features! 💎
.NET 3.1
.NET 5
.NET 6
Thinking about your open-source legacy1
• Avoid the bus-factor, have multiple maintainers on project(s)
• Being part of an open-source foundation helps
• Maintaining ownership continuity through GitHub Successors, it’s
your open-source will. A trusted person to take care of your projects (but
not maintain)
• Create a digital/physical will2, so your successor knows what to do
• Docs, docs, docs! Document how things work, where to find more info,
etc.
• Why you should care:
• End-users are waiting for bug fixes, somebody should let you know you have passed
• Donate your work to a foundation or look for new maintainer(s)
• Stop your sponsorship(s) to avoid draining your credit card
• Trademarks & licensing
1 Read more on https://blog.tomkerkhove.be/2021/08/06/thinking-about-your-open-source-legacy/
2 You can find my will on GitHub - Learn more on https://github.com/tomkerkhove/testament
Sustainability, Sponsorship
& Free Open-Source Software (FOSS)
Open-source maintainership is no joke.
It takes blood, sweat and tears to do it. A LOT of time.
I have spent a lot of time travelling to conferences/customers,
spending my evenings in the hotel maintaining project(s)
Oct 1st, 2020 – The day the .NET community was on 🔥🔥🔥
How dare they
ask money for
their hard
work?!
Open-source != Free
Do you want to re-invent the wheel or build
on someone’s expertise?
Open-source != Free
Writing it yourself might be cheaper than a
license, but who do you call for support?
Who will maintain it?
A person working on your own implementation, is
one person less bringing business value
Support the open-source products
that you use
Contribute back, donate money, pay for additional support, etc.
Support the open-source products that
you depend on
Contribute back, donate money, pay for additional support, etc.
I don’t think you want maintainers to burn out and/or stop their product
Otherwise, you can start migrating to an alternative ($$$)
If there even is one...
Sustainability & Sponsorship in Promitor
• Promitor is free, but does not give dedicated support and is best-
effort. Unless they pay for it.
• It relies on free services and products as well –
https://docs.promitor.io/thank-you
• Azure Credits for Open-Source
• I was reluctant to use GitHub Sponsors and felt guilty, but I
have to pay for things in the end as well (hosting, DNS, tooling, etc)
• Allow end-users to show their gratitude
• I sponsor the things I use, I don’t want them to stop maintaining it and am
grateful.
Sustainability & Promitor
• Promitor has grown to a full-time job, but I already have one.
• Personal situation has changed from frequent traveling and no
kids, to fully working from home with a baby & toddler
• This can have an impact on Promitor long-term if nobody starts co-
maintaining it
• Why I love being a maintainer
• Awesome to see how your work is being used by (big) corporations
• Great to have an impact and help solve problems for others
• It changed how I work and do/use open-source, tremendously
• I love doing it, so I keep on doing it! But the moment I don’t,
then it’s time to think about its future.
Measuring Adoption
“How do you measure adoption?”
Measuring adoption
is the hardest part of
open-source.
Who’s interested?
• “Who is using it and
how do I reach out
to them?”
• “What is the
adoption [of a given
version]?”
• “Is it worth my
time?”
• “Who is using it?”
• “Should we embrace
this technology?”
• “Who is using it?”
• “How many
organizations use
your project?”
• “Should I sponsor
this project, or this
other one?”
Sponsors 💘
End-Users &
Foundations🏢
Maintainers 👨💻
But that’s not enough…
• A “Star” is a “favorite”, not an adoption measurement
• GitHub Insight’s “Used By” doesn’t cover everything (yet)
• Ie containers support is very low
• Information is spread across various places
(GitHub, external package registries, tools, …)
Ways to work around the problem
• Build your own metrics dashboard to measure adoption
• Downstream system tracking with user-agents
• Anonymous Usage Tracking
• However, make sure to be transparent to end-users
• OctoPrint - tracking.octoprint.org | data.octoprint.org
• Promitor – promitor.io/legal
Listed end-users
• Allow end-user to be listed on your website/ADOPTERS.md to
support them and convince others.
• Make sure end-users open PRs, not you. Logos are subject to
legal regulations
• Don’t be surprised if they ask you “what’s in it for them?!”,
although your work is for free
• You’ll end up chasing people to get them listed, just like me.
What if… GitHub did this? A mock-up.
Adoption Metadata
• Provide metadata metrics in GitHub Packages [based on IP] such
as:
• Who owns the IP address? (~ who’s the end-user)
• What cloud does it run on?
• Where in the world are they located?
• Scarf.sh is a good example that helps me a lot!
Community Metadata
• Provide information in GitHub Insights about the contributors:
• What company do they work for?
• What area do the contribute the most in?
• When was the last time they have contributed?
• Orbit.love is a good example that helps me a lot
Wrap-up
How you, as an end-user, can help
• If it’s just a PR away, go for it! Reduce the load on the
maintainer and contribute back, instead of waiting for your issue
to be implemented. (code, automation, docs, etc.)
• But read the contribution guide first & make sure they know you work
on a feature.
• Become a listed end-user. It helps potential new end-users
gain trust, allows maintainers to reach out to you and helps
them with open-source foundations
• Be gentle. They have feelings and work hard to help you.
Lessons Learned
• Start simple, grow over time. There will always be a new shiny
thing to adopt/pattern to use, but does it bring value?
• An open-source product is very similar to a startup, and has
become a full-time job (if I wanted to)
• Create a virtual will and find a successor. This brings
continuity in your work after you have passed away.
• Don't be discouraged. There will always be negative people,
“competitors”, etc.
• Do what you love. If maintaining the project doesn’t make you happy
anymore, then don’t.

Contenu connexe

Similaire à Techorama 2022 - Adventures of building Promitor, an open-source product

How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
Lucas Jellema
 
Open Source as a Viable Business Model
Open Source as a Viable Business ModelOpen Source as a Viable Business Model
Open Source as a Viable Business Model
Tien-Soon Law
 

Similaire à Techorama 2022 - Adventures of building Promitor, an open-source product (20)

Créer une communauté open source: pourquoi ? comment ?
Créer une communauté open source: pourquoi ? comment ?Créer une communauté open source: pourquoi ? comment ?
Créer une communauté open source: pourquoi ? comment ?
 
Management de communaute
Management de communauteManagement de communaute
Management de communaute
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
 
How to get started in Open Source!
How to get started in Open Source!How to get started in Open Source!
How to get started in Open Source!
 
Full stack conference talk slides
Full stack conference talk slidesFull stack conference talk slides
Full stack conference talk slides
 
05 DIGI CREATIVE people&process
05 DIGI CREATIVE people&process05 DIGI CREATIVE people&process
05 DIGI CREATIVE people&process
 
IDCEE 2013: How to do a successful company around open source - Michael Widen...
IDCEE 2013: How to do a successful company around open source - Michael Widen...IDCEE 2013: How to do a successful company around open source - Michael Widen...
IDCEE 2013: How to do a successful company around open source - Michael Widen...
 
Code the docs-yu liu
Code the docs-yu liuCode the docs-yu liu
Code the docs-yu liu
 
Open Source as a Viable Business Model
Open Source as a Viable Business ModelOpen Source as a Viable Business Model
Open Source as a Viable Business Model
 
Let's talk FOSS!
Let's talk FOSS!Let's talk FOSS!
Let's talk FOSS!
 
How Target Made It Super Easy for Developers to Contribute to Open Source - L...
How Target Made It Super Easy for Developers to Contribute to Open Source - L...How Target Made It Super Easy for Developers to Contribute to Open Source - L...
How Target Made It Super Easy for Developers to Contribute to Open Source - L...
 
Community Marketing at Docker | Docker Tour de France 2014
Community Marketing at Docker | Docker Tour de France 2014Community Marketing at Docker | Docker Tour de France 2014
Community Marketing at Docker | Docker Tour de France 2014
 
Lean UX in an Agency Environment
Lean UX in an Agency EnvironmentLean UX in an Agency Environment
Lean UX in an Agency Environment
 
Prototyping like it is 2022
Prototyping like it is 2022 Prototyping like it is 2022
Prototyping like it is 2022
 
DockerCon US 2016 - Scaling Open Source operations
DockerCon US 2016 - Scaling Open Source operationsDockerCon US 2016 - Scaling Open Source operations
DockerCon US 2016 - Scaling Open Source operations
 
How to work with virtual volunteers
How to work with virtual volunteersHow to work with virtual volunteers
How to work with virtual volunteers
 
WE16 - Navigating the Seas of Open Source Projects
WE16 - Navigating the Seas of Open Source ProjectsWE16 - Navigating the Seas of Open Source Projects
WE16 - Navigating the Seas of Open Source Projects
 
Surviving a Hackathon and Beyond
Surviving a Hackathon and BeyondSurviving a Hackathon and Beyond
Surviving a Hackathon and Beyond
 
What every successful open source project needs
What every successful open source project needsWhat every successful open source project needs
What every successful open source project needs
 
Marketing Your Open Source Project
Marketing Your Open Source ProjectMarketing Your Open Source Project
Marketing Your Open Source Project
 

Plus de Tom Kerkhove

Plus de Tom Kerkhove (20)

Microsoft Partners - Application Autoscaling Made Easy With Kubernetes Event-...
Microsoft Partners - Application Autoscaling Made Easy With Kubernetes Event-...Microsoft Partners - Application Autoscaling Made Easy With Kubernetes Event-...
Microsoft Partners - Application Autoscaling Made Easy With Kubernetes Event-...
 
Introduction to Promitor
Introduction to PromitorIntroduction to Promitor
Introduction to Promitor
 
Azure Lowlands 2020 - API management for microservices in a hybrid and multi-...
Azure Lowlands 2020 - API management for microservices in a hybrid and multi-...Azure Lowlands 2020 - API management for microservices in a hybrid and multi-...
Azure Lowlands 2020 - API management for microservices in a hybrid and multi-...
 
NDC London 2021 - Application Autoscaling Made Easy With Kubernetes Event-Dri...
NDC London 2021 - Application Autoscaling Made Easy With Kubernetes Event-Dri...NDC London 2021 - Application Autoscaling Made Easy With Kubernetes Event-Dri...
NDC London 2021 - Application Autoscaling Made Easy With Kubernetes Event-Dri...
 
Global Azure Virtual - Application Autoscaling with KEDA
Global Azure Virtual - Application Autoscaling with KEDAGlobal Azure Virtual - Application Autoscaling with KEDA
Global Azure Virtual - Application Autoscaling with KEDA
 
Building Bruges 2020 - Adventures of building a multi-tenant PaaS on Microsof...
Building Bruges 2020 - Adventures of building a multi-tenant PaaS on Microsof...Building Bruges 2020 - Adventures of building a multi-tenant PaaS on Microsof...
Building Bruges 2020 - Adventures of building a multi-tenant PaaS on Microsof...
 
AZUG Lightning Talk - Application autoscaling on Kubernetes with Kubernetes E...
AZUG Lightning Talk - Application autoscaling on Kubernetes with Kubernetes E...AZUG Lightning Talk - Application autoscaling on Kubernetes with Kubernetes E...
AZUG Lightning Talk - Application autoscaling on Kubernetes with Kubernetes E...
 
IglooConf 2020 - API management for microservices in a hybrid and multi-cloud...
IglooConf 2020 - API management for microservices in a hybrid and multi-cloud...IglooConf 2020 - API management for microservices in a hybrid and multi-cloud...
IglooConf 2020 - API management for microservices in a hybrid and multi-cloud...
 
IglooConf 2020 - Adventures of building a multi-tenant PaaS on Microsoft Azure
IglooConf 2020 - Adventures of building a multi-tenant PaaS on Microsoft AzureIglooConf 2020 - Adventures of building a multi-tenant PaaS on Microsoft Azure
IglooConf 2020 - Adventures of building a multi-tenant PaaS on Microsoft Azure
 
Microsoft Ignite 2019 - API management for microservices in a hybrid and mult...
Microsoft Ignite 2019 - API management for microservices in a hybrid and mult...Microsoft Ignite 2019 - API management for microservices in a hybrid and mult...
Microsoft Ignite 2019 - API management for microservices in a hybrid and mult...
 
Integrate UK 2019 - Adventures of building a (multi-tenant) PaaS on Microsoft...
Integrate UK 2019 - Adventures of building a (multi-tenant) PaaS on Microsoft...Integrate UK 2019 - Adventures of building a (multi-tenant) PaaS on Microsoft...
Integrate UK 2019 - Adventures of building a (multi-tenant) PaaS on Microsoft...
 
Techdays Finland 2019 - Adventures of building a (multi-tenant) PaaS on Micro...
Techdays Finland 2019 - Adventures of building a (multi-tenant) PaaS on Micro...Techdays Finland 2019 - Adventures of building a (multi-tenant) PaaS on Micro...
Techdays Finland 2019 - Adventures of building a (multi-tenant) PaaS on Micro...
 
Azure Low Lands 2019 - Building secure cloud applications with Azure Key Vault
Azure Low Lands 2019 - Building secure cloud applications with Azure Key VaultAzure Low Lands 2019 - Building secure cloud applications with Azure Key Vault
Azure Low Lands 2019 - Building secure cloud applications with Azure Key Vault
 
Next Generation Data Integration with Azure Data Factory
Next Generation Data Integration with Azure Data FactoryNext Generation Data Integration with Azure Data Factory
Next Generation Data Integration with Azure Data Factory
 
Intelligent Cloud Conference 2018 - Automatically scaling Kubernetes pods bas...
Intelligent Cloud Conference 2018 - Automatically scaling Kubernetes pods bas...Intelligent Cloud Conference 2018 - Automatically scaling Kubernetes pods bas...
Intelligent Cloud Conference 2018 - Automatically scaling Kubernetes pods bas...
 
Intelligent Cloud Conference 2018 - Building secure cloud applications with A...
Intelligent Cloud Conference 2018 - Building secure cloud applications with A...Intelligent Cloud Conference 2018 - Building secure cloud applications with A...
Intelligent Cloud Conference 2018 - Building secure cloud applications with A...
 
Intelligent Cloud Conference 2018 - Next Generation of Data Integration with ...
Intelligent Cloud Conference 2018 - Next Generation of Data Integration with ...Intelligent Cloud Conference 2018 - Next Generation of Data Integration with ...
Intelligent Cloud Conference 2018 - Next Generation of Data Integration with ...
 
NDC Minnesota - Analyzing StackExchange data with Azure Data Lake
NDC Minnesota - Analyzing StackExchange data with Azure Data LakeNDC Minnesota - Analyzing StackExchange data with Azure Data Lake
NDC Minnesota - Analyzing StackExchange data with Azure Data Lake
 
Techdays Finland 2018 - Building secure cloud applications with Azure Key Vault
Techdays Finland 2018 - Building secure cloud applications with Azure Key VaultTechdays Finland 2018 - Building secure cloud applications with Azure Key Vault
Techdays Finland 2018 - Building secure cloud applications with Azure Key Vault
 
NDC Sydney - Analyzing StackExchange with Azure Data Lake
NDC Sydney - Analyzing StackExchange with Azure Data LakeNDC Sydney - Analyzing StackExchange with Azure Data Lake
NDC Sydney - Analyzing StackExchange with Azure Data Lake
 

Dernier

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

Techorama 2022 - Adventures of building Promitor, an open-source product

  • 1. Adventures of building Promitor, an open-source product Tom Kerkhove Software Engineer at Microsoft
  • 2. Introduction • Software Engineer at Microsoft on Azure API Management • CNCF Ambassador, ex-Microsoft Azure MVP & ex-GitHub Star • Member of Azure UG (AZUG) • Maintainer of KEDA, Promitor, Azure Deprecation Notices • Lives in Belgium near Bruges • blog.tomkerkhove.be @TomKerkhov e tomkerkhove
  • 3. Agenda • What do I work on? • Being a maintainer • Sustainability, Sponsorship & Free Open-Source Software (FOSS) • Measuring Adoption • Wrap-up
  • 4. What do I work on?
  • 5. What is Promitor? • Promitor is an Azure Monitor scraper which makes the metrics available to a variety of metric systems such as Atlassian Statuspage, Prometheus and StatsD. • It’s free and available as a container for Linux/Windows, optimized for Kubernetes. • Promitor.io
  • 6. History of Promitor First Commit (Feb 2018) Alpha release at Intelligent Cloud Conference (2018) Microsoft Hackaton (March 2019) v1.0 v2.0 (Resource Discovery & sinks) Azure Monitor partner integrations (Aug 2020) Azure credits for open- source (Sept 2021)
  • 7. This is where it started In a hotel room, living the glamours life of working abroad
  • 8. Where is Promitor today? • In March, Promitor did 160 million API calls to Azure Monitor per day And I’m the sole maintainer.
  • 9. What is KEDA? • Kubernetes Event-driven Autoscaling (KEDA) strives to make application autoscaling on Kubernetes dead-simple. • CNCF Incubation project • It’s free and available as a container for Linux, optimized for Kubernetes. • Keda.sh
  • 10. History of KEDA First Commit (Feb 2019) Open Sourced (May 2019) v1.0 (Nov 2019) Joins CNCF as Sandbox project (March 2020) v2.0 (Nov 2020) Alibaba Cloud standardizes on KEDA for EDAS CNCF Incubation (Aug 2021) Azure Container Apps announced, built on KEDA (Nov 2021)
  • 11. Where is KEDA today? • We have no idea how many people are using KEDA, but here are a few: This time, I have friends to help! We have 5 maintainers. And [redacted], [redacted] & [redacted].
  • 12. Azure Application Services for Arc Azure 💘 KEDA Azure Container Apps AKS Add-OnNew
  • 15. That moment when you ship your first version
  • 16. Also, that moment when the first bug(s) start flowing in
  • 17. And the feature requests, bug reports and support questions keep flowing in…
  • 18. There will always be bugs, support requests, etc. And that’s more than OK. Do NOT let this get under your skin.
  • 19. Maintainer = Coder 👨💻 Nope.
  • 20. • As a maintainer, you get to wear a lot of hats • Engineer to implement features • Tester to ensure your product is of top-notch quality (and automate it) • Support engineer to help customers having issues and diagnose them • Product Manager to spec out new features • Designer for building logos, website design, hosting, etc. • Content writer to offer well-written and dummy-proof documentation, changelog • Release captain to ensure your work is shipped, changelog, deprecation notices, … • Strategist to build a roadmap and come up with a product strategy • Customer because you have to think what’s best for end-users • Lawyer for licensing and open-source foundations • … Maintainer =
  • 21. Iceberg of open-source maintainership What the community sees • Code, PRs & Releases What actually happens behind the scenes • Customer support & relations • Documentation • (Automated) Testing • (Azure) Funding • Dependency Management • Migrations • Planning / (long-term) strategy • Costs (DNS, hosting, test resourcing, tooling) • Governance & (OSS) foundation relationship
  • 22. • It’s not because it’s shiny, that you should use it • Does it improve your project/UX? Is it worth your time? • Ignore it if it doesn’t Don’t migrate for sake of migrating Shiny new features! 💎 .NET 3.1 .NET 5 .NET 6
  • 23. Travis CI Azure Pipelines GitHub Actions Shiny new features! 💎 .NET 3.1 .NET 5 .NET 6
  • 24. Thinking about your open-source legacy1 • Avoid the bus-factor, have multiple maintainers on project(s) • Being part of an open-source foundation helps • Maintaining ownership continuity through GitHub Successors, it’s your open-source will. A trusted person to take care of your projects (but not maintain) • Create a digital/physical will2, so your successor knows what to do • Docs, docs, docs! Document how things work, where to find more info, etc. • Why you should care: • End-users are waiting for bug fixes, somebody should let you know you have passed • Donate your work to a foundation or look for new maintainer(s) • Stop your sponsorship(s) to avoid draining your credit card • Trademarks & licensing 1 Read more on https://blog.tomkerkhove.be/2021/08/06/thinking-about-your-open-source-legacy/ 2 You can find my will on GitHub - Learn more on https://github.com/tomkerkhove/testament
  • 25.
  • 26. Sustainability, Sponsorship & Free Open-Source Software (FOSS)
  • 27. Open-source maintainership is no joke. It takes blood, sweat and tears to do it. A LOT of time. I have spent a lot of time travelling to conferences/customers, spending my evenings in the hotel maintaining project(s)
  • 28.
  • 29. Oct 1st, 2020 – The day the .NET community was on 🔥🔥🔥
  • 30. How dare they ask money for their hard work?!
  • 31.
  • 32.
  • 33. Open-source != Free Do you want to re-invent the wheel or build on someone’s expertise?
  • 34. Open-source != Free Writing it yourself might be cheaper than a license, but who do you call for support? Who will maintain it? A person working on your own implementation, is one person less bringing business value
  • 35. Support the open-source products that you use Contribute back, donate money, pay for additional support, etc.
  • 36. Support the open-source products that you depend on Contribute back, donate money, pay for additional support, etc. I don’t think you want maintainers to burn out and/or stop their product Otherwise, you can start migrating to an alternative ($$$) If there even is one...
  • 37. Sustainability & Sponsorship in Promitor • Promitor is free, but does not give dedicated support and is best- effort. Unless they pay for it. • It relies on free services and products as well – https://docs.promitor.io/thank-you • Azure Credits for Open-Source • I was reluctant to use GitHub Sponsors and felt guilty, but I have to pay for things in the end as well (hosting, DNS, tooling, etc) • Allow end-users to show their gratitude • I sponsor the things I use, I don’t want them to stop maintaining it and am grateful.
  • 38. Sustainability & Promitor • Promitor has grown to a full-time job, but I already have one. • Personal situation has changed from frequent traveling and no kids, to fully working from home with a baby & toddler • This can have an impact on Promitor long-term if nobody starts co- maintaining it • Why I love being a maintainer • Awesome to see how your work is being used by (big) corporations • Great to have an impact and help solve problems for others • It changed how I work and do/use open-source, tremendously • I love doing it, so I keep on doing it! But the moment I don’t, then it’s time to think about its future.
  • 40. “How do you measure adoption?”
  • 41. Measuring adoption is the hardest part of open-source.
  • 42. Who’s interested? • “Who is using it and how do I reach out to them?” • “What is the adoption [of a given version]?” • “Is it worth my time?” • “Who is using it?” • “Should we embrace this technology?” • “Who is using it?” • “How many organizations use your project?” • “Should I sponsor this project, or this other one?” Sponsors 💘 End-Users & Foundations🏢 Maintainers 👨💻
  • 43.
  • 44.
  • 45.
  • 46. But that’s not enough… • A “Star” is a “favorite”, not an adoption measurement • GitHub Insight’s “Used By” doesn’t cover everything (yet) • Ie containers support is very low • Information is spread across various places (GitHub, external package registries, tools, …)
  • 47. Ways to work around the problem • Build your own metrics dashboard to measure adoption • Downstream system tracking with user-agents • Anonymous Usage Tracking • However, make sure to be transparent to end-users • OctoPrint - tracking.octoprint.org | data.octoprint.org • Promitor – promitor.io/legal
  • 48. Listed end-users • Allow end-user to be listed on your website/ADOPTERS.md to support them and convince others. • Make sure end-users open PRs, not you. Logos are subject to legal regulations • Don’t be surprised if they ask you “what’s in it for them?!”, although your work is for free • You’ll end up chasing people to get them listed, just like me.
  • 49.
  • 50. What if… GitHub did this? A mock-up.
  • 51.
  • 52. Adoption Metadata • Provide metadata metrics in GitHub Packages [based on IP] such as: • Who owns the IP address? (~ who’s the end-user) • What cloud does it run on? • Where in the world are they located? • Scarf.sh is a good example that helps me a lot!
  • 53.
  • 54. Community Metadata • Provide information in GitHub Insights about the contributors: • What company do they work for? • What area do the contribute the most in? • When was the last time they have contributed? • Orbit.love is a good example that helps me a lot
  • 55.
  • 57. How you, as an end-user, can help • If it’s just a PR away, go for it! Reduce the load on the maintainer and contribute back, instead of waiting for your issue to be implemented. (code, automation, docs, etc.) • But read the contribution guide first & make sure they know you work on a feature. • Become a listed end-user. It helps potential new end-users gain trust, allows maintainers to reach out to you and helps them with open-source foundations • Be gentle. They have feelings and work hard to help you.
  • 58. Lessons Learned • Start simple, grow over time. There will always be a new shiny thing to adopt/pattern to use, but does it bring value? • An open-source product is very similar to a startup, and has become a full-time job (if I wanted to) • Create a virtual will and find a successor. This brings continuity in your work after you have passed away. • Don't be discouraged. There will always be negative people, “competitors”, etc. • Do what you love. If maintaining the project doesn’t make you happy anymore, then don’t.

Notes de l'éditeur

  1. Intelligent Cloud Conference 2018 - Automatically scaling Kubernetes … (slideshare.net) Announcing Promitor v1.0 (tomkerkhove.be) Announcing Promitor 2.0 (tomkerkhove.be) Partners that integrate with Azure Monitor - Azure Monitor | Microsoft Docs Announcing: Azure credits for open source projects - Microsoft Open Source Blog Thank you! | Promitor
  2. Intelligent Cloud Conference 2018 - Automatically scaling Kubernetes … (slideshare.net) Announcing Promitor v1.0 (tomkerkhove.be) Announcing Promitor 2.0 (tomkerkhove.be) Partners that integrate with Azure Monitor - Azure Monitor | Microsoft Docs Announcing: Azure credits for open source projects - Microsoft Open Source Blog Thank you! | Promitor
  3. Intelligent Cloud Conference 2018 - Automatically scaling Kubernetes … (slideshare.net) Announcing Promitor v1.0 (tomkerkhove.be) Announcing Promitor 2.0 (tomkerkhove.be) Partners that integrate with Azure Monitor - Azure Monitor | Microsoft Docs Announcing: Azure credits for open source projects - Microsoft Open Source Blog Thank you! | Promitor
  4. Intelligent Cloud Conference 2018 - Automatically scaling Kubernetes … (slideshare.net) Announcing Promitor v1.0 (tomkerkhove.be) Announcing Promitor 2.0 (tomkerkhove.be) Partners that integrate with Azure Monitor - Azure Monitor | Microsoft Docs Announcing: Azure credits for open source projects - Microsoft Open Source Blog Thank you! | Promitor
  5. Intelligent Cloud Conference 2018 - Automatically scaling Kubernetes … (slideshare.net) Announcing Promitor v1.0 (tomkerkhove.be) Announcing Promitor 2.0 (tomkerkhove.be) Partners that integrate with Azure Monitor - Azure Monitor | Microsoft Docs Announcing: Azure credits for open source projects - Microsoft Open Source Blog Thank you! | Promitor