Re: [openstack-dev] [FaaS] Introduce a FaaS project

2017-05-15 Thread Lingxian Kong
Hi, Rob,

Appreciate your suggestions. Please see my inline comments.

On Mon, May 15, 2017 at 11:17 PM, Robert Putt 
wrote:

> For me the important things are:
>
>
>
> a)   Sandboxed code in some container solution
>
Yeah, it's on the roadmap (may happen in several days.)

> b)   Pluggable backends for said sandbox to remove vendor lock in
>
c)   Pluggable storage for function packages, the default probably
> being Swift
>
Qinling already supports plugable storage. In order to make it easy to
test, the default is local file system. But it's up to deployer to decide
which storage solution to use.

> d)   Integration with Keystone for auth and role based access control
> e.g. sharing functions with other tenants but maybe with different
> permissions, e.g. dev tenant in a domain can publish functions but prod
> tenant can only execute the functions.
>
Qinling supports Keystone for authentication. RBAC is on the roadmap.

> e)   Integration with Neutron so functions can access tenant networks.
>
This needs to be discussed further. Currently, the code is executed inside
container which locates in orchestration system. Not sure it's easy to make
that container access tenant network.

> f)A web services gateway to create RESTful APIs and map URIs /
> verbs / API requests to functions.
>
Currently, user could invoke function by calling Qinling's rest api, but I
agree with you that an API Gateway service is indeed necessary to provide
more flexibility to end users.

> g)   It would also be nice to have some meta data service like what
> we see in Nova so functions can have an auto injected context relating to
> the tenant running it rather than having to inject all parameters via the
> API.
>

Cheers,
Lingxian Kong (Larry)
__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [FaaS] Introduce a FaaS project

2017-05-15 Thread Robert Putt
Hi,

I am very interested in FaaS coming to OpenStack, it totally makes sense to 
have it as part of the platform. I have observed the current OpenStack Picasso 
project although I too am concerned about vendor lock in to IronFunctions with 
the Picasso project. I think it is also important not to alienate the current 
OpenStack community by introducing non standard components or languages, I am 
hopeful the new releases of Python can provide reasonable performance so it is 
possible to keep Python as a primary language for a FaaS project. My main 
concern is that we seem to have several FaaS projects with different approaches 
rather than having us all work on one superior FaaS solution. Is there a way we 
can win over the Picasso project team to be more understanding of the vendor 
lock in and language concerns?

For me the important things are:


a)   Sandboxed code in some container solution

b)   Pluggable backends for said sandbox to remove vendor lock in

c)   Pluggable storage for function packages, the default probably being 
Swift

d)   Integration with Keystone for auth and role based access control e.g. 
sharing functions with other tenants but maybe with different permissions, e.g. 
dev tenant in a domain can publish functions but prod tenant can only execute 
the functions.

e)   Integration with Neutron so functions can access tenant networks.

f)A web services gateway to create RESTful APIs and map URIs / verbs / 
API requests to functions.

g)   It would also be nice to have some meta data service like what we see 
in Nova so functions can have an auto injected context relating to the tenant 
running it rather than having to inject all parameters via the API.

Just some thoughts. If you’d like these converted into basic blueprints for the 
project let me know, I know some of them may seem like very stretched goals at 
the moment but I am sure their time will come.

Best Regards,

Rob


From: Lingxian Kong <anlin.k...@gmail.com>
Reply-To: "OpenStack Development Mailing List (not for usage questions)" 
<openstack-dev@lists.openstack.org>
Date: Monday, May 15, 2017 at 10:56 AM
To: "OpenStack Development Mailing List (not for usage questions)" 
<openstack-dev@lists.openstack.org>
Subject: Re: [openstack-dev] [FaaS] Introduce a FaaS project

On Mon, May 15, 2017 at 8:32 PM, Sam P 
<sam47pr...@gmail.com<mailto:sam47pr...@gmail.com>> wrote:
Hi Larry,
 Thank you for the details.
 I am interested and like the idea of no vendor/platform lock-in.

 However,  I still have this stupid question in me.
 Why FaaS need to be in the OpenStack ecosystem? Can it survive
outside and still be able to integrate with OpenStack?

In OpenStack ecosystem, I mean put this project under OpenStack umbrella so 
that it could leverage OpenStack facilities, and integrating with other 
OpenStack services means it is an option to be deployed together with them and 
be triggered by event/notification from them.

 This FaaS must able to well integrated with OpenStack ecosystem and
no argument there.

>>IMHO, none of them can be well integrated with OpenStack ecosystem.
Can you share more details on this?  If you have done any survey on
this,  please share.
Crating FaaS with pure OpenStack means, we need to create something
similar to OpenWhisk or IronFunctions with existing or new OpenStack
components.
I just want to make sure it is worth it to recreate the wheels.

