Organising Api Proxies

Not applicable

Hi,

I am part of a company which has many products with a different team working / owning each product. Each of these products have a set of APIs that we would like to expose through Apigee (using Api Proxies).

My questions are:

1. Whats the best and efficient way to setup Apigee account(s)? Do you suggest that because all these api sets of various products belong to the same company, we should just have 1 Apigee account mapped to the company itself?

2. If you suggest we go with a single company level Apigee account, how do we separate out a list of api proxies belonging to each individual product?

3. Or should we have multiple Apigee accounts with each account mapped to an application of the company containing a set of Api Proxies associated with a particular product giving us a nicer separation of various products?

Let me know please.

-Sapan

Solved Solved
0 2 358
1 ACCEPTED SOLUTION

@sapandesai1 , Great Question, Welcome to Apigee Community !

I am not sure what do you mean Apigee Account(s). I believe you are referring to Apigee Edge Top Level Container where you add API Team Members & Other stake holders to build API Program. We call it organizations. More about same you can find here. Most of Apigee customers have single org until unless they would like to have a totally different organization for various reasons.

Generally, You go with single organization (Apigee Account in your terms if i am not wrong) until unless you would like to have a totally separate organization due to legal & operating standpoint.

Having said that, Regarding your questions,

Whats the best and efficient way to setup Apigee account(s)? Do you suggest that because all these api sets of various products belong to the same company, we should just have 1 Apigee account mapped to the company itself?

  • Let's say you belong to COMPANY X, You have choosen Apigee for your Digital Transformation & API Management. You will get an Organization called companyx. You will create proxies & related resources under this organization account. Yes, 1 Apigee Organziation (Account) is good enough to start.
  • Let's say you have 3 team members who are part of API Program. You will add same to Apigee Organization as Apigee Edge Users. 1 can be Org Admin, 1 can be Business admin, 1 can be Operations Admin.

If you suggest we go with a single company level Apigee account, how do we separate out a list of api proxies belonging to each individual product?

  • API Proxies are not associated with product by default. You pick & choose, package them as per your requirements.
  • Let's say you have 13 APIs, For Example, GET ALL /employees, GET Employee by ID /employees/{ID } , CREATE /employees, UPDATE /employees, DELETE /employees, GET /products, UPDATE /products, DELETE /products, CREATE /products, GET /orders, CREATE /orders , UPDATE /orders, DELETE /orders
  • You will create API Proxies that will have individual API Resources as flows in Apigee Edge. For example for above APIs, You will create 3 API Proxies. Employees, Products, Orders.
  • After creating API Proxies, You will create API Products in Apigee Edge, Add API Proxies / Resources that belongs to API Product. You package your APIs as API Products based on your business needs. You can find more about API Products here.
  • Let's say you will create three products. 1. PARTNER APIs and Add Products, Orders API Proxies with All Resources. 2. INTERNAL APIs and Add Employees APIs. 3. Full Access and Add all the APIs.
  • You can choose which of these products will be visible to App Developers in Developer Portal & Can be controlled using RBAC.
  • Let's say, An App Developer with Partner Role logs into your company developer portal powered by Apigee Developer Services, Let's say https://developers.companyx.com just like Google Developer Portal, Facebook Developer Portal or Uber Developer Portal. They can see only PARTNER API Product while registering their app after which they get the keys. Using keys they can access API that has access to. In above example, only Products & Orders.
  • So, Basically, You create API Products based on your business need. You can create any number of API Products.
  • So, When you create an API Product in Apigee Edge, You choose which APIs / API Proxies falls under same.

Or should we have multiple Apigee accounts with each account mapped to an application of the company containing a set of Api Proxies associated with a particular product giving us a nicer separation of various products?

I don't suggest this at all. Go with single Apigee Edge Organization.

