Modern applications demand developers to build APIs that handle intricate features, deliver lightning-fast performance, and materialize in record time. As platform engineers, you are the unsung heroes that empower developers with the right tools and practices to make API development a less of a burden.
As a platform engineer, how can you influence API development? Turns out there are five high-level strategies to follow. As a platform engineer you can help your developers create better APIs by:
From our partners:
- Treating APIs and internal platforms as products
- Embedding API management into your internal platform
- Building CI/CD pipelines for your proxies and policies
- Creating golden paths for developer consumption
- Leveraging Apigee for management and automation of APIs
Let’s take a look at each of these strategies.
1. Treating APIs and internal platforms as products
A great digital connected experience is powered by APIs, digital mechanisms that enable applications to talk to each other. Simply put, APIs are just software products that power service integration. Just as any other software product that is shipped to a consumer, APIs should be tested, secured, deployed and managed using a systematic process like the Software Development Life Cycle (SDLC). Internal platforms enable delivery of these digital products. They do this by delivering a common set of tools and opinionated templating for the developers to use. For example, maybe your organization has a requirement that specifies that all applications that want to access APIs must present an OAuth token. The platform engineer would create a golden path that makes available a shared flow pipeline that would be used to attach an OAuth v2 policy to the proxy using a flow callout.
Just as APIs are products, so are internal platforms. Breaking down internal silos to work across teams in your organization to understand requirements is a primary function of any platform engineering team. This collaboration results in better tooling for the developer.
2. Embedding API management into your platform
At the core, you are responsible for creating internal platforms for developers to use. These platforms enable developer autonomy, by providing developers with access to opinionated templates and tooling. Creating these templates and tools allow various aspects of API management to be handled by your platform. Embedding API management into your platform allows things like standardization, security, quotas, and monitoring, and automated deployment to be baked into your platform.
3. Building CI/CD pipelines for your proxies and policies
Because APIs are digital products, they should be created and managed through code. A common task for platform engineers is to create CI/CD pipelines, to automate the software-development life cycle of APIs. A standard CI/CD pipeline consists of static code analysis, unit testing, deployment and integration testing.
At a high level, a developer locally develops a proxy and uses Git to commit the proxy code to a source code repository. A commit kicks off an automated pipeline that performs testing and provides feedback. If successful, the code is promoted to various environments until it is released to production. After building your APIs, you want them to be discoverable by others in your organization. API Hub is great for internal API discovery. You can utilize the developer portal for external API discovery and documentation for your customers.
4. Creating golden paths for developer consumption
Golden paths consist of templates that integrate code and tooling to increase developer velocity. As the name suggests, a golden path helps a developer find the path of least resistance when building software, often by leveraging self-service templates and workflows. These templates consist of common tasks and opinionated strategies. When developing APIs with Apigee, a standard golden path might include:
- A getting started guide
- Scaffold template for proxy / policy creation / mock backend
- Standard Shared flow configs which are automatically injected
- CI/CD pipeline for testing and deployment
- API registry templates
5. Leveraging Apigee for management and automation of APIs
Let’s talk about the star of the show: Apigee, an API management platform that provides platform teams with tools to build, manage, and secure APIs. Apigee can be used to manage your APIs throughout their lifecycle. APIs in Apigee start with a proxy, a digital interface that sits between your customer and your business logic (or backend). The proxy also serves as an attachment point for API policies, allowing your organization to program API behavior. Proxies also allow you to decouple your API from directly accessing your backend and hide complexity. As a platform engineer you help developers create better APIs by enabling them to focus on proxy creation. Your platform should be opinionated on how your APIs should function. Apigee tools like Shared Flows allow you to enforce standardization and consistency. FlowCallout policies and flow hooks allow these policies to be attached to proxies and reused across APIs.
Build better APIs
By treating APIs and internal platforms as products, embedding API management into your platform, leveraging Apigee for management and automation of APIs, building CI/CD pipelines for your proxies and policies, and creating golden paths for developer consumption, you can help your developers build better APIs with Apigee. Want more guidance on how to help your developers? Check out this detailed white paper for more information. If you are not using Apigee yet, learn more or get started here.
By: David Rush (Customer Engineer) and Emanuel Burges (Developer Relations Engineer)
Originally published at: Google Cloud Blog