You can use it to drive automation in external apps, without having to leave your inbox. Zapier and other no-code solutions have such integrations, but they are expensive and require access to all your emails. This was something I was not willing to give up, for privacy reasons.
Webhooks are great for producers of events, and I'd argue that it's too cumbersome for them to provide an '/events' endpoint primary because of scaling. With webhooks, they can offload events at their own pace.
For consumers, I agree with most here that Kafka is certainly overkill. We've gotten away with a very simple architecture to have reliable event consumption. We point all webhooks to an (AWS) API Gateway backed by Lambdas. The Lambdas push the events to an SQS queue (FIFO-queue, if it needs some sort of sequence), and we take our time consuming the events through a very generic poll.
> Webhooks are great for producers of events, and I'd argue that it's too cumbersome for them to provide an '/events' endpoint primary because of scaling. With webhooks, they can offload events at their own pace.
TBF they could do something similar with `/events`, instead of pushing events to a webhooks-sending queue just push them to the events buffer, which could even be a circular buffer just to point out that the essay is completely wrong. TFA is not asking for /events, they're asking for a very specific kind of /events with a large non-drained buffer. Something which would only ever work for low number of events: $dayjob's github integration takes in several events per second.
A proper event stream would be nice though, github's webhooks delivery system is not exactly reliable.
> With webhooks, they can offload events at their own pace.
They can't offload webhooks at their own pace if the two parties want reliable delivery. The server providing the webhook might be experiencing a prolonged outage, in which case the sender needs the ability to buffer the events anyway.
Work with the latest tech, and enjoy an amazing team, with laser focus on a great social mission. Our professional development platform and personalized coaching has increased teacher retention and created an amazing space for teachers to hone their craft.
We work in Python (Flask), React, Node, and some serverless services, with AWS Lambda and Amazon API Gateway.
BetterLesson has the best K-12 lesson plans and content for teachers. We are now hard at work fine-tuning the best professional development platform they have ever experienced. Come help us!
Feel free to reach out directly with any questions: grejdi@betterlesson.com
Work with the latest tech, and enjoy an amazing culture, with laser focus on a great social mission. Join a tight-knit and efficient team as we support our company’s growth.
We're looking for:
* Technical Flexibility
* Development Speed
* Cultural Fit
Our primary stack is Python and ReactJS. We also work with PHP, NodeJS, and Amazon Web Services, such as AWS Lambda.
At BetterLesson (https://betterlesson.com), our mission is to empower teachers (K-12) through personalized professional development, and in turn make a bigger impact on students across the country.
We at BetterLesson have been working on this for the past 2 years. We have accumulated a vast amount of lesson plans from some of the best teachers throughout the country and from various environments, whether urban, suburban or rural. Teachers have free access to all these Common Core aligned lessons, among other standards that we have started supporting. See http://betterlesson.com/common_core/browse/624/ccss-math-con...
You can use it to drive automation in external apps, without having to leave your inbox. Zapier and other no-code solutions have such integrations, but they are expensive and require access to all your emails. This was something I was not willing to give up, for privacy reasons.
I've currently completed a Webhook (https://emailic.com/apps/webhook/) and Upload to Dropbox (https://emailic.com/apps/dropbox_upload/) integration. Check it out, and let me know what you all think! (Email address is in my profile.)