Guide To Building An Enterprise API Strategy
Guide To Building An Enterprise API Strategy
an Enterprise API
Strategy
In this handbook:
Guide To Building an
Guide To Building an Enterprise API Strategy
Enterprise API Strategy
STEPHEN BIGELOW, SENIOR TECHNOLOGY EDITOR
Today's businesses run on software, which must interoperate with myriad other software
platforms. But how can a business offer its valuable data and computing capabilities to
countless potential users without revealing the underlying source code and collaborating
with countless contributors?
The application programming interface (API) defines available interactions between pieces of
separate and distinct software to request and present services, all without them actually
knowing anything about the other. This layer of abstraction enables simple execution of
complex interactions.
Consider a restaurant: Diners interact with waitstaff, order from a menu and then enjoy the
meals brought to them. Yet the diners have, and need, no knowledge of how the orders are
prepared, how the kitchen operates or any of the intricate tasks that happen throughout the
restaurant. The waitstaff and menu are the API: The menu defines the choices that are
available, and the waitstaff communicates and delivers those choices and handles payments.
Businesses can employ a range of API types to achieve the desired interface. Open APIs are
typically unrestricted and publicly available to any developer, business or user. Partner APIs
are intended for use by external business partners or specifically authorized organizations.
Internal APIs are private interfaces that communicate and collaborate between an
organization's internal systems. Composite APIs aggregate multiple API calls into one
response to boost processing and performance of related tasks.
The popularity of APIs and the range of types and protocols available to developers enable
organizations to rapidly develop and deploy diverse combinations to suit specific business
purposes or user groups without the need to re-architect software. Organizations of any size
or experience with software development can build and enhance the business in ways that
would be impossible with traditional proprietary software development.
Ultimately, APIs bring several important benefits to the business:
Product and service innovation. Faster pace of business leaves little room for missteps or
failed projects. Many organizations cannot develop or deliver traditional proprietary
software. APIs allow even small businesses to operate within the same playing field as larger
enterprises. APIs are smaller and easier to update or modify than fully developed
applications, which allows API providers to respond quickly to changing customer needs or
new business opportunities with new or enhanced API offerings.
On-ramp to the public cloud. Businesses exploring cloud adoption quickly realize that cloud
development APIs are essential to the creation and delivery of services through the web.
APIs handle every login, provisioned resource and data exchange between a public cloud and
cloud user. Businesses can select a provider-specific API such as the Microsoft Azure REST
API, or cross-platform APIs such as Apache's jclouds and Libcloud.
An enterprise might develop, maintain and use dozens or even hundreds of public and
private APIs. The generic nature of APIs makes them indispensable across a vast range of use
cases; some businesses, such as those in retail, financial services, transportation and
healthcare, use industry-specific APIs.
Guide To Building an
Enterprise API Strategy
A formal, detailed API management strategy defines desired API features and roadmaps, and
codifies and outlines key elements of API design, security and documentation. With these, a
business can standardize its APIs, share components and development personnel, meet
desired quality and performance standards, and boost security and regulatory compliance
requirements.
API management should address key business issues, including the following:
• Does the API provide the features and functionality that applications and users need?
• How does the business control the API's release and future development?
• Does the API provide enough authorization and authentication to guard business data and
workloads from unauthorized access or alteration? Is API security adequately tested during
development?
• How is the API being used? How many API calls is the business handling month over month?
What tools are available and deployed to monitor API utilization and performance?
1. API design. In this planning phase, an organization discusses its technical and business
needs, formalizes the fundamental requirements for the API, and approves design
specifications and documentation. Common API design best practices include outlining
preferences in API language, naming standards, layout, messaging and architecture.
2. API development. Developers code the API using everyday development tools and common
programming languages, such as PHP, Python, Ruby, Visual C# .NET, Java, Perl and others.
3. API testing. The organization thoroughly tests the API build's functionality, performance and
security. Testing is an important phase for enterprise software, and it demands careful
attention from qualified software testers.
As with all software, APIs are iterative, and these lifecycle steps may repeat countless times
throughout the life of any API. API development and testing may repeat many times before a
single version is accepted for release.
APIs have two acute requirements that other software products may lack: backward
compatibility and strong documentation. Both of these factors should figure prominently in
an API strategy and lifecycle.
APIs are the "glue" that connects different pieces of software. Any change to an API call can
force another business to change its software unexpectedly, or even drive those users to find
another API option. API planning must carefully account for potential impacts to API users
and user satisfaction.
Similarly, APIs require copious documentation that details the parameters and arguments of
every call. It should provide clear examples for each call, as well as numerous calls in context
While they are fundamentally built and distributed as software, and share some difficulties
familiar to software developers, APIs present several specific challenges.
Security. APIs expose business data and workloads to other applications, including web
browsers. Consequently, APIs are a sensitive attack surface for malicious activity, such as
data theft. Developers must emphasize API security and adopt sophisticated methodologies
that include the following:
How to solve this challenge: Create API security guidelines to stipulate the minimum
requirements and preferences for API authentication and authorization. For example, use
OAuth or MFA along with encryption such as Secure Sockets Layer (SSL) or TLS; implement
Testing. Nothing disenfranchises users faster than an API that produces errors or fails to
operate as promised. It's vital to thoroughly test APIs to ensure that every version will
perform properly. API testing should be performed frequently, or even continuously, and in
short cycles. API testing should take place after any significant code change, and run after
any database changes to verify the database functions with the application as expected.
How to solve this challenge: Codify API testing practices to ensure that APIs follow similar
rigorous testing and comprehensive test case creation. For example, stipulate the use of API
testing tools; the types of tests that should be employed, such as security, smoke or canary
testing; the test cases that should be used, such as common test databases; and determine a
location for test results and test result retention.
Guide To Building an
Enterprise API Strategy
Version control. To manage requests and responses between multiple computer and
software systems, APIs must be completely predictable. Every system must know precisely
how the API interface operates, along with all of the available calls, arguments, parameters,
messages and so on. API software changes affect all of these items, which can interrupt or
corrupt data access and flow, and force API users to adjust their systems -- a source of
dissatisfaction.
Documentation is closely associated with version control. Changes to an aspect of the API, or
a new API version release, can alter how that API interacts with other systems and can lead
to errors or failures if these changes are not properly documented.
How to solve this challenge: Proper API documentation allows users to test and adopt an API
quickly and completely with a minimum of errors and frustration. Typical API documentation
guidelines include reference data focusing on API calls and syntax, examples showing how
API calls are used, and tutorials that offer broader examples in context and offer access to
API developer support or additional information.
How to solve this challenge: API mapping tools can help developers understand the
messages passed between APIs and illustrate how APIs interact with each other. More
broadly, API management is typically performed through a set of tools or a combined
platform that performs coordinated aspects of API management.
Most organizations turn to an API management platform to support the array of tasks that
manage APIs throughout their lifecycle. An API management platform can help to streamline
and even automate some of the tasks involved in API development, testing and deployment.
API management platforms typically promise five major benefits to the business:
1. Discovery. An API management platform can watch for exchanges between applications,
services and other APIs, and can spot new APIs that become available.
API management tools can be complex, but they typically employ several major components
to support an API management strategy: an API developer portal, an API testing
environment, an API gateway or an API proxy, an API documentation engine and more.
API developer portal. This is essentially a storefront that allows organizations to see, select,
obtain and use available APIs. It offers details about the available APIs, access to
documentation such as guides and tutorials, and instructions for installation and integration
with developer tools. The portal also frequently includes a change log to help developers
understand how the API versions have changed and evolved over time, along with any
relevant API status, such as whether the API is unsupported or in end-of-life mode.
API lifecycle manager. All APIs have a product lifecycle that shepherds an API product from
inception through end of life. Centralized lifecycle management capabilities in such a
API policy manager. Policies use logical statements operated through the API gateway to
determine an API's availability and behavior -- how it controls the flow of data, throttles
calls, handles variables and so on. An API management tool typically includes an array of
default policies out of the box, but organizations can modify and add policies to suit the
unique needs of the business.
API analytics. An API analytics engine collects and analyzes metrics related to API use, and
produces reports for API developers and other stakeholders. API metrics may include the
number of calls, the users making API calls, latency, uptime and availability, CPU memory
utilization, errors and trends over time.
Guide To Building an
Enterprise API Strategy
API testing environment. Validating an API for reliability, security and performance is a
central part of any API strategy. An API testing environment often links to other tools within
the developer toolchain and supports multiple test types: functional testing to validate the
API's functions, security and error handling; performance testing to gauge how the API
API gateway. The API gateway is the focal point for API messaging. It receives API calls,
moves them to the appropriate API, receives the response and forwards it to the calling
software. With an API gateway, a business can see and control a broad scope of APIs and
integrations centrally, rather than attempt to track and manage APIs individually within the
environment. API gateways typically include monitoring and logging capabilities to record
and analyze calls and responses in order to ensure security and evaluate errors.
An alternative to the API gateway is an API proxy, which is basically a subset or specialized
version of an API gateway that provides minimal processing for API requests. The API proxy
handles communication, including protocol translation, between specific software platforms,
such as a proxy endpoint and target API. It can also control the flow of traffic between
sending and receiving points.
Successful API management does not happen by accident. A business that successfully
participates in the evolving digital ecosystem requires a successful API strategy, which
typically includes five stages:
1. Set goals. Start with a business goal -- for example, create a new revenue stream for the
company's proprietary data and services, or streamline a business process by automating the
sharing of data currently done with manual processes. These will guide the technical
decisions about how to create and deploy APIs, such as API design attributes best capable of
sharing the required data with internal or external users.
Guide To Building an
Enterprise API Strategy
2. Consider the infrastructure. APIs ultimately operate within the constraints of the IT and
business infrastructure, so understand what resource availability and performance the APIs
will require. For example, consider what data is being exposed; its location, such as whether
it is in separate financial, human resource or other systems; whether data is single-sourced
or aggregated; and whether it is local, remote or in a cloud. Other infrastructure
considerations include networking requirements that API access will demand, and the
policies, security and regulatory requirements that a business must meet.