APIDevelopmentAndOperations M5 AdvancedTopics
APIDevelopmentAndOperations M5 AdvancedTopics
Mike Dunker
Course Developer, Google Cloud
In this module you will learn how to integrate Apigee build processes into automated
build tools, and you will learn about the different deployment options available for
Apigee.
Apigee Offline
Development and
CI/CD
This lecture will discuss how Apigee supports offline development and Continuous
Integration, Continuous Delivery, or CI/CD.
API proxy editor
● Apigee Console provides a
drag-and-drop graphical
editor for proxy
development.
As you completed the labs for this series of courses, you used the proxy editor to
build your proxies.
When building a proxy, an API engineer can seamlessly switch between the editing
and testing of the proxy.
Online editing
● It is possible to delete or
overwrite proxy revisions when
using the console.
There are some problems with online editing of API proxies, though.
Apigee provides utilities that allow you to integrate the deployment of proxies and
configuration from build automation tools.
Storing an API proxy in source control
● Export revision menu downloads a
proxy bundle zip file.
Apache Maven is an open source build automation tool that can be used as part of a
CI/CD pipeline.
There are two Maven plugins that can be used for managing Apigee.
The Apigee deploy maven plugin is used to build and deploy Apigee proxies and
shared flows.
This plugin uses the same directory structure as is extracted from a downloaded zip
file bundle.
Maven plugins ├── src
│ ├── gateway
│ │ ├── parent-pom
● Apache Maven is an open │ │ ├── employees-v1
│ │ │ ├── apiproxy
source build automation │ │ │ │ ├── policies
│ │ │ │ │ ├── AM-AddCors.xml
tool │ │ │ │ │ ├── EV-ParseInputs.xml ├── env
│ │ │ │ │ ├── JS-ModifyResp.xml │ ├── prod
● Build and deploy Apigee │
│
│
│
│
│
│
│
│
│
├── Q-EnforceQuota.xml
├── SA-Global.xml
│
│
│ └── flowhooks.json
└── test
proxies using the │ │ │ │ ├── proxies │ ├── targetServers.json
│ │ │ │ │ ├── default.xml │ └── references.json
apigee-deploy-maven-plugin │ │ │ │ ├── resources └── org
│ │ │ │ │ ├── jsc ├── apiProducts.json
│ │ │ │ │ │ ├── ModifyResp.js ├── developerApps.json
● Manage and deploy Apigee │ │ │ │ ├── targets ├── developers.json
│ │ │ │ │ ├── default.xml └── reports.json
configuration using the │ │ ├── security-shared-flow
apigee-config-maven-plugin │ │ │ ├── sharedflowbundle
│ │ │ │ ├── policies
│ │ │ │ │ ├── JTP-JSONThreat.xml
│ │ │ │ │ ├── VAK-VerifyKey.xml
│ │ │ │ ├── sharedflows
│ │ │ │ │ ├── default.xml
The Apigee config maven plugin is used to manage and deploy Apigee configuration
entities.
The Apigee API can be used if the Maven plugins do not work for you. Nearly
everything that can be done using the Apigee console can also be done via the
Apigee API.
The Apigee API can be called from CI/CD toolchains to manage the API lifecycle. You
can call the Apigee API by using IAM credentials. If you do not have access to
particular organizations, environments, or entities from the Apigee console, you will
not be able to use those credentials to access those entities via the Apigee API.
Apigee Deployment
Options
This lecture will discuss the different deployment options available when you use
Apigee.
Deployment options
● Apigee API Management Platform
○ Hybrid deployment
There are three deployment options for Apigee's fully featured API management
platform.
Apigee can be run in Google Cloud, where the infrastructure is fully managed by
Google.
Google also provides the Apigee adapter for Envoy, a lightweight runtime gateway
deployment option that lets customers deploy API management functionality in close
proximity to backend services.
Apigee can be deployed as a fully managed, full lifecycle API management platform
running within Google Cloud.
The managed model requires the least amount of management effort, allowing you to
focus your resources on building your API program.
This is the deployment model you have been using for the labs in this course.
Fully managed in Google Cloud
● Fully managed, full
lifecycle cloud-hosted API
management platform
An organization can be hosted in your choice of Google Cloud regions around the
world.
With managed Apigee, customers can take advantage of Google Cloud's fast,
worldwide private network, as well as other Google Cloud services and features.
Fully managed in Google Cloud
● Fully managed, full
lifecycle cloud-hosted API
management platform
● Enterprise offerings
include entitlements for
hybrid orgs
Another benefit of the enterprise offerings of managed Apigee is that they include
entitlements for hybrid deployments of Apigee.
Hybrid deployment
RUNTIME PLANE
● Management plane
RUNTIME TRAFFIC
Hybrid RUNTIME TRAFFIC
Gateway ○ Hosted in Google Cloud, managed
by Google
Runtime ● Runtime plane
Data Store
Apigee's full lifecycle API management platform can also be deployed using a hybrid
deployment model.
The Apigee management plane is hosted in Google Cloud, and managed by Google.
The hybrid deployment model for Apigee allows runtime API traffic to remain within
customer-controlled boundaries.
Why use hybrid?
● Latency: Position the gateway as RUNTIME PLANE
Gateways can be deployed to multiple clouds and data centers, thus allowing API
proxies to handle API requests as close to backend workloads as possible.
API traffic can remain inside specified network boundaries, which can help adhere to
security requirements.
The hybrid deployment model provides full network customizability, allowing the
customer to use chosen TLS ciphers, VPNs, and static IP addresses.
Like the managed cloud deployment model, hybrid deployments provide fully featured
API management.
Apigee Adapter for Envoy
● Envoy is an open source, high
performance edge and service proxy
with a small memory footprint.
Envoy is an open source, high performance edge and service proxy that is designed
for cloud-native applications. Envoy has broad industry support.
The Apigee adapter for Envoy turns Envoy into an Apigee-managed API gateway that
can proxy API traffic.
The Apigee adapter for Envoy is lightweight and easy to manage, and can be run
close to your backend services. Your API traffic does not need to call a central Google
Cloud-managed or hybrid organization, allowing your traffic to stay within
enterprise-approved network boundaries for security or compliance purposes.
The Envoy adapter communicates with the management plane asynchronously. This
allows you to use configuration from the central organization without affecting latency.
The adapter can validate API keys and signed JWT tokens, validating them against
API products. The adapter asynchronously retrieves API product and API key
information from the configured organization and environment.
One benefit of the Apigee Adapter for Envoy is that it uses configuration-based
enforcement. It is easy to manage the adapter for many microservices.
Analytics data for calls through the adapter is delivered to Apigee asynchronously,
allowing full visibility for API traffic running through the adapter.
Quotas can also be enforced using the adapter. Spike arrest rate limiting is a built-in
feature of Envoy which can also be used.
Review: Advanced Topics
Mike Dunker
Course Developer, Google Cloud
In this module, you learned about the deployment options for Apigee gateways, and
how to use Apigee with automated build tools.
Review: API Development
and Operations
Mike Dunker
Course Developer, Google Cloud
Thank you for taking the API Development and Operations course.
During this course you learned about API mediation and traffic management.
We discussed how Analytics can be used to understand the performance of your APIs
and API program.
And you learned how Apigee proxies and configuration can be deployed using CI/CD
tools, as well as how Apigee gateways can be deployed close to backend services.