Edge for Private Cloud v. 4.17.01
What’s New
See 4.17.01 - Edge for Private Cloud release notes.
Access the Apigee Community
The Apigee Community is a free resource where you can contact Apigee as well as other Apigee customers with questions, tips, and other issues. Before posting to the community, be sure to first search existing posts to see if your question has already been answered.
Architectural Overview
Before installing Apigee Edge for Private Cloud, you should be familiar with the overall organization of Edge modules and software components.
Apigee Edge for Private Cloud consists of the following modules:
- Apigee Edge Gateway (aka API Services)
- Apigee Edge Analytics
- Apigee API BaaS
- Apigee Edge Developer Channel
- Apigee Edge Monetization Services (aka Developer Services Monetization)
Note: Apigee Edge Developer Channel is not available for installation by the Edge for Private Cloud installer. Developer Channel is available for on-premises installation by a separate script. If you want to install Developer Channel, contact Apigee Support.
Apigee Edge Gateway
Edge Gateway is the core module of Apigee Edge and is the main tool for managing your APIs. The Gateway UI provides tools for adding and configuring your APIs, setting up bundles of resources, and managing developers and apps. The Gateway offloads many common management concerns from your backend API. When you add an API, you can apply policies for security, rate-limiting, mediation, caching, and other controls. You can also customize the behavior of your API by applying custom scripts, making call outs to third-party APIs, and so on.
Software Components
Edge Gateway is built from the following primary components:
- Edge Management Server
- Apache ZooKeeper
- Apache Cassandra
- Edge Router
- Edge Message Processor
- OpenLDAP
- Edge UI
Edge Gateway is designed so that these may be all installed on a single host or distributed among several hosts.
Apigee Edge Analytics
Edge Analytics has powerful API analytics to see long-term usage trends. You can segment your audience by top developers and apps, learn about usage by API method to know where to invest, and create custom reports on business-level information.
As data passes through Apigee Edge, several default types of information are collected including URL, IP, user ID for API call information, latency, and error data. You can use policies to add other information, such as headers, query parameters, and portions of a request or response extracted from XML or JSON.
All data is pushed to Edge Analytics where it is maintained by the analytics server in the background. Data aggregation tools can be used to compile various built-in or custom reports.
Software Components
Edge Analytics comprises the following:
- Qpid, which consists of the following
- Apache Qpid messaging system
- Apigee Qpid Server service - A Java service from Apigee used to manage Apache Qpid
- Postgres, which consists of the following:
- PostgreSQL database
- Apigee Postgres Server service - A Java service from Apigee used to manage the PostgreSQL database
Apigee API BaaS
API BaaS is a complete backend as a service (BaaS) for powering mobile and Web apps that you install as an addition to Edge. API BaaS gives app developers access to a flexible data store and key differentiating features such as social graphs, geolocation, user management, push notifications, performance monitoring, and more. API BaaS makes these features available with SDKs for iOS, Android, JavaScript, and others, letting app developers focus on creating the rich features and user experience that truly differentiate a client app rather than burning time implementing core backend services and infrastructure.
API BaaS Features
The Apigee documentation site has extensive information on API BaaS features. See http://apigee.com/docs/app-services/content/app-services-features.
The following diagram illustrates how API BaaS components interact.
Software Components
API BaaS is built from the following primary components:
- API BaaS Stack - deployed in the Tomcat webserver
- API BaaS Portal - UI deployed in the Nginx web server
- ElasticSearch - distributed full-text search engine. ElasticSearch can be installed on the same node as API BaaS Stack, or on its own node.
You can scale the API BaaS REST API capability horizontally by adding Tomcat servers and using a Load Balancer to route web requests to all of your active servers.
For more information on getting started with API BaaS, see http://apigee.com/docs/content/build-apps-home.
Apigee Edge Developer Channel
Edge Developer Channel is a template portal for content and community management. It is based on the open source Drupal (http://www.drupal.org) project. The default setup allows creating and managing API documentation, forums, and blogs. A built-in test console allows testing of APIs in real time from within the portal.
Apart from content management, Developer Channel has various features for community management such as manual/automatic user registration and moderating user comments. Role-Based Access Control (RBAC) model controls the access to features on the Developer Channel. For example, you can enable controls to allow registered user to create forum posts, use test consoles, and so on.
The Apigee Edge for Private Cloud deployment script does not include Developer Channel deployment. Developer Channel deployment on-premises is supported by its own installation script. If you want to install and configure Developer Channel, contact Apigee Support.
Apigee Edge Monetization Services
Edge Monetization Services is a new powerful extension to Apigee Edge for Private Cloud. As an API provider, you need an easy-to-use and flexible way to monetize your APIs so that you can generate revenue for the use of those APIs. Monetization Services solves those requirements. Using Monetization Services, you can create a variety of rate plans that charge developers for the use of your APIs bundled into packages. The solution offers an extensive degree of flexibility: you can create pre-paid plans, post-paid plans, fixed-fee plans, variable rate plans, “freemium” plans, plans tailored to specific developers, plans covering groups of developers, and more.
In addition, Monetization Services includes reporting and billing facilities. For example, as an API provider, you can get summary or detailed reports on traffic to your API packages for which developers purchased a rate plan. You can also make adjustments to these records as necessary. And you can create billing documents (which include applicable taxes) for the use of your API packages and publish those documents to developers.
You can also set limits to help control and monitor the performance of your API packages and allow you to react accordingly, and you can set up automatic notifications for when those limits are approached or reached.
Note: The core Apigee Edge (Gateway and Analytics) is a prerequisite for using Monetization Services.
Monetization Services Features
The key features of Edge Monetization Services include:
- Fully integrated with the API platform means real-time interaction
- Support all business models “out of the box” from simple fee-based plans to the most complex charging/revenue share plans (easy to create and modify plans)
- Rate transactions on volume or “custom attributes” within each transaction. Transaction can be made up of APIs from Gateway PLUS other systems (external to Apigee Edge)
- Automated tools such as limits and notifications to monitor performance and manage the process
- Integrated developer/partner workflow and controls to manage purchase through the billing/payment
- Fully self service for business users and developers/partners, so no need for costly technical intervention
- Integrated with any backend sales, accounting and ERP system
Edge for Private Cloud v. 4.16.09
Software Components
Edge Monetization Services is built on top of the following primary components:
- Edge Management Server
- Edge Message Processor
For more information on getting started with Monetization Services using Edge UI, see http://apigee.com/docs/monetization-services/content/get-started-using-monetization-services.
On-Premises Deployment
An on-premises installation of core Apigee Edge for Private Cloud (Gateway and Analytics) provides the infrastructure required to run API traffic on behalf of the on-premises client’s customers.
The components provided by the on-premises installation of Edge Gateway include (but are not limited to):
- A Router handles all incoming API traffic from a load balancer, determines the organization and environments for the API proxy that handles the request, balances requests across available Message Processors, and then dispatches the request. The Router terminates the HTTP request, handles the TLS/SSL traffic, and uses the virtual host name, port, and URI to steer requests to the appropriate Message Processor.
- A Message Processor processes API requests. The Message Processor evaluates an incoming request, executes any Apigee policies, and calls the back-end systems and other systems to retrieve data. Once those responses have been received, the Message Processor formats a response and returns it to the client.
- An Apache Cassandra is the runtime data repository that stores application configurations, distributed quota counters, API keys, and OAuth tokens for applications running on the gateway.
- An Apache ZooKeeper contains configuration data about the location and configuration of the various Apigee components, and notifies the different servers of configuration changes.
- An OpenLDAP (LDAP) to manage system and organization user and roles.
- A Management Server to hold these pieces together. The Management Server is the endpoint for Edge Management API requests. It also interacts with the Edge UI.
- A UI provides browser-based tooling that lets you perform most of the tasks necessary to create, configure, and manage API proxies, API products, apps, and users.
The components provided by the on-premises installation of Edge Analytics include:
- A Qpid Server manages queuing system for analytics data.
- A Postgres Server manages the PostgreSQL analytics database.
The following diagram illustrates how Apigee Edge components interact: