SAMi - Smart API Marketplace Documentation

Deploy SAMi from Google Cloud Marketplace

Overview

SAMi, Smart API Marketplace is a platform product designed to provide digital solutions for tech e-commerce website businesses. It assists in driving and accelerating the adoption of new revenue streams in the market through digital transformations. SAMi offers comprehensive solutions for companies, with wide-ranging capabilities aimed at generating focused value. For more information, please visit the official SAMi website. SAMi

SAMi can be deployed from GCP marketplace by -

  1. UI inputs

  2. Command-line steps


Below are a few details on SAMi and crisp steps to install SAMi & proceed to configure, use & accelerate your business. To activate SAMi license, please contact or send an email to - sami-connect@sidgs.com

For any further queries, get in touch with SAMi Support - sami-support@sidgs.com

1. How does SAMi help your business?

 

Expedite the time to market for digital services

  • Micro-service to API assets creation & publishing

  • Co-own assets for better collaboration & quicker market responses

 

Streamline the partner onboarding and enhance experience

  • Role based Workflow Task Automation with teams & approvals

  • User-friendly UI interface - single-click approach with invite users

  • Self service - Discover API Products, Try APIs real-time & API Subscription capabilities

 

Supercharge partner and developer engagement

  • One stop shop to drive digital growth

  • Organized, yet flexible & firm ecosystem build, learn & change enablement

  • Unified portal for UAT and production entitlement & consumption

 

A Comprehensive catalog of APIs

  • Powerful search and filtering with horizontal Categorizations

  • Summarized & detailed views of API Products, Description, sandbox - endpoints, parameters, responses, documentation, and support elements for app building

  • BIAN Reference catalog

 

Proactively manage your API products and portfolios

  • Regular usage feedback using analytics based on personas

  • Built-in tools for quick asset onboarding & Publishing

 

Future proof your technology, business & reach

  • Through a robust, cloud-native, pre-secured and resilient platform.

  • SAMi is extensible with multiple API gateway platforms for a unified marketplace experience

 

Below is a brief on licensed features of SAMi -

Product-APIs Marketplace/ Developer portal

  • A unique APIs marketplace with API-Product catalogs, Order Management, Entitlement Management & Fulfillment

  • Elastic Search for Products across multiple categories

  • User Dashboards for Product Managers, Developers, Partners

  • Marketplace styling, Notifications and Alerts

Developer-Hub & Publisher-Hub Integrations

  • Onboard Developers by invite or signup option

  • Unified Experience for all api-products listed in the same platform with options to test using available SDKs and API specifications

  • API proxies, APIs design, development and test facilitation in various environments [Developer, UAT, Pre-prod, production]

  • Multiple Apps subscription & Teams creation for effective collaboration

  • Community forums & Knowledge-Base for broader collaboration & community building

Product Management with Monetization

  • Unified Product Catalog Management of multiple Product categories

  • Set Recommendations of Products for user consumption

  • Monetize API-Products with personalized Rate plans for products with a single product supporting multiple rate plans

  • User Ratings for products

Subscription Management

  • Centralized Subscription Management for all category API products

  • Active & Inactive subscription listings with individual Active durations & Subscription Approval Management

  • Profile Management of individual developers, Product Managers, and Administrators

  • Product Unsubscribe and App disablement options are available

Assets management

  • Manage all assets like SDKs, API specifications, Product Features & FAQs from a single pane

  • Reuse Assets for Products resulting in efficient portfolio consolidation

  • Create & manage Product SKUs with versioning & permissions for users

  • Optional workflow for asset publishing

Analytics

  • API Usage statistics

  • Individual Rate-based billing reports

  • Product Analytics for user engagement

2. SAMi Architecture

SAMi Architecture

3. Deploy SAMi -

About Google Click to Deploy

Popular open-source software stacks on Kubernetes, packaged by Google is a standard method used to deploy SAMi.

Pre-requisites:

To Deploy a Kubernetes Application, you need the following permissions:

Project: <Enter your project name>

All of:

  • container.thirdPartyObjects.create

  • container.thirdPartyObjects.update

  • container.roleBindings.create

  • container.jobs.create

  • container.configMaps.create

  • container.secrets.create

To acquire access, contact your organization administrator.

To request SAMi license, please contact or send an email to - sami-connect@sidgs.com

For any further queries, get in touch with SAMi Support - sami-support@sidgs.com

Quick install with Google Cloud Marketplace

Get up and running with a few clicks! To install SAMi application to a Google Kubernetes Engine cluster using Google Cloud Marketplace, click on - Deploy SAMi on GCP Marketplace.

The below SAMi page with Product details & purchase choice is displayed in the GCP marketplace.

Screenshot 2024-04-03 at 10.28.03 AM-20240419-062509.png
SAMi Product details page in GCP Marketplace

Proceed by clicking on Purchase button, follow the rest of the steps as guided on UI to enter related & relevant valid information. Post completion of the previous steps, the product details page is loaded. To access the deployment page, click on the "Configure" button as seen below -

 

 

