[Apiman-user] APIMAN, clustering, and versioning

Eric Wittmann eric.wittmann at redhat.com
Mon Jun 6 15:02:48 EDT 2016


Hi Chris.  Thanks for the question.

Some responses below:

On 6/3/2016 1:02 PM, Christopher Stolte wrote:
> Our team is hoping to use Apiman in a production environment that
> includes a load-balanced cluster of Apiman gateway instances. Those
> instances would share Elasticsearch storage for metrics etc., as per
> this architecture summary:

Note that if you simply have multiple instances of the gateway running, 
all pointed to the same ES storage, you do not need those gateway 
instances to be "clustered".  It's a subtle point, but it might be 
important.  Note that this point may change in the future as we create 
better implementations of certain components (like rate limiting).

> As we imagine this scenario, some questions pop up that we don't have
> answers to. For example, what assumptions can we make about data
> integrity when Apiman releases a new version? Are major releases the
> only ones that might break a schema (and thus not coexist happily in a
> cluster with other instances of a different version) ? I apologize if
> this is documented somewhere - I took a look around but didn't find
> anything related to versioning semantics. Basically we'd like to
> understand the upgrade path for a given instance within a cluster.

This is a great question, and something that isn't yet very mature 
within apiman.  The short answer is that we don't make any guarantees 
(currently) in community with regard to when the schema may change. 
Rolling upgrades is not yet something we've explicitly planned for.  The 
current (easy) approach is to stand up a new environment for the new 
version of apiman, then migrate your data from old to new.  Once done, 
you can do a cutover.  If you have a large number of instances this may 
not be possible.

> Apiman team: what have you tested or consciously targeted as far as
> clustered environments? Has anyone out there in the community tried to
> use a cluster of gateways? Has there been any work done related to this
> ticket?

We have just begun our internal clustering testing, so we be getting 
this sort of experience very soon.  We'll be testing for HA and 
scalability first and foremost.  That said, the software is designed to 
easily run in a "cluster" (quotes used because as previously mentioned, 
the nodes do not actually need to be running in a proper cluster).

-Eric


More information about the Apiman-user mailing list