Obviously, You would like to see the API Program performance across the APPs, Developers, API Products , API Proxies powered by Apigee Edge Analytics. Do you know we capture more than 100+ dimensions & metrics like response latencies, which API, which Developer, which App etc etc which will give you end to end visibility into your API program when a single API call goes through Apigee ?

Hope it helps. Keep us posted moving forward if any.

View solution in original post

2 REPLIES 2

Not applicable

The answer will depend on your requirements and constrains.

Generally speaking I invite you to think about the API consumers and their experience rather than focusing on how your company organizes internally.

Focusing on the consumer can help you determine if you use one or more Orgs, Env, and how to organize API products.

@sapandesai1 , Great Question, Welcome to Apigee Community !

I am not sure what do you mean Apigee Account(s). I believe you are referring to Apigee Edge Top Level Container where you add API Team Members & Other stake holders to build API Program. We call it organizations. More about same you can find here. Most of Apigee customers have single org until unless they would like to have a totally different organization for various reasons.

Generally, You go with single organization (Apigee Account in your terms if i am not wrong) until unless you would like to have a totally separate organization due to legal & operating standpoint.

Having said that, Regarding your questions,

Whats the best and efficient way to setup Apigee account(s)? Do you suggest that because all these api sets of various products belong to the same company, we should just have 1 Apigee account mapped to the company itself?

  • Let's say you belong to COMPANY X, You have choosen Apigee for your Digital Transformation & API Management. You will get an Organization called companyx. You will create proxies & related resources under this organization account. Yes, 1 Apigee Organziation (Account) is good enough to start.
  • Let's say you have 3 team members who are part of API Program. You will add same to Apigee Organization as Apigee Edge Users. 1 can be Org Admin, 1 can be Business admin, 1 can be Operations Admin.

If you suggest we go with a single company level Apigee account, how do we separate out a list of api proxies belonging to each individual product?

  • API Proxies are not associated with product by default. You pick & choose, package them as per your requirements.
  • Let's say you have 13 APIs, For Example, GET ALL /employees, GET Employee by ID /employees/{ID } , CREATE /employees, UPDATE /employees, DELETE /employees, GET /products, UPDATE /products, DELETE /products, CREATE /products, GET /orders, CREATE /orders , UPDATE /orders, DELETE /orders
  • You will create API Proxies that will have individual API Resources as flows in Apigee Edge. For example for above APIs, You will create 3 API Proxies. Employees, Products, Orders.
  • After creating API Proxies, You will create API Products in Apigee Edge, Add API Proxies / Resources that belongs to API Product. You package your APIs as API Products based on your business needs. You can find more about API Products here.
  • Let's say you will create three products. 1. PARTNER APIs and Add Products, Orders API Proxies with All Resources. 2. INTERNAL APIs and Add Employees APIs. 3. Full Access and Add all the APIs.
  • You can choose which of these products will be visible to App Developers in Developer Portal & Can be controlled using RBAC.
  • Let's say, An App Developer with Partner Role logs into your company developer portal powered by Apigee Developer Services, Let's say https://developers.companyx.com just like Google Developer Portal, Facebook Developer Portal or Uber Developer Portal. They can see only PARTNER API Product while registering their app after which they get the keys. Using keys they can access API that has access to. In above example, only Products & Orders.
  • So, Basically, You create API Products based on your business need. You can create any number of API Products.
  • So, When you create an API Product in Apigee Edge, You choose which APIs / API Proxies falls under same.

Or should we have multiple Apigee accounts with each account mapped to an application of the company containing a set of Api Proxies associated with a particular product giving us a nicer separation of various products?

I don't suggest this at all. Go with single Apigee Edge Organization.

Obviously, You would like to see the API Program performance across the APPs, Developers, API Products , API Proxies powered by Apigee Edge Analytics. Do you know we capture more than 100+ dimensions & metrics like response latencies, which API, which Developer, which App etc etc which will give you end to end visibility into your API program when a single API call goes through Apigee ?

Hope it helps. Keep us posted moving forward if any.