Yeah, you are right, as I said at the beginning, I'm sort of recreating the 
wheels. I hope the new project can be easily installed together with other 
OpenStack projects using similar methodology, it can provide a beautiful 
RESTful API to end users, it's easy for OpenStack developers to understand and 
maintain. I don't think it is that easy if we go with OpenWhisk or 
IronFunctions. Actually, in container world, there are already a lot of 
projects doing the same thing. But again, I'm OpenStack developer, we are 
running an OpenStack based public cloud, I don't want to mess things up to 
introduce things which will probably introduce other things.



Jsut for the info, I think this [0] is your previous ML thread...
[0] http://lists.openstack.org/pipermail/openstack-dev/2017-May/116472.html


Thanks to find it out :)



Rackspace Limited is a company registered in England & Wales (company 
registered number 03897010) whose registered office is at 5 Millington Road, 
Hyde Park Hayes, Middlesex UB3 4AZ. Rackspace Limited privacy policy can be 
viewed at www.rackspace.co.uk/legal/privacy-policy - This e-mail message may 
contain confidential or privileged information intended for the recipient. Any 
dissemination, distribution or copying of the enclosed material is prohibited. 
If you receive this transmission in error, please notify us immediately by 
e-mail at ab...@rackspace.com and d

Re: [openstack-dev] [FaaS] Introduce a FaaS project

2017-05-15 Thread Lingxian Kong
On Mon, May 15, 2017 at 8:32 PM, Sam P  wrote:

> Hi Larry,
>  Thank you for the details.
>  I am interested and like the idea of no vendor/platform lock-in.
>
>  However,  I still have this stupid question in me.
>  Why FaaS need to be in the OpenStack ecosystem? Can it survive
> outside and still be able to integrate with OpenStack?
>

In OpenStack ecosystem, I mean put this project under OpenStack umbrella so
that it could leverage OpenStack facilities, and integrating with other
OpenStack services means it is an option to be deployed together with them
and be triggered by event/notification from them.


>  This FaaS must able to well integrated with OpenStack ecosystem and
> no argument there.
>
> >>IMHO, none of them can be well integrated with OpenStack ecosystem.
> Can you share more details on this?  If you have done any survey on
> this,  please share.
> Crating FaaS with pure OpenStack means, we need to create something
> similar to OpenWhisk or IronFunctions with existing or new OpenStack
> components.
> I just want to make sure it is worth it to recreate the wheels.
>

Yeah, you are right, as I said at the beginning, I'm sort of recreating the
wheels. I hope the new project can be easily installed together with other
OpenStack projects using similar methodology, it can provide a beautiful
RESTful API to end users, it's easy for OpenStack developers to understand
and maintain. I don't think it is that easy if we go with OpenWhisk or
IronFunctions. Actually, in container world, there are already a lot of
projects doing the same thing. But again, I'm OpenStack developer, we are
running an OpenStack based public cloud, I don't want to mess things up to
introduce things which will probably introduce other things.


>
>
> Jsut for the info, I think this [0] is your previous ML thread...
> [0] http://lists.openstack.org/pipermail/openstack-dev/2017-
> May/116472.html
>
>
Thanks to find it out :)
__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [FaaS] Introduce a FaaS project

2017-05-15 Thread Lingxian Kong
On Mon, May 15, 2017 at 5:59 PM, Li Ma  wrote:

> Do you have submitted a proposal to create this project under
> OpenStack umbrella?
>

Yeah, as the first step: https://review.openstack.org/#/c/463953/


Cheers,
Lingxian Kong (Larry)
__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [FaaS] Introduce a FaaS project

2017-05-15 Thread Sam P
Hi Larry,
 Thank you for the details.
 I am interested and like the idea of no vendor/platform lock-in.

 However,  I still have this stupid question in me.
 Why FaaS need to be in the OpenStack ecosystem? Can it survive
outside and still be able to integrate with OpenStack?
 This FaaS must able to well integrated with OpenStack ecosystem and
no argument there.

>>IMHO, none of them can be well integrated with OpenStack ecosystem.
Can you share more details on this?  If you have done any survey on
this,  please share.
Crating FaaS with pure OpenStack means, we need to create something
similar to OpenWhisk or IronFunctions with existing or new OpenStack
components.
I just want to make sure it is worth it to recreate the wheels.


Jsut for the info, I think this [0] is your previous ML thread...
[0] http://lists.openstack.org/pipermail/openstack-dev/2017-May/116472.html
--- Regards,
Sampath



