<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. In the event of a schema change, would your team be providing anything in the way of migration/validation scripts or tools? 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 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 <eric.wittmann@redhat.com><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> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">Hi Chris. Thanks for the question.<br>
<br>
Some responses below:<br>
<br>
On 6/3/2016 1:02 PM, Christopher Stolte wrote:<br>
> Our team is hoping to use Apiman in a production environment that<br>
> includes a load-balanced cluster of Apiman gateway instances. Those<br>
> instances would share Elasticsearch storage for metrics etc., as per<br>
> 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 "clustered". It's a subtle point, but it might be <br>
important. Note that this point may change in the future as we create <br>
better implementations of certain components (like rate limiting).<br>
<br>
> As we imagine this scenario, some questions pop up that we don't have<br>
> answers to. For example, what assumptions can we make about data<br>
> integrity when Apiman releases a new version? Are major releases the<br>
> only ones that might break a schema (and thus not coexist happily in a<br>
> cluster with other instances of a different version) ? I apologize if<br>
> this is documented somewhere - I took a look around but didn't find<br>
> anything related to versioning semantics. Basically we'd like to<br>
> 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. 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. 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. Once done, <br>
you can do a cutover. If you have a large number of instances this may <br>
not be possible.<br>
<br>
> Apiman team: what have you tested or consciously targeted as far as<br>
> clustered environments? Has anyone out there in the community tried to<br>
> use a cluster of gateways? Has there been any work done related to this<br>
> ticket?<br>
<br>
We have just begun our internal clustering testing, so we be getting <br>
this sort of experience very soon. We'll be testing for HA and <br>
scalability first and foremost. That said, the software is designed to <br>
easily run in a "cluster" (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>