You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by Jie Feng <Ji...@citrix.com> on 2012/07/09 19:32:39 UTC

CloudStack Marketplace - need feedback

I would love to get folks' feedback on proposing a subproject under Apache CloudStack, called MarketPlace. There are many ISVs, SaaS/PaaS vendors providing value-added products and services on IaaS clouds. The goal is to make their products more visible and easier to consume by anyone who deploys CloudStack.  It would also allow cloud admins to offer their own marketplace to their users to get access to a variety of products and services that can be used with CloudStack.

Here is the idea:
*             The subproject (let's call it MarketPlace for now) will consist of source code for the CloudStack Marketplace user UI main page; a product/service listing template; an admin portal; and a repository of listing. Both the source code and listings will be part of the CloudStack Marketplace distribution.
*             Each listing will contain information about the product/service, the user action needed to use the product/service, and instructions for the admin to set up the product/service. Listings are contributed by sellers (i.e. ISVs, SaaS/PaaS vendors). To include a listing in the CloudStack MarketPlace distribution, the seller needs to place its XML files, graphics and code in the designated folder within the subproject.
*             When CloudStack is installed, the admin will have a choice to install MarketPlace including all the pre-packaged listings. The admin can then choose which listings to enable for the users to see. The admin may need to follow seller instructions to get products/services set up.
*             This is not a global marketplace for every CloudStack user. Each CloudStack instance will have its own marketplace if the admin chooses to install it. After CloudStack is installed, the admin should have the capability to add, delete, enable, disable, and update the listings. If a seller wants to add or update it listing for a specific CloudStack instance, s/he needs to go through the admin.

To keep it simple in the first phase, I propose to support two types of listings only: SaaS/PaaS services and free image templates. Even though the image template is free, the seller can still enforce licensing and charge a fee within the application itself. To minimize product/service set up effort, in the case of image template, seller should provide a publicly accessible URL from which the image template can be downloaded.

Future phases could include functions such as a seller listing publishing portal, listing approval workflow, and usage reporting, etc.

Jie

RE: CloudStack Marketplace - need feedback

Posted by Jie Feng <Ji...@citrix.com>.
For seller to contribute a list (if a template), s/he needs to make sure the template works in CloudStack, and the template should contain URL to the actual machine image. So when the listing is enabled by admin, user should be able to launch the VM immediately. There are two ways image can get into CloudStack instance: 1. Admin click on a button to import the image prior to listing is enabled. 2. Image gets imported when first user click on launch VM. So the template listing should be more than marketing message.

As for SaaS/PaaS listings, it will be up to the seller to specify what action user can take. At bare minimum, seller can provide a URL for its website. I like to hear some feedback from SaaS/PaaS vendors on how you see the user experience should look like.

Good feedback on where to locate the listings. 

Jie

-----Original Message-----
From: Chiradeep Vittal [mailto:Chiradeep.Vittal@citrix.com] 
Sent: Wednesday, July 11, 2012 12:05 PM
To: CloudStack DeveloperList
Subject: Re: CloudStack Marketplace - need feedback



On 7/11/12 11:11 AM, "Jie Feng" <Ji...@citrix.com> wrote:

>Thanks John for the feedback. I looked at OpenNebula marketplace 
>(thanks Sebastien for contributing the link), which is a marketplace of 
>virtual appliance metadata hosted by OpenNebula. In that scenario, 
>admin needs to go to this marketplace website to import virtual 
>appliances into its cloud. The only type of product supported is 
>virtual appliance. I proposed to have the marketplace source code being 
>part of an add-on feature admin can install with CloudStack (instead of 
>a global hosting
>service) for two reasons:
>
>1. Simplify the experience for admins so that they don't need to go to 
>another place to get the listings

This may be so, but it seems to me that those contributing their listings will have to
A) sign or acknowledge the Apache CLA
B) Grant the ASF copyright license for the contribution.

