logo
logo
AI Products 
Leaderboard Community🔥 Earn points

What is Apigee | Apigee API Management | Introduction to Apigee

avatar
ravi kumar
collect
0
collect
0
collect
2

What is Apigee?


Apigee is a platform for developing and managing APIs. By fronting services with a proxy layer, Apigee provides an abstraction or facade for your backend service APIs and provides security, rate limiting, quotas, analytics, and more.

Apigee consists of the following primary components:

Apigee services: The APIs that you use to create, manage, and deploy your API proxies.

Apigee runtime: A set of containerized runtime services in a Kubernetes cluster that Google maintains. All API traffic passes through and is processed by these services.

In addition, Apigee uses other components including:

GCP services: Provides identity management, logging, analytics, metrics, and project management functions.

Back-end services: Used by your apps to provide runtime access to data for your API proxies.

For more detailed explanations, see Components of Apigee.


Flavors of Apigee

Apigee comes in the following flavors:

Apigee: A cloud version hosted by Apigee in which Apigee maintains the environment, allowing you to concentrate on building your services and defining the APIs to those services.

Apigee hybrid: A hybrid version consisting of a runtime plane installed on-premises or in a cloud provider of your choice, and a management plane running in Apigee's cloud. In this model, API traffic and data are confined within your own enterprise-approved boundaries.

Making your services available on the web


Companies today want to make their backend services available on the web so that these services can be consumed by apps running on mobile devices and desktops. A company might want to expose services that provide product pricing and availability information, sales and ordering services, order tracking services, and any other services required by client apps.

Companies often expose services as a set of HTTP endpoints. Client app developers then make HTTP requests to these endpoints. Depending on the endpoint, the service might then return data, formatted as XML or JSON, back to the client app.

The client apps that consume these services can be implemented as standalone apps for a mobile device or tablet, as HTML5 apps running in a browser, or as any other type of app that can make a request to an HTTP endpoint and consume any response data. These apps might be developed and released by the same company that exposed the services, or by third-party app developers who make use of publicly available services.

Because providers make their services available over the web, they must ensure that they have taken all necessary steps to secure and protect their services from unauthorized access. As a service provider, consider:

  • Security: How will you control access to your services to prevent unauthorized access?
  • Compatibility: Will your services work across different platforms and devices?
  • Measurability: How can you monitor your services to make sure they are available?
  • And many other considerations

After a client app has been released that accesses any services, the service provider is then required to make sure that those services continue to work overtime as they add, modify, or delete those services. The service provider must also have a way to keep app developers aware of any changes to the services to ensure that client apps stay in sync with those services.

Client app developers face challenges when trying to consume services from different providers. There are many technologies available today for use by a service provider to expose its services. The same client app might have to use one mechanism to consume a service from one provider, and a different mechanism to consume a service from a different provider. App developers can even face the situation where they have to use different mechanisms to consume services from the same provider.

Make services available through Apigee


Apigee enables you to provide secure access to your services with a well-defined API that is consistent across all of your services, regardless of service implementation. A consistent API:

  • Makes it easy for app developers to consume your services.
  • Enables you to change the backend service implementation without affecting the public API.
  • Enables you to take advantage of the analytics, developer portal, and other features built into Apigee.

The following image shows an architecture with Apigee handling the requests from client apps to your backend services:

collect
0
collect
0
collect
2
avatar
ravi kumar