<div class="gmail_extra">I agree.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Keypoint: Metering always feeds an accounting system</div><div class="gmail_extra"><br></div><div class="gmail_extra">Then, 2 possible scenarios:</div>

<div class="gmail_extra"><br></div><div class="gmail_extra">1) Meetering also feeds billing system (this is a sync operation)</div><div class="gmail_extra">2) Meetering does *not* feeds billing system. Then : The billing system has to pull the accounting system, then the billing system can't be an external SaaS. (I don't like this option, too coupled)</div>

<div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Apr 22, 2012 at 11:29 PM, Brian Schott <span dir="ltr"><<a href="mailto:brian.schott@nimbisservices.com" target="_blank">brian.schott@nimbisservices.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Dough is a proposed billing service.  There was a session at Folsom design summit.  This is a practical project for an OpenStack provider with test code on github.  <div>

<a href="http://summit.openstack.org/sessions/view/37" target="_blank">http://summit.openstack.org/sessions/view/37</a></div><div><div><br></div><div>"</div><div><div>The billing system consists of three components.</div>

<div>1) API Server, which receives subscribe/unsubscribe and usage query requests.</div><div>2) Farmer, which periodically checks all subscriptions and requests billing to the collector.</div><div>3) Collector, gets work from the farmer and uses python-novaclient, kanyun-client, swift-client to retrieve usage information of a product the tenant has subscribed and charges money to the accordingly.</div>

"</div><div><div>Kanyun is an OpenStack monitoring tool, but I don't see documentation in the code tree (but I've just pulled it to see).</div><div><a href="https://github.com/lzyeval" target="_blank">https://github.com/lzyeval</a></div>

</div><div><br></div><div>Dough had mixed reviews during the session, but that I think was because it came across as a billing system triggered solely by Horizon requests and was a polled architecture.  Given what we have today, I'd implement my own billing/metering system exactly the same way.  In fact, I have.  Our own e-commerce system at Nimbis works this way with EC2 and OpenStack presently because the only option available is polling periodically and logging the usage data.</div>

</div><div><br></div><div>Where I'd like to see OpenStack go is metering service that is fully asynchronous and event driven so that I only need to hit the API service when I'm generating an invoice, rather than once per minute because I don't know when an instance was terminated by the user or just crashed.  </div>

<div><div><div><br><div>
<div><div style="font-size:12px">-------------------------------------------------</div><div style="font-size:12px">Brian Schott, CTO</div><div style="font-size:12px">Nimbis Services, Inc.</div><div style="font-size:12px">

<a href="mailto:brian.schott@nimbisservices.com" target="_blank">brian.schott@nimbisservices.com</a></div><div style="font-size:12px">ph: <a href="tel:443-274-6064" value="+14432746064" target="_blank">443-274-6064</a>  fx: <a href="tel:443-274-6060" value="+14432746060" target="_blank">443-274-6060</a></div>

</div><div><br></div><br>
</div>
<br></div><div><div><div><div>On Apr 22, 2012, at 4:57 PM, Endre Karlson wrote:</div><br><blockquote type="cite"><div class="gmail_extra">What is Dough then compared to what you want to do ?<br><br><div class="gmail_quote">

2012/4/22 Endre Karlson <span dir="ltr"><<a href="mailto:endre.karlson@gmail.com" target="_blank">endre.karlson@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_extra">What is Dough then ?<div><div><br><br><div class="gmail_quote">2012/4/22 Brian Schott <span dir="ltr"><<a href="mailto:brian.schott@nimbisservices.com" target="_blank">brian.schott@nimbisservices.com</a>></span><br>



<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>I see this blueprint for metering, but none for Dough currently.</div><a href="http://wiki.openstack.org/EfficientMetering" target="_blank">http://wiki.openstack.org/EfficientMetering</a><div>



<br></div><div>Here are the Dough slides, however:</div><div><a href="http://www.slideshare.net/lzyeval/dough-openstack-billing-project" target="_blank">http://www.slideshare.net/lzyeval/dough-openstack-billing-project</a></div>



<div><br></div><div>We collectively need to talk more about the user scenarios, because I don't think you can just put a decorator around the API rpc calls and get an accurate picture of what to bill for later.  There are metered things like bandwidth or IOPS, events that happen outside of the API (shutdown -h), and it is hard to predict what a reseller will want to charge for.  It is better to put a metering system in that can handle many billing configurations.</div>



<div><br></div><div><div><br><div>
<div><div style="font-size:12px">-------------------------------------------------</div><div style="font-size:12px">Brian Schott, CTO</div><div style="font-size:12px">Nimbis Services, Inc.</div><div style="font-size:12px">