This seems onerous and perhaps awkward. To me it seems that the contributions are nothing more than marketing messages ("this product does X function and it is great because it does Y) and metadata. Furthermore, there is no way for other marketplace participants to evaluate (rankings) these messages. A third point is that it is hard to keep these up-to-date as marketing messages change more often than there are releases. As John K said, it seems more appropriate to host these elsewhere. The thirdparty hosters can also add useful information such as rankings and versioning.

>2. Enable admin to offer its own marketplace with support for both 
>templates and SaaS/PaaS

It seems to me what is required is:
A. A packaging format (zip of html/javascript+manifest for e.g.) that marketplace sellers can specify their wares B. A mechanism in CloudStack that can fetch a listing of these offerings from a URL C. A way for the admin to specify the above URL or URLs inside CloudStack so that the end-user marketplace UI can fetch these package manifests.

>
>The marketplace functionality source code will be in the CloudStack 
>source code tree. As for the listings, for simplicity, I was thinking 
>to create a folder in the source code tree to store seller listings, 
>just like how plugins are stored. For templates, the listing will only 
>store metadata, but not the actual binary of the templates. Listing 
>might include source code seller provides to do something after user 
>click on "acquire service" (Is this necessary?). John's idea about a 
>separate repository and feed is also interesting. I like to explore 
>more on the voting process. How is it going to work and who will be 
>voting? Can we follow the same process to qualify CloudStack plugins 
>for this marketplace listing?
>
>Jie
>
>-----Original Message-----
>From: John Kinsella [mailto:jlk@stratosec.co]
>Sent: Tuesday, July 10, 2012 10:46 AM
>To: <cl...@incubator.apache.org>
>Subject: Re: CloudStack Marketplace - need feedback
>
>I'm wondering if you would want that code running on each CS 
>installation, or maybe have just a link/iframe out to a marketplace 
>running somewhere else? That would allow much easier management of the 
>content - one scenario that comes to mind is if a seller's product is 
>compromised or determined to be malicious, you'd want to pull it from 
>the marketplace ASAP.
>
>Maybe a compromise between the two - centrally serve an xml/binary feed 
>that the CS install can grab/use, something like a yum/apt/etc 
>repository. (note - I'm not suggesting add dependency functionality :) 
>)
>
>I don't think you want each potential seller contributing 
>xml/graphics/code, or checking this into the source tree? I'd think 
>what you want in the src tree is code for the client side, and maybe a 
>web portal (I wouldn't want us to spend a ton of time coding this up 
>unless this is a core feature moving forward):
>
>* Have a web UI where sellers can register/login and define/modify 
>their products
>* Before products are listed in the feed, there's some sort of voting 
>process (maybe moderate each seller until they've "proven" themselves 
>over a release or two?)
>* Daily cron process generates the feed, places it somewhere accessible 
>via http
>
>John
>
>On Jul 9, 2012, at 10:32 AM, Jie Feng wrote:
>
>> I would love to get folks' feedback on proposing a subproject under 
>>Apache CloudStack, called MarketPlace. There are many ISVs, SaaS/PaaS 
>>vendors providing value-added products and services on IaaS clouds. 
>>The goal is to make their products more visible and easier to consume 
>>by anyone who deploys CloudStack.  It would also allow cloud admins to 
>>offer their own marketplace to their users to get access to a variety 
>>of products and services that can be used with CloudStack.
>> 
>> Here is the idea:
>> *             The subproject (let's call it MarketPlace for now) will
>>consist of source code for the CloudStack Marketplace user UI main 
>>page; a product/service listing template; an admin portal; and a 
>>repository of listing. Both the source code and listings will be part 
>>of the CloudStack Marketplace distribution.
>> *             Each listing will contain information about the
>>product/service, the user action needed to use the product/service, 
>>and instructions for the admin to set up the product/service. Listings 
>>are contributed by sellers (i.e. ISVs, SaaS/PaaS vendors). To include 
>>a listing in the CloudStack MarketPlace distribution, the seller needs 
>>to place its XML files, graphics and code in the designated folder 
>>within the subproject.
>> *             When CloudStack is installed, the admin will have a
>>choice to install MarketPlace including all the pre-packaged listings.
>>The admin can then choose which listings to enable for the users to see.
>>The admin may need to follow seller instructions to get 
>>products/services set up.
>> *             This is not a global marketplace for every CloudStack
>>user. Each CloudStack instance will have its own marketplace if the 
>>admin chooses to install it. After CloudStack is installed, the admin 
>>should have the capability to add, delete, enable, disable, and update 
>>the listings. If a seller wants to add or update it listing for a 
>>specific CloudStack instance, s/he needs to go through the admin.
>> 
>> To keep it simple in the first phase, I propose to support two types 
>>of listings only: SaaS/PaaS services and free image templates. Even 
>>though the image template is free, the seller can still enforce 
>>licensing and charge a fee within the application itself. To minimize 
>>product/service set up effort, in the case of image template, seller 
>>should provide a publicly accessible URL from which the image template can be downloaded.
>> 
>> Future phases could include functions such as a seller listing 
>>publishing portal, listing approval workflow, and usage reporting, etc.
>> 
>> Jie
>
>


Re: CloudStack Marketplace - need feedback

Posted by Chiradeep Vittal <Ch...@citrix.com>.

On 7/11/12 11:11 AM, "Jie Feng" <Ji...@citrix.com> wrote:

>Thanks John for the feedback. I looked at OpenNebula marketplace (thanks
>Sebastien for contributing the link), which is a marketplace of virtual
>appliance metadata hosted by OpenNebula. In that scenario, admin needs to
>go to this marketplace website to import virtual appliances into its
>cloud. The only type of product supported is virtual appliance. I
>proposed to have the marketplace source code being part of an add-on
>feature admin can install with CloudStack (instead of a global hosting
>service) for two reasons:
>
>1. Simplify the experience for admins so that they don't need to go to
>another place to get the listings

This may be so, but it seems to me that those contributing their listings
will have to
A) sign or acknowledge the Apache CLA
B) Grant the ASF copyright license for the contribution.

