APIGEE: From Dashboard-Based Development to Local Development ๐Ÿš€


APIGEE Cover

APIGEE, Google Cloudโ€™s API proxy management SaaS, stands out as one of the most comprehensive and feature-rich API proxy solutions available.

I have recently completed the transition of an APIGEE project from a dashboard-based development to a local development setup. While the dashboard-based approach might seem more intuitive and user-friendly at first glance, the local development setup offers several crucial advantages that make it a superior choice for many use cases:

Version Control ๐Ÿ“

Local development allows the use of source code version control tools such as Git. This enables tracking of changes made by different developers, providing better collaboration and traceability. Additionally, it simplifies the process of creating and maintaining releases and sub-releases of API proxies in the cloud environment.

Comprehensive Code Review Cycle ๐Ÿ”

With local development, you can implement a more robust code review process. Code reviews can be integrated into the development workflow, allowing for peer review and quality assurance before deploying changes to the cloud environment.

Improved Deployment Cycle ๐Ÿš€

The local setup streamlines the deployment cycle by allowing developers to use automated scripts and CI/CD pipelines for consistent and reliable deployments. This automation reduces the risk of human error and accelerates the release process. For example, you can use Google cloudโ€™s CLI (aka โ€œglcoudโ€) to easily deploy to the cloud environments once the proxies are ready.

Testing Capabilities ๐Ÿงช

Another key benefit is the ability to incorporate testing into the development workflow. Developers can write and run unit tests or integration tests locally, ensuring that the proxies behave as expected before they are deployed. For example, I have used Docker and Pytest to write testcases for the API proxies and Flask to write a mock server that replaces the target servers for better control over the test environment.

Parallel Development ๐Ÿ› ๏ธ

Local development supports parallel development of API proxies alongside the APIs themselves. This allows teams to work on multiple features or fixes concurrently, reducing the overall development time and enabling faster iterations.

Enhanced Tooling โš™๏ธ

The use of local development tools such as GitHub Copilot provides better code completion and suggestions, improving developer productivity and reducing the learning curve for new team members.

I think transitioning to a local development setup has significantly enhanced the development and deployment process for our API proxies, offering better control, improved collaboration, and a more efficient workflow.

If you have worked with APIGEE before, I would love to hear your thoughts and experiences with different development approaches. Thanks!

Feel free to share your thoughts on this LinkedIn post.