Does the community have an opinion what determines when a new bundle should be created as an API Program expands. We have one large bundle and see timeouts on deployments due to the size. We have been advised by support and Apigee Customer Success that the upper limit on size of the bundle is approximately 5 mb.
I am curious what criteria others are using to separate out resources into apiproxy bundles.
Creating smaller, more granular apiproxy bundles, has many benefits for the API team. First, deployments are generally faster with smaller bundles meaning less time is spent waiting and more time is spent innovating and delivering value to your consumers! Second, you have the ability to more easily segment work between developers allowing a subset of APIs to be under development by a developer reducing the complexity of merge operations for instance. Smaller bundles are less susceptible to deployment errors such as timeouts. Finally, large deployments can lead to issues such as exhaustion of permgen space when multiple concurrent deployments occur.
Here are some guidelines that I find useful when thinking about this:
Breaking your API into a series of distinct apiproxy bundles doesn't come without some added complexity. For instance, your deployment strategy will need to taking into account multiple bundles rather than just one. Crafting the right base paths is a bit of an art - especially if you are refactoring away from a large monolithic bundle into many smaller bundles.
One other criteria I use for api grouping and segmentation is the release schedule of the APIs. If certain APIs are being built by a group that manages their own release schedule, it is useful from mgmt prospective to group these APIs to enable releasing them together. Without this, it becomes difficult to control what gets released from each proxy bundle.
One thing to note is finer grained proxies can create issues if you have uneven traffic across proxies and intend to use Spike Arrest polices which apply to a proxy, not across multiple proxies.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |