serverless / event-gateway

React to any event with serverless functions across clouds
https://www.serverless.com/event-gateway
Apache License 2.0
1.65k stars 97 forks source link

Local experience? #49

Closed brianneisler closed 7 years ago

brianneisler commented 7 years ago

What will the local development experience look like for a developer working on a serverless service that uses the gateway? I emphasize that i'm not talking about devs developing the gateway itself, but instead using the gateway as part of their serverless service

Some questions/thoughts

austencollins commented 7 years ago

Great questions. More thoughts...

There is an immediate opportunity to offer value and gain users quickly by making the Event Gateway a compelling alternative to AWS API Gateway. This is why we are starting with this functionality.

The Event Gateway will offer a better alternative to AWS API Gateway by:

1) Offering a single gateway experience for functions on multiple clouds. 2) Treating HTTP requests like any other event, offering a single, simple developer experience for writing functions that can react to anything.

Another way to add value is to offer a better local experience than AWS API Gateway. If you look at our Framework data, the serverless-offline plugin, which emulates API Gateway locally, is our most popular plugin. Its commands are the 5th and 7th most popular commands, and it's not even in the core of the Framework!

The data is clear. There is major demand and therefore a big opportunity here to offer something better, via an excellent local experience.

Suggestions:

1) Ensure the gateway works locally like it works in the cloud. We can't recreate all managed services (e.g., DynamoDB, S3), but we can emulate serverless compute locally and enable the event gateway to run locally, which will still be major progress for serverless architectures compared to the poor local experience they have today.

2) Work closely with the Framework team to figure out how we can create a beautiful developer experience here.

3) Always remember that we are not building an API Gateway. We are building a new category. HTTP requests should be handled like any other event. We must enable developers to focus only on functions, events and building their vision, rather than worrying about the underlying event source or aberrations developers must be aware of to work with those sources. Aberrations are the enemy of simplicity. We will onboard users into our event-driven application experience via this familiar, valuable functionality, and then expand on that experience and functionality of the gateway to give them something much more powerful.