Featured image for 3scale API Management.

It has become popular to manage developer tasks and to share APIs both internally and externally through a graphical interface on a web portal. To let you manage and share your APIs through a convenient portal of your design, Red Hat 3scale API Management provides a highly customizable developer portal. You can customize the look and feel of the portal to match your use cases and branding. Administrators can customize the developer portal using HTML, CSS, JavaScript, and other web tools. A successful portal makes it easier for developers to consume an API, helping them turn concepts into working applications quickly.

Storage for developer portals in 3scale API Management

After creating the HTML, CSS, and JavaScript files for the portal, administrators upload those files to the system component of 3scale API Management through its CMS feature. The system component needs a ReadWriteMany (RWX) persistent volume for the CMS and system application assets. An RWX persistent volume enables multiple nodes to simultaneously read and write to the storage volume. With an RWX access mode, the system can be scaled horizontally, with multiple pods uploading and reading the files, which increases the scalability of the API manager and developer portal.

This article installs 3scale API Management on Red Hat OpenShift 4.x. The installation uses CephFS as part of Red Hat OpenShift Data Foundation (previously known as OpenShift Container Storage) for RWX storage. We will employ the 3scale API Management Operator, along with other Operators, to simplify installation.

Operators used for this installation

The 3scale API Management Operator creates and maintains an instance of Red Hat 3scale API Management on OpenShift in various deployment configurations. The Operator also has a configurable setting that makes sure you receive automatic updates of product microreleases. The Operator makes it easy to do the following:

  • Install 3scale API Management, providing configurable options at the time of installation
  • Upgrade from a previously installed version of 3scale API Management
  • Reconcile tunable CRD parameters after installing 3scale API Management
  • Define 3scale API Management API options

We also install a set of Red Hat OpenShift Data Foundation Operators, including the following components:

  • OpenShift Data Foundation Operator: This is the primary Operator for OpenShift Data Foundation. It facilitates the behavior of the other Operators by performing administrative tasks outside their scope, as well as by watching and configuring their custom resources.

  • Rook: Rook deploys and manages Ceph on OpenShift to provide block and file storage.

  • NooBaa Operator: The NooBaa Operator deploys and manages the NooBaa multicloud gateway on OpenShift to provide object storage.

Installation procedure

Before you start the process outlined in this article, you'll need to have access to the Red Hat OpenShift Container Platform, version 4.8 or above.

Install OpenShift Data Foundation

  • You'll begin by installing the OpenShift Data Foundation Operator from the OpenShift Console using the default values, as shown in Figure 1.
    OpenShift Data Foundation Operator
    Figure 1: Ensure the Operator is installed in the openshift-storage project.
  • After the Operator has installed, create a storage cluster. Select at least three nodes, and choose at least 0.5 TiB for the requested capacity, as shown in Figure 2. You can leave all the other values as the defaults.
    Create Storage Cluster
    Figure 2: Create a storage cluster.

Install Red Hat 3Scale API Management

  • Install Red Hat Integration - 3scale Operator in your preferred namespace, as shown in Figure 3.
    3scale Operator
    Figure 3: Install the 3Scale Operator.
  • After the Operator installation is complete, create the API manager by using the Console UI. Select the 3scale-amp project. From that project screen, navigate to Operators > Installed Operators > Red Hat Integration - 3scale Red Hat Integration - 3scale > Click on the API Manager tab > Create APIManager > YAML view >. Replace the existing YAML with the code provided below:
    apiVersion: apps.3scale.net/v1alpha1
    kind: APIManager
    metadata:
      name: apimanager
    spec:
      system:
        fileStorage:
          persistentVolumeClaim:
            storageClassName: ocs-storagecluster-cephfs
        redisResources:
          limits:
            memory: 6Gi
      backend:
        redisResources:
          limits:
            memory: 6Gi
      wildcardDomain: <WILDCARD-DOMAIN>
  • You can find the wildcard DNS of your OpenShift cluster from the console URL, as shown in Figure 3. Be sure to remove the < > placeholder marks for your parameters.
    OpenShift wildcard DNS
    Figure 3: OpenShift wildcard DNS

Verify the installation

Wait for about 10 minutes for all the 3scale pods to be ready. You can check the progress and watch them all coming up by navigating to Developer > Topology under the namespace where you installed the 3scale operator. You'll know the pods are up when they have a dark blue circle around them in the UI. Once they're ready, you can verify the installation.

  • Click on system-app to get the URLs of the admin-tenant for 3scale, as in Figure 4.
    Admin Tenant URL
    Figure 4: Getting the admin-tenant URL.
  • All required access credentials are stored in the system-seed secret in the namespace where you installed 3scale. Navigate to Secrets, then search for 'system-seed' and click on it. Navigate to the bottom of the details page to find the admin user and password used to log in to 3scale.
  • Now it's time to log in to the 3scale-admin tenant and verify that you can open the developer portal. On the 3scale admin portal, Navigate to Audience > Developer Portal > Visit Portal to verify that the portal is up and running.

3scale provides you with pre-built templates that you can use to customize the developer portal, or you can choose to edit the look and feel of the entire portal to match your own branding. You have complete control over every element of the portal, so you can make it as easy as possible for developers to learn how to use your API.

A video tutorial

The following video lays out the above installation process step by step. Note that the video focuses only on the RWX storage aspect of Red Hat 3scale API Management installation and is by no means a guide for complete end-to-end installation.

Conclusion

Customizable developer portals are the linchpins of any successful API program. This article has shown how Red Hat 3scale API Management can use Red Hat OpenShift Data Foundation to provide a customizable developer portal.

On a larger level, the procedure in this article shows the power of Red Hat OpenShift as an application development platform, and how developers can get access to all of these components from the OpenShift console.

Some users prefer to have a vendor take care of all these installation processes. For such users, Red Hat provides a managed API Management Platform. Check out Getting started with Red Hat OpenShift API Management to learn more about this fully managed API management service from Red Hat.

Comments