On Mon, May 15, 2017 at 2:59 PM, Li Ma  wrote:
> That's interesting. Serverless is a general computing engine that can
> brings lots of possibility of how to make use of resource managed by
> OpenStack. I'd like to see a purely OpenStack-powered solution there.
>
> Do you have submitted a proposal to create this project under
> OpenStack umbrella?
>
> On Mon, May 15, 2017 at 9:36 AM, Lingxian Kong  wrote:
>> Yes, I am recreating the wheels :-)
>>
>> I am sending this email not intend to say Qinling[1] project is a better
>> option than others as a project of function as a service, I just provide
>> another
>> possibility for developers/operators already in OpenStack world, and try my
>> luck to seek people who have the same interest in serverless area and
>> cooperate
>> together to make it more and more mature if possible, because I see
>> serverless
>> becomes more and more popular in current agile IT world but I don't see
>> there
>> is a good candidate in OpenStack ecosystem.
>>
>> I remember I asked the question that if we have a FaaS available project in
>> OpenStack, what I got are something like: Picasso[2], OpenWhisk[3], etc, but
>> IMHO, none of them can be well integrated with OpenStack ecosystem. I don't
>> mean they are not good, on the contrary, they are good, especially OpenWhisk
>> which is already deployed and available in IBM Bluemix production. Picasso
>> is
>> only a very thin proxy layer to IronFunctions which is an open source
>> project
>> comes from Iron.io company who also has a commercial FaaS product.
>>
>> However, there are several reasons make me create a new project:
>>
>> - Maybe not many OpenStack operators/developers want to touch a project
>>   written in another programming language besides Python (and maybe Go? not
>> sure
>>   the result of TC resolution). The deployment/dependency management/code
>>   maintenance will bring much more overhead.
>>
>> - I'd like to see a project which is using the similar
>>   components/infrastructure as most of the other OpenStack projects, e.g.
>>   keystone authentication, message queue(in order to receive notification
>> from
>>   Panko then trigger functions), database, oslo library, swift(for code
>>   package storage), etc. Of course, I could directly contribute and modify
>>   some existing project(e.g. Picasso) to satisfy these conditions, but I am
>>   afraid the time and effort it could take is exactly the same as if I
>> create
>>   a new one.
>>
>> - I'd like to see a project with no vendor/platform lock-in. Most of the
>> FaaS
>>   projects are based on one specific container orchestration platform or
>> want
>>   to promote usage of its own commercial product. For me, it's always a good
>>   thing to have more technical options when evaluating a new service.
>>
>> Qinling project is still at the very very early stage. I created it one
>> month ago
>> and work on it only in my spare time. But it works, you can see a basic
>> usage
>> introduction in README.rst and give it a try. A lot of things are still
>> missing, CLI, UT, devstack plugin, UI, etc.
>>
>> Of course, you can ignore me (still appreciate you read here) if you think
>> it's really not necessary and stupid to create such a project in OpenStack,
>> or you can join me to discuss what we could do to improve it gradually and
>> provide a better option for a real function as a service to people in
>> OpenStack world.
>>
>> [1]: https://github.com/LingxianKong/qinling
>> [2]: https://github.com/openstack/picasso
>> [3]: https://github.com/openwhisk/openwhisk
>>
>> Cheers,
>> Lingxian Kong (Larry)
>>
>> __
>> OpenStack Development Mailing List (not for usage questions)
>> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>
>
>
> --
>
> Li Ma (Nick)
> Email: skywalker.n...@gmail.com
>
> __
> 

Re: [openstack-dev] [FaaS] Introduce a FaaS project

2017-05-15 Thread Li Ma
That's interesting. Serverless is a general computing engine that can
brings lots of possibility of how to make use of resource managed by
OpenStack. I'd like to see a purely OpenStack-powered solution there.

Do you have submitted a proposal to create this project under
OpenStack umbrella?