This seems onerous and perhaps awkward. To me it seems that the
contributions are nothing more than marketing messages ("this product does
X function and it is great because it does Y) and metadata. Furthermore,
there is no way for other marketplace participants to evaluate (rankings)
these messages. A third point is that it is hard to keep these up-to-date
as marketing messages change more often than there are releases. As John K
said, it seems more appropriate to host these elsewhere. The thirdparty
hosters can also add useful information such as rankings and versioning.

>2. Enable admin to offer its own marketplace with support for both
>templates and SaaS/PaaS

It seems to me what is required is:
A. A packaging format (zip of html/javascript+manifest for e.g.) that
marketplace sellers can specify their wares
B. A mechanism in CloudStack that can fetch a listing of these offerings
from a URL
C. A way for the admin to specify the above URL or URLs inside CloudStack
so that the end-user marketplace UI can fetch these package manifests.

>
>The marketplace functionality source code will be in the CloudStack
>source code tree. As for the listings, for simplicity, I was thinking to
>create a folder in the source code tree to store seller listings, just
>like how plugins are stored. For templates, the listing will only store
>metadata, but not the actual binary of the templates. Listing might
>include source code seller provides to do something after user click on
>"acquire service" (Is this necessary?). John's idea about a separate
>repository and feed is also interesting. I like to explore more on the
>voting process. How is it going to work and who will be voting? Can we
>follow the same process to qualify CloudStack plugins for this
>marketplace listing?
>
>Jie
>
>-----Original Message-----
>From: John Kinsella [mailto:jlk@stratosec.co]
>Sent: Tuesday, July 10, 2012 10:46 AM
>To: <cl...@incubator.apache.org>
>Subject: Re: CloudStack Marketplace - need feedback
>
>I'm wondering if you would want that code running on each CS
>installation, or maybe have just a link/iframe out to a marketplace
>running somewhere else? That would allow much easier management of the
>content - one scenario that comes to mind is if a seller's product is
>compromised or determined to be malicious, you'd want to pull it from the
>marketplace ASAP.
>
>Maybe a compromise between the two - centrally serve an xml/binary feed
>that the CS install can grab/use, something like a yum/apt/etc
>repository. (note - I'm not suggesting add dependency functionality :) )
>
>I don't think you want each potential seller contributing
>xml/graphics/code, or checking this into the source tree? I'd think what
>you want in the src tree is code for the client side, and maybe a web
>portal (I wouldn't want us to spend a ton of time coding this up unless
>this is a core feature moving forward):
>
>* Have a web UI where sellers can register/login and define/modify their
>products
>* Before products are listed in the feed, there's some sort of voting
>process (maybe moderate each seller until they've "proven" themselves
>over a release or two?)
>* Daily cron process generates the feed, places it somewhere accessible
>via http
>
>John
>
>On Jul 9, 2012, at 10:32 AM, Jie Feng wrote:
>
>> I would love to get folks' feedback on proposing a subproject under
>>Apache CloudStack, called MarketPlace. There are many ISVs, SaaS/PaaS
>>vendors providing value-added products and services on IaaS clouds. The
>>goal is to make their products more visible and easier to consume by
>>anyone who deploys CloudStack.  It would also allow cloud admins to
>>offer their own marketplace to their users to get access to a variety of
>>products and services that can be used with CloudStack.
>> 
>> Here is the idea:
>> *             The subproject (let's call it MarketPlace for now) will
>>consist of source code for the CloudStack Marketplace user UI main page;
>>a product/service listing template; an admin portal; and a repository of
>>listing. Both the source code and listings will be part of the
>>CloudStack Marketplace distribution.
>> *             Each listing will contain information about the
>>product/service, the user action needed to use the product/service, and
>>instructions for the admin to set up the product/service. Listings are
>>contributed by sellers (i.e. ISVs, SaaS/PaaS vendors). To include a
>>listing in the CloudStack MarketPlace distribution, the seller needs to
>>place its XML files, graphics and code in the designated folder within
>>the subproject.
>> *             When CloudStack is installed, the admin will have a
>>choice to install MarketPlace including all the pre-packaged listings.
>>The admin can then choose which listings to enable for the users to see.
>>The admin may need to follow seller instructions to get
>>products/services set up.
>> *             This is not a global marketplace for every CloudStack
>>user. Each CloudStack instance will have its own marketplace if the
>>admin chooses to install it. After CloudStack is installed, the admin
>>should have the capability to add, delete, enable, disable, and update
>>the listings. If a seller wants to add or update it listing for a
>>specific CloudStack instance, s/he needs to go through the admin.
>> 
>> To keep it simple in the first phase, I propose to support two types of
>>listings only: SaaS/PaaS services and free image templates. Even though
>>the image template is free, the seller can still enforce licensing and
>>charge a fee within the application itself. To minimize product/service
>>set up effort, in the case of image template, seller should provide a
>>publicly accessible URL from which the image template can be downloaded.
>> 
>> Future phases could include functions such as a seller listing
>>publishing portal, listing approval workflow, and usage reporting, etc.
>> 
>> Jie
>
>


RE: CloudStack Marketplace - need feedback

Posted by Jie Feng <Ji...@citrix.com>.
Thanks John for the feedback. I looked at OpenNebula marketplace (thanks Sebastien for contributing the link), which is a marketplace of virtual appliance metadata hosted by OpenNebula. In that scenario, admin needs to go to this marketplace website to import virtual appliances into its cloud. The only type of product supported is virtual appliance. I proposed to have the marketplace source code being part of an add-on feature admin can install with CloudStack (instead of a global hosting service) for two reasons:

1. Simplify the experience for admins so that they don't need to go to another place to get the listings
2. Enable admin to offer its own marketplace with support for both templates and SaaS/PaaS

The marketplace functionality source code will be in the CloudStack source code tree. As for the listings, for simplicity, I was thinking to create a folder in the source code tree to store seller listings, just like how plugins are stored. For templates, the listing will only store metadata, but not the actual binary of the templates. Listing might include source code seller provides to do something after user click on "acquire service" (Is this necessary?). John's idea about a separate repository and feed is also interesting. I like to explore more on the voting process. How is it going to work and who will be voting? Can we follow the same process to qualify CloudStack plugins for this marketplace listing?

Jie

-----Original Message-----
From: John Kinsella [mailto:jlk@stratosec.co] 
Sent: Tuesday, July 10, 2012 10:46 AM
To: <cl...@incubator.apache.org>
Subject: Re: CloudStack Marketplace - need feedback

I'm wondering if you would want that code running on each CS installation, or maybe have just a link/iframe out to a marketplace running somewhere else? That would allow much easier management of the content - one scenario that comes to mind is if a seller's product is compromised or determined to be malicious, you'd want to pull it from the marketplace ASAP.

Maybe a compromise between the two - centrally serve an xml/binary feed that the CS install can grab/use, something like a yum/apt/etc repository. (note - I'm not suggesting add dependency functionality :) )

I don't think you want each potential seller contributing xml/graphics/code, or checking this into the source tree? I'd think what you want in the src tree is code for the client side, and maybe a web portal (I wouldn't want us to spend a ton of time coding this up unless this is a core feature moving forward):

* Have a web UI where sellers can register/login and define/modify their products
* Before products are listed in the feed, there's some sort of voting process (maybe moderate each seller until they've "proven" themselves over a release or two?)
* Daily cron process generates the feed, places it somewhere accessible via http

John

On Jul 9, 2012, at 10:32 AM, Jie Feng wrote:

> I would love to get folks' feedback on proposing a subproject under Apache CloudStack, called MarketPlace. There are many ISVs, SaaS/PaaS vendors providing value-added products and services on IaaS clouds. The goal is to make their products more visible and easier to consume by anyone who deploys CloudStack.  It would also allow cloud admins to offer their own marketplace to their users to get access to a variety of products and services that can be used with CloudStack.
> 
> Here is the idea:
> *             The subproject (let's call it MarketPlace for now) will consist of source code for the CloudStack Marketplace user UI main page; a product/service listing template; an admin portal; and a repository of listing. Both the source code and listings will be part of the CloudStack Marketplace distribution.
> *             Each listing will contain information about the product/service, the user action needed to use the product/service, and instructions for the admin to set up the product/service. Listings are contributed by sellers (i.e. ISVs, SaaS/PaaS vendors). To include a listing in the CloudStack MarketPlace distribution, the seller needs to place its XML files, graphics and code in the designated folder within the subproject.
> *             When CloudStack is installed, the admin will have a choice to install MarketPlace including all the pre-packaged listings. The admin can then choose which listings to enable for the users to see. The admin may need to follow seller instructions to get products/services set up.
> *             This is not a global marketplace for every CloudStack user. Each CloudStack instance will have its own marketplace if the admin chooses to install it. After CloudStack is installed, the admin should have the capability to add, delete, enable, disable, and update the listings. If a seller wants to add or update it listing for a specific CloudStack instance, s/he needs to go through the admin.
> 
> To keep it simple in the first phase, I propose to support two types of listings only: SaaS/PaaS services and free image templates. Even though the image template is free, the seller can still enforce licensing and charge a fee within the application itself. To minimize product/service set up effort, in the case of image template, seller should provide a publicly accessible URL from which the image template can be downloaded.
> 
> Future phases could include functions such as a seller listing publishing portal, listing approval workflow, and usage reporting, etc.
> 
> Jie



Re: CloudStack Marketplace - need feedback

Posted by John Kinsella <jl...@stratosec.co>.
I'm wondering if you would want that code running on each CS installation, or maybe have just a link/iframe out to a marketplace running somewhere else? That would allow much easier management of the content - one scenario that comes to mind is if a seller's product is compromised or determined to be malicious, you'd want to pull it from the marketplace ASAP.

Maybe a compromise between the two - centrally serve an xml/binary feed that the CS install can grab/use, something like a yum/apt/etc repository. (note - I'm not suggesting add dependency functionality :) )

I don't think you want each potential seller contributing xml/graphics/code, or checking this into the source tree? I'd think what you want in the src tree is code for the client side, and maybe a web portal (I wouldn't want us to spend a ton of time coding this up unless this is a core feature moving forward):

* Have a web UI where sellers can register/login and define/modify their products
* Before products are listed in the feed, there's some sort of voting process (maybe moderate each seller until they've "proven" themselves over a release or two?)
* Daily cron process generates the feed, places it somewhere accessible via http

John

On Jul 9, 2012, at 10:32 AM, Jie Feng wrote:

> I would love to get folks' feedback on proposing a subproject under Apache CloudStack, called MarketPlace. There are many ISVs, SaaS/PaaS vendors providing value-added products and services on IaaS clouds. The goal is to make their products more visible and easier to consume by anyone who deploys CloudStack.  It would also allow cloud admins to offer their own marketplace to their users to get access to a variety of products and services that can be used with CloudStack.
> 
> Here is the idea:
> *             The subproject (let's call it MarketPlace for now) will consist of source code for the CloudStack Marketplace user UI main page; a product/service listing template; an admin portal; and a repository of listing. Both the source code and listings will be part of the CloudStack Marketplace distribution.
> *             Each listing will contain information about the product/service, the user action needed to use the product/service, and instructions for the admin to set up the product/service. Listings are contributed by sellers (i.e. ISVs, SaaS/PaaS vendors). To include a listing in the CloudStack MarketPlace distribution, the seller needs to place its XML files, graphics and code in the designated folder within the subproject.
> *             When CloudStack is installed, the admin will have a choice to install MarketPlace including all the pre-packaged listings. The admin can then choose which listings to enable for the users to see. The admin may need to follow seller instructions to get products/services set up.
> *             This is not a global marketplace for every CloudStack user. Each CloudStack instance will have its own marketplace if the admin chooses to install it. After CloudStack is installed, the admin should have the capability to add, delete, enable, disable, and update the listings. If a seller wants to add or update it listing for a specific CloudStack instance, s/he needs to go through the admin.
> 
> To keep it simple in the first phase, I propose to support two types of listings only: SaaS/PaaS services and free image templates. Even though the image template is free, the seller can still enforce licensing and charge a fee within the application itself. To minimize product/service set up effort, in the case of image template, seller should provide a publicly accessible URL from which the image template can be downloaded.
> 
> Future phases could include functions such as a seller listing publishing portal, listing approval workflow, and usage reporting, etc.
> 
> Jie



Re: CloudStack Marketplace - need feedback

Posted by sebastien goasguen <ru...@gmail.com>.
Hi Jie,

This sounds like a good idea, I know Opennebula has such a marketplace:
http://marketplace.c12g.com/appliance
It might be worth looking at their capabilities, and check if their
code is open source.

-Sebastien

On Mon, Jul 9, 2012 at 1:32 PM, Jie Feng <Ji...@citrix.com> wrote:
> I would love to get folks' feedback on proposing a subproject under Apache CloudStack, called MarketPlace. There are many ISVs, SaaS/PaaS vendors providing value-added products and services on IaaS clouds. The goal is to make their products more visible and easier to consume by anyone who deploys CloudStack.  It would also allow cloud admins to offer their own marketplace to their users to get access to a variety of products and services that can be used with CloudStack.
>
> Here is the idea:
> *             The subproject (let's call it MarketPlace for now) will consist of source code for the CloudStack Marketplace user UI main page; a product/service listing template; an admin portal; and a repository of listing. Both the source code and listings will be part of the CloudStack Marketplace distribution.
> *             Each listing will contain information about the product/service, the user action needed to use the product/service, and instructions for the admin to set up the product/service. Listings are contributed by sellers (i.e. ISVs, SaaS/PaaS vendors). To include a listing in the CloudStack MarketPlace distribution, the seller needs to place its XML files, graphics and code in the designated folder within the subproject.
> *             When CloudStack is installed, the admin will have a choice to install MarketPlace including all the pre-packaged listings. The admin can then choose which listings to enable for the users to see. The admin may need to follow seller instructions to get products/services set up.
> *             This is not a global marketplace for every CloudStack user. Each CloudStack instance will have its own marketplace if the admin chooses to install it. After CloudStack is installed, the admin should have the capability to add, delete, enable, disable, and update the listings. If a seller wants to add or update it listing for a specific CloudStack instance, s/he needs to go through the admin.
>
> To keep it simple in the first phase, I propose to support two types of listings only: SaaS/PaaS services and free image templates. Even though the image template is free, the seller can still enforce licensing and charge a fee within the application itself. To minimize product/service set up effort, in the case of image template, seller should provide a publicly accessible URL from which the image template can be downloaded.
>
> Future phases could include functions such as a seller listing publishing portal, listing approval workflow, and usage reporting, etc.
>
> Jie



-- 
---
Sebastien Goasguen
Open Source Cloud Evangelist, Cloudstack
http://sites.google.com/site/runseb/