elastic / kibana

Your window into the Elastic Stack
https://www.elastic.co/products/kibana
Other
19.38k stars 8k forks source link

Make serverless the default for yarn start / yarn es #182339

Open flash1293 opened 1 month ago

flash1293 commented 1 month ago

As serverless is on track to become an important target for development efforts, development should mostly happen in the serverless context unless there is a particular reason to work on a stateful-only feature:

To address this, I'm proposing one of these two adjustments:

elasticmachine commented 1 month ago

Pinging @elastic/kibana-operations (Team:Operations)

jbudz commented 1 month ago

cc @elastic/appex-sharedux @elastic/kibana-core any thoughts?

TinaHeiligers commented 4 weeks ago

@flash1293 While I see the benefit to elastic devs, we cannot ignore the dev community as a whole.

How much impact would changing the default behavior affect developers from outside of Elastic?

As an alternative, could we recommend setting an alias to the start script, or perhaps introducing a new startup yarn method that defaults to serverless instead?

flash1293 commented 3 weeks ago

Thanks for raising this point @TinaHeiligers

How much impact would changing the default behavior affect developers from outside of Elastic?

They would try to run the dev server as usual and see an explanatory error message that mentions how to run the "old" thing.

As an alternative, could we recommend setting an alias to the start script, or perhaps introducing a new startup yarn method that defaults to serverless instead?

The yarn start --serverless=oblt is already there, but IMHO the power of this really is the default behavior to nudge devs towards using it. As a side note, are we collecting telemetry on these dev tools? Just to get an idea of where we are right now and how much communication / default changing we need to do.

It's really about the goal of having devs perceiving serverless as the default, everything is just a means to that end.

pgayvallet commented 3 weeks ago

any thoughts?

I'm personally against it:

IHMO, we already have the tooling / commands in place to run serverless, and by defaulting the "standard" command so that it runs serverless instead of traditional, we're breaking the default behavior for any non-internal developer (that can't run serverless locally given it requires internal ES images), and also sending a strong message that this repository is more about our internal serverless solution than the traditional ES.

If the issue is that our developers are not testing properly against serverless / not running serverless mode locally, I feel like it's more an educational issue than a tooling one, maybe?