On Jul 22, 2013, at 9:34 AM, David Hadas <david.ha...@gmail.com> wrote:

> Hi, 
> 
> In Portland, we discussed a somewhat related issue of having multiple 
> replication levels in one Swift cluster. 
> It may be that a provider would not wish to expose the use of EC or the level 
> of replication used. For example a provider may offer a predefined set of 
> services such as "Gold", "Silver" and "Bronze", "Aluminum" which a user can 
> choose from. The provider may decide how each level is implemented (As a 
> silly example: Gold is 4 way replication, Silver is a 3 way replication, 
> Bronze is EC, Aluminum is single replica without EC). 
> 
> Does it make sense to consider EC as an implementation of a certain service 
> level (the same as for example the choice of the number of replicas)? 

yes, that's actually exactly what I'm thinking.

> 
> Now we are back to the question of what is the right unit in which we define 
> this 'level of service' ("Gold", "Silver"...).
> Should the level of service be defined when the account is created or should 
> we allow a user to state:
> "I would like to have a container with Gold to keep my work, Bronze to keep 
> my family pictures and videos and Aluminum to keep a copy of all my music 
> files".
> 
> If we choose to enable container service levels, we need to enable billing 
> per level of service such that a single account could be billed for the 
> actual use it has done per each level of service. Maybe we even need to have 
> all statistics gathered to be grouped by service level.
> I am not sure if we can escape that even with account service levels. 

Either on the account or container level, the billing number generator will 
need to correlate particular bytes with a particular service level. That would 
be in ceilometer, slogging, or whatever other people are using.


> 
> DH
> 
> On Thu, Jul 18, 2013 at 9:37 PM, John Dickinson <m...@not.mn> wrote:
> Yes, and I'd imagine that the normal default would be for replicated data.
> 
> Moving the granularity from a container to account-based, as Chmouel and 
> Chuck said, is interesting too.
> 
> --John
> 
> On Jul 18, 2013, at 11:32 AM, Christian Schwede <i...@cschwede.de> wrote:
> 
> > A solution to this might be to set the default policy as a configuration
> > setting in the proxy. If you want a replicated swift cluster just allow
> > this policy in the proxy and set it to default. The same for EC cluster,
> > just set the allowed policy to EC. If you want both (and let your users
> > decide which policy to use) simply configure a list of allowed policies
> > with the first one in the list as the default policy in case they don't
> > set a policy during container creation.
> >
> > Am 18.07.13 20:15, schrieb Chuck Thier:
> >> I think you are missing the point.  What I'm talking about is who
> >> chooses what data is EC and what is not.  The point that I am trying to
> >> make is that the operators of swift clusters should decide what data is
> >> EC, not the clients/users.  How the data is stored should be totally
> >> transparent to the user.
> >>
> >> Now if we want to down the road offer user defined classes of storage
> >> (like how S3 does reduced redundancy), I'm cool with that, just that it
> >> should be orthogonal to the implementation of EC.
> >>
> >> --
> >> Chuck
> >>
> >>
> >> On Thu, Jul 18, 2013 at 12:57 PM, John Dickinson <m...@not.mn
> >> <mailto:m...@not.mn>> wrote:
> >>
> >>    Are you talking about the parameters for EC or the fact that
> >>    something is erasure coded vs replicated?
> >>
> >>    For the first, that's exactly what we're thinking: a deployer sets
> >>    up one (or more) policies and calls them Alice, Bob, or whatever,
> >>    and then the API client can set that on a particular container.
> >>
> >>    This allows users who know what they are doing (ie those who know
> >>    the tradeoffs and their data characteristics) to make good choices.
> >>    It also allows deployers who want to have an automatic policy to set
> >>    one up to migrate data.
> >>
> >>    For example, a deployer may choose to run a migrator process that
> >>    moved certain data from replicated to EC containers over time (and
> >>    drops a manifest file in the replicated tier to point to the EC data
> >>    so that the URL still works).
> >>
> >>    Like existing features in Swift (eg large objects), this gives users
> >>    the ability to flexibly store their data with a nice interface yet
> >>    still have the ability to get at some of the pokey bits underneath.
> >>
> >>    --John
> >>
> >>
> >>
> >>    On Jul 18, 2013, at 10:31 AM, Chuck Thier <cth...@gmail.com
> >>    <mailto:cth...@gmail.com>> wrote:
> >>
> >>> I'm with Chmouel though.  It seems to me that EC policy should be
> >>    chosen by the provider and not the client.  For public storage
> >>    clouds, I don't think you can make the assumption that all
> >>    users/clients will understand the storage/latency tradeoffs and
> >>    benefits.
> >>>
> >>>
> >>> On Thu, Jul 18, 2013 at 8:11 AM, John Dickinson <m...@not.mn
> >>    <mailto:m...@not.mn>> wrote:
> >>> Check out the slides I linked. The plan is to enable an EC policy
> >>    that is then set on a container. A cluster may have a replication
> >>    policy and one or more EC policies. Then the user will be able to
> >>    choose the policy for a particular container.
> >>>
> >>> --John
> >>>
> >>>
> >>>
> >>>
> >>> On Jul 18, 2013, at 2:50 AM, Chmouel Boudjnah
> >>    <chmo...@enovance.com <mailto:chmo...@enovance.com>> wrote:
> >>>
> >>>> On Thu, Jul 18, 2013 at 12:42 AM, John Dickinson <m...@not.mn
> >>    <mailto:m...@not.mn>> wrote:
> >>>>>   * Erasure codes (vs replicas) will be set on a per-container
> >>    basis
> >>>>
> >>>> I was wondering if there was any reasons why it couldn't be as
> >>>> per-account basis as this would allow an operator to have different
> >>>> type of an account and different pricing (i.e: tiered storage).
> >>>>
> >>>> Chmouel.
> >>>
> >>>
> >>> _______________________________________________
> >>> OpenStack-dev mailing list
> >>> OpenStack-dev@lists.openstack.org
> >>    <mailto:OpenStack-dev@lists.openstack.org>
> >>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> >>>
> >>>
> >>> _______________________________________________
> >>> OpenStack-dev mailing list
> >>> OpenStack-dev@lists.openstack.org
> >>    <mailto:OpenStack-dev@lists.openstack.org>
> >>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> >>
> >>
> >>    _______________________________________________
> >>    OpenStack-dev mailing list
> >>    OpenStack-dev@lists.openstack.org
> >>    <mailto:OpenStack-dev@lists.openstack.org>
> >>    http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> >>
> >>
> >>
> >>
> >> _______________________________________________
> >> OpenStack-dev mailing list
> >> OpenStack-dev@lists.openstack.org
> >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> >>
> >
> >
> > _______________________________________________
> > OpenStack-dev mailing list
> > OpenStack-dev@lists.openstack.org
> > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
> 
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev@lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
> 
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev@lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to