Apigee edge Private Cloud with multiple organizations and dev portals ?

rk-muvva
Participant II

We have Apigee edge installed in on premises cloud. This has multiple organizations with each of them belongs to a specific business group. Each Organization (each functional group) needs a separate development portal that can serve its customers. Is that a possibility ?

@Anil Sagar @ Google: Appreciate any response to this. Hope I have explained the requirement clearly.

Solved Solved
1 16 1,865
2 ACCEPTED SOLUTIONS

shawkyfoda
Participant IV

Yes, Portal installation process is almost independent of Edge. Actually Apigee developer Portal is a Drupal content management system with a specific drupal modules for Apigee like smartdocs and devConnect , ....

Theoretically you could install multiple portals and configure each one for an organization.

In the installation configuration file define your organization for for this portal

# Edge connection details.# If omitted, you can set them in the porta# Specify the Edge organization associated with the portal.

EDGE_ORG=edgeOrgName

https://docs.apigee.com/private-cloud/v4.18.05/portal-installation

View solution in original post

@Ravi M ,

Absolutely, It's possible. You can have any number of developer portal installs & Connect them to different Edge Orgs. Connection between org & portal is 1:1.

Yes, You can create different portals for different orgs and connect them to individual functional group edge org.

Also, You DO NOT need to worry about licenses too because OPDK License is not tied to scenarios like this since it's pretty flexible license.

Hope it helps.

View solution in original post

16 REPLIES 16

shawkyfoda
Participant IV

Yes, Portal installation process is almost independent of Edge. Actually Apigee developer Portal is a Drupal content management system with a specific drupal modules for Apigee like smartdocs and devConnect , ....

Theoretically you could install multiple portals and configure each one for an organization.

In the installation configuration file define your organization for for this portal

# Edge connection details.# If omitted, you can set them in the porta# Specify the Edge organization associated with the portal.

EDGE_ORG=edgeOrgName

https://docs.apigee.com/private-cloud/v4.18.05/portal-installation

I read this answer as:

Provisioning a new developer portal for an organization on single developer service node is done by simply changing configuration profile with a new org. Running setup -p dp would create a new portal for that org on that node.

It should be pointed out that all this would do is overwrite the initial developer portal org with the one provided during the second setup. In reality each portal needs to be provisioned on separate node for each organization.

or

If you have knowledge of nginx and drupal you could develop solution to provision multiple developer portals for multiple orgs on a single node (with drupal I believe this is referred to as multi-site, single code base shared by multiple developer portals).

@Ravi M

It would be a very nice addition to apigee-setup if the dp provision process created a side-by-side developer portal for each organization on a single node.

Is it not possible without using multisite in Drupal 8?

can we have many to one relationship between  Organizations connected and Developer Portal?

Hi @Ravi M

Typically, you have one-to-one portal installs. However, the notion of having multiple Organizations tied to one portal isn't new. My team and I have put together a Drupal 8 project that does exactly this. In our experience there are many good reasons to have multiple organizations running off a single portal (we refer to it as multi-tenancy). A few examples are:

  • You want to have a single domain for a portal but the business requires proxy and edge to be separated by business units.
  • Different departments may have purchased Edge and unifying the Developer experience is key to a successful Digital Transformation.

Whatever your reason may be a solution exists! Please feel free to reach out to me if you want to discuss it further product.

Alternatively, Drupal is an amazing platform and if your team likes a challenge you can actually put a custom one together on your own. A few months ago we put out a video with a high level overview of some ways to attack the problem from a Drupal development perspective.

The Drupal community is a pretty amazing bunch of folks so help is always around the corner. Many of the concepts I mention in the video will require some familiarization with some well documented solutions on Drupal.org This path requires deep knowledge of Drupal and also very top notch Drupal development skills.

Whatever path you choose I wish you lots of luck and happy Drupalin'!

Apigee doesn't support multiple edge orgs connected to single developer portal as of today.

is Apigee still not supporting multiple edge orgs connected to single developer portal?

Hello @Dagoberto Aceves,

You are right. There are many business reasons that would make the "One portal - multiple organizations" to make sense.

Did you manage to get this solution by forking the existing "apigee-edge-drupal" module or creating a brand new solution?

Hey @Gustavo Bim

We actually have been creating several solutions, some that work more closely to how apigee-edge-drupal approaches problems and are very tightly integrated.

Another approach we've taken is building solutions that work with 'apigee-edge-drupal'. They behave more like developer portal "boosters". Specifically in this case, we have a "Multitenancy Booster" that provides an extensible solution to any existing developer portal Drupal 7 or Drupal 8. However, our focus is D8 from here on out, we don't see everybody cutting over immediately, and understand there are business reasons to keep solving Drupal 7 problems, even if it only is in the interim.

