Till,
Yes, it is a good idea to have a feature flag to switch the web UI before
we completely deprecate the old one.

Yadong,
It seems that everyone likes the new web UI. Can you please open a master
Jira and start to merge the code to Flink master. What do you think?

Regards,
Shaoxuan

On Mon, Nov 5, 2018 at 7:04 PM Till Rohrmann <trohrm...@apache.org> wrote:

> Thanks a lot for sharing the code with the community Yadong!
>
> It looks really cool and I also want to give it a try to see how easy it is
> to start Flink with it.
>
> If it is already implemented and working, we could also think about adding
> it to Flink and add a feature flag to switch between the old and new web
> UI. We could think about enabling it by default to give it more user
> exposure. After being confident and users having no complaints, we could
> think about deprecating the old web UI and eventually to drop it. Of
> course, initially we should give it a thorough review.
>
> Cheers,
> Till
>
> On Mon, Nov 5, 2018 at 8:40 AM Fabian Wollert <fab...@zalando.de> wrote:
>
> > Hi Yadong, this is awesome, thx for the code! I will try it out on our
> > infrastructure and will post my feedback here, latest next week.
> >
> > I will also check if my ideas for FLINK-10707
> > <https://issues.apache.org/jira/browse/FLINK-10707> are doable with your
> > code since this was what pushed this discussion initially.
> >
> > Cheers
> >
> > --
> >
> >
> > *Fabian WollertZalando SE*
> >
> > E-Mail: fab...@zalando.de
> >
> >
> > Am Mo., 5. Nov. 2018 um 04:42 Uhr schrieb Yadong Xie <
> vthink...@gmail.com
> > >:
> >
> > > Hi Fabian, Till, and Robert
> > >
> > > Thank you for your attention to this matter, I just push our codes to
> > > github: https://github.com/vthinkxie/flink-runtime-web.
> > >
> > > You can start the project by following the guidelines
> > > <https://github.com/vthinkxie/flink-runtime-web#development--debugging
> >
> > > (just
> > > run `npm install && npm run proxy`), just feel free to give any
> comments
> > :)
> > >
> > > If I missed anything please let me know. Look forward to your feedback
> > and
> > > suggestions soon.
> > >
> > > Best regards
> > > Yadong
> > >
> > >
> > > On Fri, Nov 2, 2018 at 5:28 PM Fabian Wollert <fab...@zalando.de>
> wrote:
> > >
> > > > Hi Yadong, this looks awesome. is there any chance you can already
> > share
> > > > the code of the new web UI, so we can take a look at what you guys
> > build
> > > > there? I think that would speed up the discussion. If there is
> already
> > a
> > > > fully fledged new Version with everything updated out there, and its
> > even
> > > > battle tested in production already, that sounds like the way to go
> for
> > > me.
> > > >
> > > > i started aside from this discussion here (to strengthen and learn
> some
> > > > new React stuff) my attempt on the React version already, for whoever
> > is
> > > > curious, you can check it out here:
> > > > https://github.com/drummerwolli/flink-web-ui-tmp (adjust the base
> url
> > in
> > > > actions.js
> > > > <
> > >
> >
> https://github.com/drummerwolli/flink-web-ui-tmp/blob/master/src/actions.js#L8
> > > >,
> > > > npm install and then npm start) ... i just started to convert the
> first
> > > > simple pages, so dont expect the whole UI yet, its just a start ...
> > > >
> > > > Cheers
> > > >
> > > > --
> > > >
> > > >
> > > > *Fabian WollertZalando SE*
> > > >
> > > > E-Mail: fab...@zalando.de
> > > >
> > > >
> > > > Am Fr., 2. Nov. 2018 um 07:52 Uhr schrieb Jeff Zhang <
> zjf...@gmail.com
> > >:
> > > >
> > > >> +1 for the proposal of Yadong.  I'd like to add one more comment:
> > > >>
> > > >> We should provide more development guidance when developing the next
> > > >> dashboard via angular 7. As Till mentioned before, one big concern
> is
> > > lack
> > > >> of frontend guys in flink community, I believe more development
> > guidance
> > > >> will attract more frontend guys to contribute to Flink web ui, and
> > also
> > > be
> > > >> helpful for backend guys who want to add something to dashboard.
> > > >>
> > > >>
> > > >>
> > > >> Shaoxuan Wang <wshaox...@gmail.com>于2018年11月2日周五 上午10:06写道:
> > > >>
> > > >> > +1 to keep the web UI stack to Angular. This will make the stack
> > > >> upgrading
> > > >> > much easier and won't break the on-going efforts already made
> > towards
> > > >> the
> > > >> > improvements of Flink Web UI.
> > > >> >
> > > >> > Till, Robert, and Fabian,
> > > >> > Please take a look at the upgrading plan from Angular 1.x to 7.0
> > > >> proposed
> > > >> > by Yadong. Any feedback is appreciated.
> > > >> >
> > > >> > Regards,
> > > >> > Shaoxuan
> > > >> >
> > > >> >
> > > >> > On Thu, Nov 1, 2018 at 5:41 PM Yadong Xie <vthink...@gmail.com>
> > > wrote:
> > > >> >
> > > >> > > For your interest, here are some snapshots of Flink web UI (with
> > > >> angular
> > > >> > > 7.0) we recently reconstructed.
> > > >> > > [image: snapshot.001.jpeg]
> > > >> > >
> > > >> > >
> > > >> >
> > > >>
> > >
> >
> https://drive.google.com/file/d/1p7rcmgHi3ZJpjt7h1H97VIrIhNkiBs1j/view?usp=sharing
> > > >> > >
> > > >> > > We choose Angular 7.0 due to the following reasons:
> > > >> > >
> > > >> > >    1. It is easy to migrate the current codebase to Angular 7.0
> > > >> following
> > > >> > >    the official guide.
> > > >> > >    2. It is easy for current Web UI developers who are
> experienced
> > > >> with
> > > >> > >    Angular 1.x to get familiar with 7.0 reading the official
> doc.
> > > >> > >    3. Migrating other than rewriting is helpful to ensure its
> > > >> functional
> > > >> > >    integrity.
> > > >> > >    4. There are over 1 million Angular developers now (2.0 and
> > > above,
> > > >> > >    still increasing rapidly), which means there are potentially
> > more
> > > >> > >    developers willing to join the community.
> > > >> > >    5. No bower or complex node / webpack configuration needed
> > (only
> > > >> > >    angular cli).
> > > >> > >
> > > >> > > We split Angular 1.x and 7.0 versions into two folders based on
> > the
> > > >> > > following consideration:
> > > >> > >
> > > >> > >    1. 1.x version could be the default page because there is no
> > > >> > >    breakchange for both users and developers.
> > > >> > >    2. Make the upgrade progressive. Users can switch between two
> > > >> versions
> > > >> > >    by clicking the button on the top right corner.
> > > >> > >    3. Reduce maintenance costs and keep the performance of web
> > > without
> > > >> > >    bootstrap both 1.x and 7.0 versions in the same page.
> > > >> > >    4. Won't interrupt the current development process. The code
> > can
> > > >> still
> > > >> > >    be submitted to 1.x version folder, we could help to sync all
> > > >> > features and
> > > >> > >    bug fix to 7.0 version if needed.
> > > >> > >    5. When the 7.0 version is ready and stable, it is easy to
> > change
> > > >> > >    default page to it, and remove the old version.
> > > >> > >
> > > >> > > [image: test.jpg]
> > > >> > >
> > > >> > >
> > > >> > >
> > > >> >
> > > >>
> > >
> >
> https://drive.google.com/file/d/1v7U5upP0fSepVl-E_46k-Qfj9uVfrGZf/view?usp=sharing
> > > >> > >
> > > >> > > Here is the brief list of what we have done:
> > > >> > >
> > > >> > >    1. Create a new folder named next-web-dashboard in
> > > >> flink-runtime-web.
> > > >> > >    2. Migrate all Angular 1.x controllers, services, config etc
> > one
> > > by
> > > >> > >    one into 7.0 version with ngMigration.
> > > >> > >    3. Modify frontend build scripts in order to package two
> > versions
> > > >> > >    together.
> > > >> > >    4. All works listed above are limited in the
> flink-runtime-web
> > > >> folder.
> > > >> > >    One folder was added and no file or folder was deleted.
> > > >> > >
> > > >> > > The new version of the Web UI is running stable for several
> months
> > > in
> > > >> > > Alibaba. We are happy to contribute it to the Flink community if
> > > >> everyone
> > > >> > > like the work.
> > > >> > >
> > > >> > > Best
> > > >> > > Yadong
> > > >> > >
> > > >> > > On Wed, Oct 31, 2018 at 5:48 PM Till Rohrmann <
> > trohrm...@apache.org
> > > >
> > > >> > > wrote:
> > > >> > >
> > > >> > >> I agree with Chesnay that the web UI is already fairly isolated
> > in
> > > >> > Flink's
> > > >> > >> code base (see flink-runtime-web module). Moreover, imo it is
> > very
> > > >> > >> important that Flink comes with a nice web UI which works out
> of
> > > the
> > > >> box
> > > >> > >> because it lowers the entrance hurdle massively. What one could
> > > >> argue is
> > > >> > >> to
> > > >> > >> make it easier to plug in your own web UI if you want to
> develop
> > > it.
> > > >> > But I
> > > >> > >> would see this as an orthogonal issue.
> > > >> > >>
> > > >> > >> I would actually argue against Robert's proposal to make a
> grand
> > > >> rewrite
> > > >> > >> if
> > > >> > >> this is by any means possible. Experience shows that these kind
> > of
> > > >> > efforts
> > > >> > >> are usually set up to fail or take super long. If possible,
> then
> > I
> > > >> would
> > > >> > >> rather prefer to convert one component at a time to React. But
> > I'm
> > > >> not
> > > >> > an
> > > >> > >> expert here and cannot tell whether this is possible or not.
> > > >> > >>
> > > >> > >> What we would need is active help from the community to review
> > > these
> > > >> > >> changes. I think that is the crucial piece to make such an
> effort
> > > >> work
> > > >> > or
> > > >> > >> fail.
> > > >> > >>
> > > >> > >> Cheers,
> > > >> > >> Till
> > > >> > >>
> > > >> > >> On Wed, Oct 31, 2018 at 10:14 AM Chesnay Schepler <
> > > >> ches...@apache.org>
> > > >> > >> wrote:
> > > >> > >>
> > > >> > >> > The WebUI goes entirely through the REST API.
> > > >> > >> >
> > > >> > >> > I don't see how moving it out would make it easier to
> > > >> > >> develop/contribute.
> > > >> > >> >
> > > >> > >> > The UI is already encapsulated in it's own module
> > > >> (flink-runtime-web)
> > > >> > >> > and changes can be made to it independently.
> > > >> > >> > Historically the issue was simply that contributions to the
> UI
> > > were
> > > >> > not
> > > >> > >> > reviewed in a timely manner /  not at all, which mind you
> > > >> > >> > applies to virtually all components. This also won't change
> by
> > > >> moving
> > > >> > it
> > > >> > >> > out of Flink.
> > > >> > >> >
> > > >> > >> > Having it in Flink also guarantees that there is an
> > > >> > easily-discoverable
> > > >> > >> > version of the UI that is compatible with your Flink
> > > distribution.
> > > >> > >> >
> > > >> > >> > On 31.10.2018 09:53, dyana.rose wrote:
> > > >> > >> > > Re: who's using the web ui
> > > >> > >> > >
> > > >> > >> > > Though many mature solutions, with a fair amount of
> > > >> time/resources
> > > >> > >> > available are likely running their own front ends, for teams
> > like
> > > >> mine
> > > >> > >> > which are smaller and aren't focused solely on working with
> > > Flink,
> > > >> > >> having
> > > >> > >> > the web ui available removes a large barrier to getting up
> and
> > > >> running
> > > >> > >> > quickly.
> > > >> > >> > >
> > > >> > >> > > But, with the web UI being in core Flink, it does make it a
> > bit
> > > >> more
> > > >> > >> of
> > > >> > >> > a chore to contribute.
> > > >> > >> > >
> > > >> > >> > > I'm unaware of how necessary it is for the UI to deploy
> with
> > > >> Flink?
> > > >> > Is
> > > >> > >> > it making any calls that aren't through the REST API (and if
> > so,
> > > >> can
> > > >> > >> those
> > > >> > >> > endpoints be added to the REST API)?
> > > >> > >> > >
> > > >> > >> > > In general I'd support moving it to its own package, making
> > it
> > > >> > easier
> > > >> > >> to
> > > >> > >> > develop with your standard UI dev tools. This also allows the
> > web
> > > >> UI
> > > >> > to
> > > >> > >> be
> > > >> > >> > developed and released independently to core Flink.
> > > >> > >> > >
> > > >> > >> > > Dyana
> > > >> > >> > >
> > > >> > >> > > On 2018/10/31 07:47:50, Fabian Wollert <fab...@zalando.de>
> > > >> wrote:
> > > >> > >> > >> Hi Till, I basically agree with all your points. i would
> > > stress
> > > >> the
> > > >> > >> > >> "dustiness" of the current architecture: the package
> manager
> > > >> used
> > > >> > >> > (bower)
> > > >> > >> > >> is deprecated since a long time, the chance for the builds
> > of
> > > >> the
> > > >> > >> flink
> > > >> > >> > web
> > > >> > >> > >> dashboard not working anymore is increasing every day.
> > > >> > >> > >>
> > > >> > >> > >> About the knowledge in the community: Two days is not a
> lot
> > of
> > > >> > time,
> > > >> > >> but
> > > >> > >> > >> interest in this topic seems to be minor anyways. Is
> someone
> > > >> using
> > > >> > >> the
> > > >> > >> > >> Flink Web Dashboard at all, or is everyone running their
> own
> > > >> custom
> > > >> > >> > >> solutions? Because if there is no interest in using the
> Web
> > UI
> > > >> AND
> > > >> > no
> > > >> > >> > one
> > > >> > >> > >> interested in developing, there would be no need to
> package
> > > >> this as
> > > >> > >> > part of
> > > >> > >> > >> the official Flink package, but rather develop an
> > independent
> > > >> > >> solution
> > > >> > >> > (I'm
> > > >> > >> > >> not voting for this right now, just putting it out), if at
> > > all.
> > > >> The
> > > >> > >> > >> official package could then just ship with the API, which
> > > other
> > > >> > >> > solutions
> > > >> > >> > >> can build upon. This solution could be from an agile point
> > of
> > > >> view
> > > >> > >> also
> > > >> > >> > the
> > > >> > >> > >> best (enhanced testing, independent and more effective dev
> > > >> > workflow,
> > > >> > >> > etc.),
> > > >> > >> > >> but is bad for the usage of the Flink UI, because people
> > need
> > > to
> > > >> > >> install
> > > >> > >> > >> two things individually (Flink and the web dashboard).
> > > >> > >> > >>
> > > >> > >> > >> How did the choice for Angular1 happen back then? Who was
> > > >> writing
> > > >> > the
> > > >> > >> > >> Dashboard in the first place?
> > > >> > >> > >>
> > > >> > >> > >> Cheers
> > > >> > >> > >>
> > > >> > >> > >> --
> > > >> > >> > >>
> > > >> > >> > >>
> > > >> > >> > >> *Fabian WollertZalando SE*
> > > >> > >> > >>
> > > >> > >> > >> E-Mail: fab...@zalando.de
> > > >> > >> > >>
> > > >> > >> > >>
> > > >> > >> > >> Am Di., 30. Okt. 2018 um 15:07 Uhr schrieb Till Rohrmann <
> > > >> > >> > >> trohrm...@apache.org>:
> > > >> > >> > >>
> > > >> > >> > >>> Thanks for starting this discussion Fabian! I think our
> web
> > > UI
> > > >> > >> > technology
> > > >> > >> > >>> stack is quite dusty by now and it would be beneficial to
> > > think
> > > >> > >> about
> > > >> > >> > its
> > > >> > >> > >>> technological future.
> > > >> > >> > >>>
> > > >> > >> > >>> On the one hand, our current web UI works more or less
> > > reliable
> > > >> > and
> > > >> > >> > >>> changing the underlying technology has the risk of
> breaking
> > > >> > things.
> > > >> > >> > >>> Moreover, there might be the risk that the newly chosen
> > > >> technology
> > > >> > >> > will be
> > > >> > >> > >>> deprecated at some point in time as well.
> > > >> > >> > >>>
> > > >> > >> > >>> On the other hand, we don't have much Angular 1 knowledge
> > in
> > > >> the
> > > >> > >> > community
> > > >> > >> > >>> and extending the web UI is, thus, quite hard at the
> > moment.
> > > >> Maybe
> > > >> > >> by
> > > >> > >> > using
> > > >> > >> > >>> some newer web technologies we might be able to attract
> > more
> > > >> > people
> > > >> > >> > with a
> > > >> > >> > >>> web technology background to join the community.
> > > >> > >> > >>>
> > > >> > >> > >>> The lack of people working on the web UI is for me the
> > > biggest
> > > >> > >> problem
> > > >> > >> > I
> > > >> > >> > >>> would like to address. If there is interest in the web
> UI,
> > > then
> > > >> > I'm
> > > >> > >> > quite
> > > >> > >> > >>> sure that we will be able to even migrate to some other
> > > >> technology
> > > >> > >> in
> > > >> > >> > the
> > > >> > >> > >>> future. The next important issue for me is to do the
> change
> > > >> > >> > incrementally
> > > >> > >> > >>> if possible. Ideally we never break the web UI in the
> > process
> > > >> of
> > > >> > >> > migrating
> > > >> > >> > >>> to a new technology. I'm not an expert here so it might
> or
> > > >> might
> > > >> > >> not be
> > > >> > >> > >>> possible. But if it is, then we should design the
> > > >> implementation
> > > >> > >> steps
> > > >> > >> > in
> > > >> > >> > >>> such a way.
> > > >> > >> > >>>
> > > >> > >> > >>> Cheers,
> > > >> > >> > >>> Till
> > > >> > >> > >>>
> > > >> > >> > >>> On Mon, Oct 29, 2018 at 1:06 PM Fabian Wollert <
> > > >> fab...@zalando.de
> > > >> > >
> > > >> > >> > wrote:
> > > >> > >> > >>>
> > > >> > >> > >>>> Hi everyone,
> > > >> > >> > >>>>
> > > >> > >> > >>>> in this email thread
> > > >> > >> > >>>> <
> > > >> > >> > >>>>
> > > >> > >> > >>>
> > > >> > >> >
> > > >> > >>
> > > >> >
> > > >>
> > >
> >
> http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/DISCUSS-Flink-Cluster-Overview-Dashboard-Improvement-Proposal-td24531.html
> > > >> > >> > >>>> and the tickets FLINK-10705
> > > >> > >> > >>>> <https://issues.apache.org/jira/browse/FLINK-10705> and
> > > >> > >> FLINK-10706
> > > >> > >> > >>>> <https://issues.apache.org/jira/browse/FLINK-10706> the
> > > >> > discussion
> > > >> > >> > came
> > > >> > >> > >>> up
> > > >> > >> > >>>> whether to change the underlying architecture of Flink's
> > Web
> > > >> > >> Dashboard
> > > >> > >> > >>> from
> > > >> > >> > >>>> Angular1 to something else. This email thread should be
> > > >> solely to
> > > >> > >> > discuss
> > > >> > >> > >>>> the pro's and con's of this, and what could be the
> target
> > > >> > >> > architecture.
> > > >> > >> > >>>>
> > > >> > >> > >>>> My choice would be React. Personally I agree with Till's
> > > >> comments
> > > >> > >> in
> > > >> > >> > the
> > > >> > >> > >>>> ticket, Angular 1 being basically outdated and is not
> > > having a
> > > >> > >> large
> > > >> > >> > >>>> following anymore. From my experience the choice between
> > > >> Angular
> > > >> > >> 2-7
> > > >> > >> > or
> > > >> > >> > >>>> React is subjective, you can get things done with both.
> I
> > > >> > >> personally
> > > >> > >> > only
> > > >> > >> > >>>> have experience with React, so I  personally would be
> > faster
> > > >> to
> > > >> > >> > develop
> > > >> > >> > >>>> with this one. I currently have not planned to learn
> > Angular
> > > >> as
> > > >> > >> well
> > > >> > >> > >>> (being
> > > >> > >> > >>>> a more backend focused developer in general) so if the
> > > >> decision
> > > >> > >> would
> > > >> > >> > be
> > > >> > >> > >>> to
> > > >> > >> > >>>> go with Angular, i would be unfortunately out of this
> > rework
> > > >> of
> > > >> > the
> > > >> > >> > Flink
> > > >> > >> > >>>> Dashboard most certainly.
> > > >> > >> > >>>>
> > > >> > >> > >>>> Additionally i would like to get rid of bower, since its
> > > >> > officially
> > > >> > >> > >>>> deprecated <
> > > >> > >> > https://bower.io/blog/2017/how-to-migrate-away-from-bower/>.
> > > >> > >> > >>>> my
> > > >> > >> > >>>> idea would be to just use a create-react-app package
> with
> > > npm
> > > >> and
> > > >> > >> > webpack
> > > >> > >> > >>>> under the hood. no need for additional lib's here imho.
> > But
> > > >> > again:
> > > >> > >> > thats
> > > >> > >> > >>>> mostly what i've been working with recently, so thats a
> > > >> > subjective
> > > >> > >> > >>> point. I
> > > >> > >> > >>>> could imagine getting used to yarn in the future as
> well.
> > > >> > >> > >>>>
> > > >> > >> > >>>> Cheers
> > > >> > >> > >>>> Fabian
> > > >> > >> > >>>>
> > > >> > >> > >>>> --
> > > >> > >> > >>>>
> > > >> > >> > >>>>
> > > >> > >> > >>>> *Fabian WollertZalando SE*
> > > >> > >> > >>>>
> > > >> > >> > >>>> E-Mail: fab...@zalando.de
> > > >> > >> > >>>>
> > > >> > >> >
> > > >> > >> >
> > > >> > >>
> > > >> > >
> > > >> > >
> > > >> > > --
> > > >> > > Yadong Xie
> > > >> > > Ministry of Education Key Lab for Intelligent Networks and
> Network
> > > >> > Security
> > > >> > > Dept. of Computer Science and Technology
> > > >> > > School of electronic information and engineering
> > > >> > > Xi'an Jiaotong University
> > > >> > > Xi'an, 710049, P.R. China
> > > >> > > Email: vthink...@gmail.com
> > > >> > >
> > > >> >
> > > >>
> > > >
> > >
> >
>

Reply via email to