On Mon, May 15, 2017 at 9:36 AM, Lingxian Kong  wrote:
> Yes, I am recreating the wheels :-)
>
> I am sending this email not intend to say Qinling[1] project is a better
> option than others as a project of function as a service, I just provide
> another
> possibility for developers/operators already in OpenStack world, and try my
> luck to seek people who have the same interest in serverless area and
> cooperate
> together to make it more and more mature if possible, because I see
> serverless
> becomes more and more popular in current agile IT world but I don't see
> there
> is a good candidate in OpenStack ecosystem.
>
> I remember I asked the question that if we have a FaaS available project in
> OpenStack, what I got are something like: Picasso[2], OpenWhisk[3], etc, but
> IMHO, none of them can be well integrated with OpenStack ecosystem. I don't
> mean they are not good, on the contrary, they are good, especially OpenWhisk
> which is already deployed and available in IBM Bluemix production. Picasso
> is
> only a very thin proxy layer to IronFunctions which is an open source
> project
> comes from Iron.io company who also has a commercial FaaS product.
>
> However, there are several reasons make me create a new project:
>
> - Maybe not many OpenStack operators/developers want to touch a project
>   written in another programming language besides Python (and maybe Go? not
> sure
>   the result of TC resolution). The deployment/dependency management/code
>   maintenance will bring much more overhead.
>
> - I'd like to see a project which is using the similar
>   components/infrastructure as most of the other OpenStack projects, e.g.
>   keystone authentication, message queue(in order to receive notification
> from
>   Panko then trigger functions), database, oslo library, swift(for code
>   package storage), etc. Of course, I could directly contribute and modify
>   some existing project(e.g. Picasso) to satisfy these conditions, but I am
>   afraid the time and effort it could take is exactly the same as if I
> create
>   a new one.
>
> - I'd like to see a project with no vendor/platform lock-in. Most of the
> FaaS
>   projects are based on one specific container orchestration platform or
> want
>   to promote usage of its own commercial product. For me, it's always a good
>   thing to have more technical options when evaluating a new service.
>
> Qinling project is still at the very very early stage. I created it one
> month ago
> and work on it only in my spare time. But it works, you can see a basic
> usage
> introduction in README.rst and give it a try. A lot of things are still
> missing, CLI, UT, devstack plugin, UI, etc.
>
> Of course, you can ignore me (still appreciate you read here) if you think
> it's really not necessary and stupid to create such a project in OpenStack,
> or you can join me to discuss what we could do to improve it gradually and
> provide a better option for a real function as a service to people in
> OpenStack world.
>
> [1]: https://github.com/LingxianKong/qinling
> [2]: https://github.com/openstack/picasso
> [3]: https://github.com/openwhisk/openwhisk
>
> Cheers,
> Lingxian Kong (Larry)
>
> __
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>



-- 

Li Ma (Nick)
Email: skywalker.n...@gmail.com

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


[openstack-dev] [FaaS] Introduce a FaaS project

2017-05-14 Thread Lingxian Kong
Yes, I am recreating the wheels :-)

I am sending this email not intend to say Qinling[1] project is a better
option than others as a project of function as a service, I just provide
another
possibility for developers/operators already in OpenStack world, and try my
luck to seek people who have the same interest in serverless area and
cooperate
together to make it more and more mature if possible, because I see
serverless
becomes more and more popular in current agile IT world but I don't see
there
is a good candidate in OpenStack ecosystem.

I remember I asked the question that if we have a FaaS available project in
OpenStack, what I got are something like: Picasso[2], OpenWhisk[3], etc, but
IMHO, none of them can be well integrated with OpenStack ecosystem. I don't
mean they are not good, on the contrary, they are good, especially OpenWhisk
which is already deployed and available in IBM Bluemix production. Picasso
is
only a very thin proxy layer to IronFunctions which is an open source
project
comes from Iron.io company who also has a commercial FaaS product.

However, there are several reasons make me create a new project:

- Maybe not many OpenStack operators/developers want to touch a project
  written in another programming language besides Python (and maybe Go? not
sure
  the result of TC resolution). The deployment/dependency management/code
  maintenance will bring much more overhead.

- I'd like to see a project which is using the similar
  components/infrastructure as most of the other OpenStack projects, e.g.
  keystone authentication, message queue(in order to receive notification
from
  Panko then trigger functions), database, oslo library, swift(for code
  package storage), etc. Of course, I could directly contribute and modify
  some existing project(e.g. Picasso) to satisfy these conditions, but I am
  afraid the time and effort it could take is exactly the same as if I
create
  a new one.

- I'd like to see a project with no vendor/platform lock-in. Most of the
FaaS
  projects are based on one specific container orchestration platform or
want
  to promote usage of its own commercial product. For me, it's always a good
  thing to have more technical options when evaluating a new service.

Qinling project is still at the very very early stage. I created it one
month ago
and work on it only in my spare time. But it works, you can see a basic
usage
introduction in README.rst and give it a try. A lot of things are still
missing, CLI, UT, devstack plugin, UI, etc.

Of course, you can ignore me (still appreciate you read here) if you think
it's really not necessary and stupid to create such a project in OpenStack,
or you can join me to discuss what we could do to improve it gradually and
provide a better option for a real function as a service to people in
OpenStack world.

[1]: https://github.com/LingxianKong/qinling
[2]: https://github.com/openstack/picasso
[3]: https://github.com/openwhisk/openwhisk

Cheers,
Lingxian Kong (Larry)
__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev