Choosing the Best Tool for Apigee Deployments

Tech Community • 5 min read

1 March 2024

In the modern world, we are relying on APIs more and more to facilitate communication between their applications and external systems. Apigee, a comprehensive API management platform from GCP, has become a go-to choice for many organisations. 

However, efficiently deploying Apigee artifacts (such as API proxies and shared flows) can be a complex task without the right tools. 

In this blog, I’ll provide an overview of the available deployment tooling for Apigee artifacts and aim to identify a standard tool for artifact deployment that you can use with your favourite CI/CD tool to deploy your API management processes.

Available tools

For tools, many free options work with Apigee, such as the Apigee Deploy Maven plugin, Apigee CLI, and others, to help get your API out there. This blog offers you a comprehensive guide to the deployment tools available for Apigee artifacts, designed to integrate with your favourite CI/CD platforms. 

Having a standard tool ensures consistency in the Apigee deployment, for example, across different environments, improves deployment efficiency, and eases automation. So let’s dive into which options are available.

So let’s dive into the available tools.

apigeecli

apigeecli is a command-line interface tool designed explicitly for interacting with Apigee Edge and X, Google Cloud's API management platform.

  • Advantages:
    • User-Friendly: you get an easy-to-use interface for deploying artifacts.
    • Simple use cases: for simple use cases where the input is well-defined, this tool is quite nice.
  • Disadvantages:
    • Not official: this is not an officially supported Google product, so it can be deprecated similar to what happened with api-platform-tools.
    • Not widely used: the tool is not widely used, so it would be harder to find issues related to it.

Apigee Maven Plugin

The Apigee Maven Plugin, known as apigee-edge-maven-plugin, is a build-and-deploy utility specifically designed for building and deploying Apigee ApiProxy's/Application bundles into the Apigee Edge Platform.

  • Advantages:
    • Integration with Maven: This tool aligns with Maven, a popular build and project management tool. Works well if the organization is already using Maven or Maven-compatible tools.
  • Disadvantages:
    • Expertise needed: this works best for a Maven-centric environment where Maven is already being used, as well as good knowledge of Java code.
    • Complexity: It has a higher learning curve. If you are just starting with Apigee artifact deployment, this is not recommended.

Apigee Management API

The Apigee Management API is a comprehensive RESTful API provided by Apigee for programmatic interaction with Apigee Edge.

  • Advantages:
    • Official: it is offered by Google Cloud which you can expect is a reliable tool, with updated documentation and support.
    • Language Agnostic: It offers a RESTful interface, which allows interactions using HTTP requests and responses. You can use a programming language of your choice.
    • Wide range of functions: It has extensive capabilities for control over Apigee resources, making it a good choice for complex deployments and automation.
    • Integration: Great integration into CI/CD pipelines, like GitHub Actions pipelines which are currently in place for Apigee.
  • Disadvantages:
    • For simple use cases like running from your command line, apigeecli would be a better fit.

This is ideal for integrating Apigee management tasks into custom workflows and CI/CD pipelines. Also, you can choose a good scripting and automation language like Python to help provide an efficient deployment. 

apigeetool

The apigeetool is a command-line utility designed for deploying API proxies and Node.js applications on the Apigee Edge platform. Additionally, it provides capabilities to list and undeploy API proxies.

  • Advantages:
    • Node.js native: This makes it possible to deploy API proxies and easy to deploy Node.js applications. So this could be a good option if you are handling Node.js applications.
    • Widely used: The tool is widely downloaded and used. Also, it has a strong open-source community maintaining it.
  • Disadvantages:
    • Lack of support: No Apigee/X hybrid support.
    • Limited Functions: apigeetool has a more limited set of features when compared to Apigee Management API. It may only cover some advanced use cases.
    • Not official: this is not an officially supported Google product, so it can be deprecated similar to what happened with api-platform-tools.

gcloud

gcloud is a command-line tool primarily used to manage resources and services within the Google Cloud Platform (GCP). It is not a recommended tool to directly deploy Apigee artifacts.

Sackmesser

The Apigee Sackmesser utility lets one deploy API Proxies, Shared Flows, and configuration to Apigee Edge as well as Apigee X/Hybrid without writing any additional manifest files. Support for Apigee OPDK setup assessment has recently been introduced. It is a wrapper around the Maven plugins for Apigee X/Hybrid and Edge/OPDK.

  • Advantages:
    • POM-free: Eliminates the need to create and manage POM files for Apigee deployments.
    • Good support: Supports proxy deployments to Apigee Edge, hybrid, and X products.
    • Containerization: Provides Docker container which removes the need for you to install Java and Maven and its dependencies on your build machines with m2 cache initialized at the time of docker build.
  • Disadvantages:
    • Docker expertise: Requires familiarity with docker development.

I hope this guide helps you to evaluate the best choice for your project while always keeping in mind your current resources and your team's expertise before choosing a long-term solution.

--

👋 Hello, I'm Laysa, a developer and cloud engineer, a public speaker, and a knowledge sharer as I go along.

♻️ If you like this article, why not give it a share?

💜 And you can follow me or reach out here | Laysa Uchoa on X | Laysa Uchoa on LinkedIn 

Get in Touch.

Let’s discuss how we can help with your cloud journey. Our experts are standing by to talk about your migration, modernisation, development and skills challenges.

Ilja Summala
Ilja’s passion and tech knowledge help customers transform how they manage infrastructure and develop apps in cloud.
Ilja Summala LinkedIn
Group CTO