<a href="mailto:brian.schott@nimbisservices.com" target="_blank">brian.schott@nimbisservices.com</a></div><div style="font-size:12px">ph: <a href="tel:443-274-6064" value="+14432746064" target="_blank">443-274-6064</a>  fx: <a href="tel:443-274-6060" value="+14432746060" target="_blank">443-274-6060</a></div>



</div><div><br></div><br>
</div>
<br></div><div><div><div><div>On Apr 22, 2012, at 3:36 PM, Luis Gervaso wrote:</div><br><blockquote type="cite"><div class="gmail_extra">Dough is the proposed billing platform/product (where the billing rules live), isn't it?</div>



<div class="gmail_extra"><br></div><div class="gmail_extra">I don't know Dough enough, so please me correct me if i'm wrong.</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">I'm trying to define a generic/agnostic integration process, obviously where Dough </div><div class="gmail_extra">can fit perfectly. I would like it become part to the reference architecture.</div>




<div class="gmail_extra"><br></div><div class="gmail_extra">Option 1) [3b in the arch proposed]</div><div class="gmail_extra"><br></div><div class="gmail_extra">Dough should pull NoSQL</div><div class="gmail_extra"><br></div>




<div class="gmail_extra">Option 2)</div><div class="gmail_extra"><br></div><div class="gmail_extra">A Mediator can feed Dough</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Apr 22, 2012 at 9:13 PM, Endre Karlson <span dir="ltr"><<a href="mailto:endre.karlson@gmail.com" target="_blank">endre.karlson@gmail.com</a>></span> wrote:<br>




<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>What about using the Dough project?<div><br></div></div><div><span><font color="#888888">Endre.</font></span><div>




<div><br><br><div class="gmail_quote">2012/4/22 Endre Karlson <span dir="ltr"><<a href="mailto:endre.karlson@gmail.com" target="_blank">endre.karlson@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





What about using the Dough project ?<div><br></div><div>Endre.<br><br><div class="gmail_quote">2012/4/22 Luis Gervaso <span dir="ltr"><<a href="mailto:luis@woorea.es" target="_blank">luis@woorea.es</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div><div>
Hi,<div><br></div><div>I want to share the architecture i am developing in order to perform the monitorig / billing OpenStack support:</div><div><br></div><div>1. AMQP Client which listen to RabbitMQ / QPid (this should be interchangeable) (Own Stuff or ServiceMix / Camel)</div>







<div><br></div><div>2. Events should be stored on a NoSQL document oriented database (I think mongodb is perfect, since we can query in a super easy fashion)</div><div><br></div><div>3a. The monitoring system can pull/push MongoDB</div>







<div><br></div><div>3b. The billing system can pull to create invoices </div><div><br></div><div>4. A mediation EIP should be necessary to integrate a billing/monitoring product. (ServiceMix / Camel)</div><div><br></div>






<div>
This is to receive your feedback. So please, critics are welcome!</div><div><br></div><div>Cheers!<span><font color="#888888"><br clear="all"><div><br></div>-- <br>-------------------------------------------<br>
Luis Alberto Gervaso Martin<div>Woorea Solutions, S.L<br>
CEO & CTO<br>mobile: <a href="tel:%28%2B34%29%20627983344" value="+34627983344" target="_blank">(+34) 627983344</a><br><a href="mailto:luis.gervaso@gmail.com" target="_blank">luis@</a><a href="http://woorea.es/" target="_blank">woorea.es</a></div>






<br>
</font></span></div><br>
<br></div></div>_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to     : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div></div></div>
<br>_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to     : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>-------------------------------------------<br>Luis Alberto Gervaso Martin<div>Woorea Solutions, S.L<br>CEO & CTO<br>mobile: <a href="tel:%28%2B34%29%20627983344" value="+34627983344" target="_blank">(+34) 627983344</a><br>



<a href="mailto:luis.gervaso@gmail.com" target="_blank">luis@</a><a href="http://woorea.es/" target="_blank">woorea.es</a></div>
<br>
</div>
_______________________________________________<br>Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>Post to     : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>



Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>



</blockquote></div><br></div></div></div></div></blockquote></div><br></div></div></div>
</blockquote></div><br></div>
_______________________________________________<br>Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>Post to     : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>

Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>

</blockquote></div><br></div></div></div></div></div><br>_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to     : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>-------------------------------------------<br>Luis Alberto Gervaso Martin<div>Woorea Solutions, S.L<br>CEO & CTO<br>mobile: <a href="tel:%28%2B34%29%20627983344" value="+34627983344" target="_blank">(+34) 627983344</a><br>
<a href="mailto:luis.gervaso@gmail.com" target="_blank">luis@</a><a href="http://woorea.es/" target="_blank">woorea.es</a></div>
<br>
</div>