has any body tried multiple organizations running off a single portal(multi-tenancy) ?

@Ravi M ,

Absolutely, It's possible. You can have any number of developer portal installs & Connect them to different Edge Orgs. Connection between org & portal is 1:1.

Yes, You can create different portals for different orgs and connect them to individual functional group edge org.

Also, You DO NOT need to worry about licenses too because OPDK License is not tied to scenarios like this since it's pretty flexible license.

Hope it helps.

@Anil Sagar

When will documentation be provided to do this on a single node? This should be an apigee supported installation process with documentation.

Or does Apigee expect edgeui with multiple orgs to then provision a dp node for each org?

A company with 10 orgs would need 10 DP nodes? IMHO that would be resource waste.

Doesn't make sense to have multiple orgs but only one developer portal which is what is created with current dp provision process as answered by @Shawky Foda

A company with 10 orgs would need 10 DP nodes? IMHO that would be resource waste.

For sure, it would be a waste. You used the phrase "resource waste"; by that I guess you mean a waste of computer resources. The waste would also affect _people_, all the human time required to set up and manage all of that. Not a good idea no matter how you slide it.

The good news is that Apigee doesn't expect companies to set up 10 production orgs. The recommended scenario is 1 production org. If you are maintaining more than 1 production org, you may want to reconsider your choices.

When will documentation be provided to do this on a single node?

We don't expect to document that. It's not a supported scenario now and there's no roadmap that calls for that to be supported any time soon.

Hi Anail ,

Thank You for Your response. Is there a simple step by step instructions to install and configure 2 devportals on the same node, for example :

http://org01.abc.com:8079 which will serve organization org01

and

http://org02.abc.com:8078 which will server organization org02

where org01.abc.com & org02.abc.com both are pointing to the same physical machine

may be by just cloning the current dp and changing only associated organization and the associated virtual host port.

Best Regards

can we have single developer portal connected to multiple organization? do Apigee and Drupal both technologies support it?

Apigee edge Private Cloud with multiple organizations and dev portals

Absolutely, It's possible. We can have any number of developer portal installs & Connect them to different Edge Orgs.

Connection between Org & Portal is 1:1.

Drupal is an amazing platform with a huge community behind it, and you can build very complex and cool things with it.

It has many contributed modules and with a specific Drupal module for Apigee like SmartDocs and DevConnect.

You can install on multiple environment like

  • 1.LNPP (Linux, Nginx, Postgres and PHP).
  • 2.LAMP (Linux, Apache, MySQL, PHP).

In recent versions, Apigee prefers and recommends Nginx based portal over Apache one.

So, we will go with the first one => LNPP (Linux, Nginx, Postgres and PHP).

For both installation the first one installed by Apigee script (which is Linux, Nginx, Postgres and PHP) and the second one from scratch installation

Both are same steps we suppose you have environment installed and every thig is ok and running as one Drupal instance connected to one Org

Example 1:

https://org01.abc.com:8079 which will serve organization Org01

and now we need to create and configure another instance sharing the same Drupal code base.

Example 2:

https://org02.abc.com:8078 which will serve organization Org02

Steps:

  • 1.


    Configure Nginx Multi-site hosting.

    • 2.Configure Multi-site Drupal - Sharing the same code
    • You need a Drupal Expertise to do Apigee Drupal Developer Portal customization.
    • a.Create a new database for the site or (clone current one)
    • b.Create a new subdirectory on the 'sites' directory with the name of your new site (org02.abc.com)
    • c.Copy the file sites/default/default.settings.php into the subdirectory you created in the previous step and name it as settings.php.
    • d.For Drupal 7: There is no need for sites.php file unless you need site aliasing feature. The normal site selection rules apply.
    • e.Adjust the permissions of the new site directory to grant write permissions to the configuration file (settings.php).
    • f.In a Web browser, navigate to the URL of the new site and continue with the standard Drupal installation procedure if a new database and new installation.
    • g.If a cloned database you need to edit the configuration file (settings.php), change the connection string to the new cloned one, navigate to the URL of the new site and it will work as like as the old one.
    • 3.Each site configuration can have its own site-specific modules and themes in addition to those installed in the standard 'modules' and 'themes' directories. To use site-specific modules or themes, simply create a 'modules' or 'themes' directory within the site configuration directory.
    • For example, if org02.abc.com has a custom theme and a custom module that should not be accessible to other sites, the setup would look like this:
    • §sites/org02.abc.com/settings.php
    • §sites/org02.abc.com/themes/custom_theme
    • §sites/org02.abc.com/modules/custom_module
    • 4.configure devconnect module on each portal to connect to different OrgName

systemunix
Participant I
@Ravi M

how did you created multiple organizations ? on a single OPDK or each org has its own OPDK ?i don't see any document which says multiple orgs possible on single OPDK. .