Screenshot 2024-04-03 at 12.01.05 PM-20240419-064214.png The image provided showcases the deployment page for the SAMi application, highlighting several key fields:

  • Existing Kubernetes Cluster: This dropdown menu enables the selection of an existing Kubernetes cluster for deploying the application. Kubernetes is renowned for its capability to automate - deployment, scaling, and management of containerized applications.

  • Namespace: Designates the Kubernetes namespace targeted for application deployment. Namespaces are devised for scenarios with numerous users distributed among various teams or projects.

  • App Instance Name: Assigns a unique identifier or name to this particular application instance.

  • operator.serviceAccountName: This field is utilized to either create a new service account or designate an existing one. This account is used by the operator (application) to interact with the Kubernetes API.

  • Portal Hostname: Specifies the hostname for the portal, providing user access to the application. An example hostname is provided below:

    sample.application.io
  • Management URL for Integration: Outlines the URL for managing the application's integration with other services or platforms. The URL format is specified as follows:

    https://<portal hostname>/vsp/api/vds

    An example for reference:

    https://sample.application.io/vsp/api/vds

    https://sample.application.io/vds/vsp/api

  • Liferay URL: This URL is crucial for integrating the Liferay application to serve the UI portal. The required URL format is:

    For instance:

  • Use Inbuilt Standalone Database: This toggle option determines whether to utilize the application's inbuilt standalone database.

The application fundamentally uses PostgreSQL as its underlying database and the EMBEDDED database should be installed as a part of the deployment in the current version

  • Postgres Database Hostname for Apigee Edge (OPTIONAL): The hostname of the PostgreSQL database for application connectivity.

  • Postgres Database Name for Apigee Edge (OPTIONAL): Database name used for application connectivity.

  • Postgres Username for Apigee Edge (OPTIONAL): Username for connecting the application to the PostgreSQL database.

  • Postgres Database Password for Apigee Edge (OPTIONAL): Password for the PostgreSQL database connection.

Info

Info

The database configuration below can be same as the above database configurations.

  • Postgres Database Hostname for Apigee X/Hybrid/PayG (OPTIONAL): The hostname of the PostgreSQL database for application connectivity.

  • Postgres Database Name for Apigee X/Hybrid/PayG (OPTIONAL): Database name used for application connectivity.

  • Postgres Username for Apigee X/Hybrid/PayG (OPTIONAL): Username for connecting the application to the PostgreSQL database.

  • Postgres Database Password for Apigee X/Hybrid/PayG (OPTIONAL): Password for the PostgreSQL database connection.

  • Reporting Service Account: This dropdown menu facilitates the selection of a service account for reporting purposes. It authenticates and accesses GCP services to generate reports.

Note: Hostname, and database name may contain only the ASCII letters a through z (in a case-insensitive manner), the digits 0 through 9, and the hyphen character ('-').

Command-line instructions

One can complete deployment of SAMi using these below steps with Google Cloud Shell or a local workstation.

"Need to place the SAMi GCP marketplace app link"

Prerequisites

Set up command-line tools

You'll need the following tools in your environment. If you use Cloud Shell, gcloud, kubectl, Docker, and Git are installed in your environment by default.

Configure gcloud as a Docker credential helper:

Code Block

Code Block

language bash

 

  • Create a Google Kubernetes Engine cluster

Create a cluster from command-line. If you already have a cluster that you want to use, skip this step. Use region-appropriate zones for the deployment, below is an example. For more information on setting the right zone, please refer to https://cloud.google.com/compute/docs/gpus/gpu-regions-zones.

Configure kubectl to connect to the cluster

Clone this repo

Clone this repo and its associated tools repo:

Install the Application resource definition

An Application resource is a collection of individual Kubernetes components, such as Services, Deployments, and so on, that you can manage as a group.

To set up your cluster to understand Application resources, run the following command:

The command has to be executed once for each cluster chosen for deployment.

The Application resource is defined by the Kubernetes SIG-apps community. The source code can be found on github.com/kubernetes-sigs/application.

Install the app

Navigate to the SAMi directory:

Code Block

Code Block

languagebash

Configure the app with environment variables

Choose an instance name and namespace for the app. In most cases, you can use the default namespace.

Code Block

Code Block

language bash

Set up the image tag:

It is advised to use stable image reference which you can find on Marketplace Container Registry. Example:

Code Block

Code Block

languagebash

 

Configure the container images:

Code Block

Code Block

languagebash

Code Block

Code Block

language bash

 

Expand the manifest template

Code Block

Code Block

language bash

Apply the manifest to your Kubernetes cluster

Use kubectl to apply the manifest to your Kubernetes cluster. This installation creates:

 

4. Configure SAMi post installation

Once SAMi is deployed, it can be verified by logging into the browser by opening the

It generally takes around 10-15 mins for initial setup for bringing up the UI.

SAMi license can be requested, applied as seen in steps of below link & further configured for application & usage from here - https://sidgs.atlassian.net/wiki/spaces/SM/pages/2982445506

 

5. Deleting your SAMi installation

Alternately, you can delete the resources by using types and a label:

Delete the GKE cluster

Optionally, if you no longer need the deployed app or the GKE cluster to which it is deployed, you can delete the cluster by running the following command:

 

 

 

© 2024 SID Global Solutions | https://www.mysami.io | https://www.sidgs.com | +1 484-218-0021