<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<meta content="text/html; charset=UTF-8">
<style type="text/css" style="">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
<div dir="ltr">
<div id="x_divtagdefaultwrapper" style="font-size:12pt; color:#000000; background-color:#FFFFFF; font-family:Calibri,Arial,Helvetica,sans-serif">
<p>Hi Eric,</p>
<p><br>
</p>
<p>Thanks for your response. &nbsp;In the event of a schema change, would your team be providing anything in the way of migration/validation scripts or tools? &nbsp;I assume it would be mentioned in the release notes, right? I know you can't predict the future, but could
 you characterize the frequency of such changes at this point? (i.e. known schema changes coming soon and often / probably something in the next 6&nbsp;months / unlikely to rare...)</p>
<p><br>
</p>
<p>Thanks,</p>
<p>Chris</p>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Eric Wittmann &lt;eric.wittmann@redhat.com&gt;<br>
<b>Sent:</b> Monday, June 6, 2016 3:02:48 PM<br>
<b>To:</b> Christopher Stolte; apiman-user@lists.jboss.org<br>
<b>Subject:</b> Re: [Apiman-user] APIMAN, clustering, and versioning</font>
<div>&nbsp;</div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">Hi Chris.&nbsp; Thanks for the question.<br>
<br>
Some responses below:<br>
<br>
On 6/3/2016 1:02 PM, Christopher Stolte wrote:<br>
&gt; Our team is hoping to use Apiman in a production environment that<br>
&gt; includes a load-balanced cluster of Apiman gateway instances. Those<br>
&gt; instances would share Elasticsearch storage for metrics etc., as per<br>
&gt; this architecture summary:<br>
<br>
Note that if you simply have multiple instances of the gateway running, <br>
all pointed to the same ES storage, you do not need those gateway <br>
instances to be &quot;clustered&quot;.&nbsp; It's a subtle point, but it might be <br>
important.&nbsp; Note that this point may change in the future as we create <br>
better implementations of certain components (like rate limiting).<br>
<br>
&gt; As we imagine this scenario, some questions pop up that we don't have<br>
&gt; answers to. For example, what assumptions can we make about data<br>
&gt; integrity when Apiman releases a new version? Are major releases the<br>
&gt; only ones that might break a schema (and thus not coexist happily in a<br>
&gt; cluster with other instances of a different version) ? I apologize if<br>
&gt; this is documented somewhere - I took a look around but didn't find<br>
&gt; anything related to versioning semantics. Basically we'd like to<br>
&gt; understand the upgrade path for a given instance within a cluster.<br>
<br>
This is a great question, and something that isn't yet very mature <br>
within apiman.&nbsp; The short answer is that we don't make any guarantees <br>
(currently) in community with regard to when the schema may change. <br>
Rolling upgrades is not yet something we've explicitly planned for.&nbsp; The <br>
current (easy) approach is to stand up a new environment for the new <br>
version of apiman, then migrate your data from old to new.&nbsp; Once done, <br>
you can do a cutover.&nbsp; If you have a large number of instances this may <br>
not be possible.<br>
<br>
&gt; Apiman team: what have you tested or consciously targeted as far as<br>
&gt; clustered environments? Has anyone out there in the community tried to<br>
&gt; use a cluster of gateways? Has there been any work done related to this<br>
&gt; ticket?<br>
<br>
We have just begun our internal clustering testing, so we be getting <br>
this sort of experience very soon.&nbsp; We'll be testing for HA and <br>
scalability first and foremost.&nbsp; That said, the software is designed to <br>
easily run in a &quot;cluster&quot; (quotes used because as previously mentioned, <br>
the nodes do not actually need to be running in a proper cluster).<br>
<br>
-Eric<br>
</div>
</span></font>
</body>
</html>