Sergey Nivens - Fotolia
Manage APIs with connectivity-led strategy to cure data access woes
MuleSoft founder and VP Ross Mason discusses API-led connectivity as a linchpin in an enterprise API strategy to dissolve data silos and speed adoption of new apps, such as AI and FaaS.
An effective strategy to manage APIs calls for more than just building and publishing APIs. It can enable API-led connectivity, DevOps agility and easier implementation of new technologies, like AI and function as a service, or FaaS.
Real-time data access and delivery are critical to create excellent consumer experiences. The industry's persistent appetite for API management and integration to connect apps and data is exemplified by Salesforce's MuleSoft acquisition in March 2018.
In this Q&A, Ross Mason, founder and vice president of product strategy at MuleSoft, discusses the importance of a holistic strategy to manage APIs that connect data to applications and that speed digital transformation projects, as well as development innovation.
Why do enterprises have so much trouble with data access and delivery?
Ross Mason: Historically, enterprises have considered IT a cost center -- one that typically gets a budget cut every year and must do more with less. It doesn't make sense to treat as a cost center the part of the organization that has a treasure-trove of data and functionality to build new consumer experiences.
In traditional IT, every project is built from the ground up, and required customer data resides separately in each project. There really is no reuse. They have used application integration architectures, like ESBs [enterprise service buses], to suck the data out from apps. That's why enterprise IT environments have a lot of point-to-point connectivity inside and enterprises have problems with accessing their data.
Today, if enterprises want easy access to their data, they can use API-led connectivity to tap into data in real time. The web shows us that building software blocks with APIs enables improvements in connection experiences.
How does API-led connectivity increase developers' productivity?
Mason: Developers deliver reusable API and reusable templates with each project. The next time someone needs access to the API, that data or a function, it's already there, ready to use. The developer doesn't need to re-create anything.
Reuse allows IT to keep costs down. It also allows people in other ecosystems within the organization to discover and get access to those APIs and data, so they can build their own applications.
In what ways can DevOps extend an API strategy beyond breaking down application and data silos?
Mason: Once DevOps teams deliver microservices and APIs, they see the value of breaking down other IT problems into smaller, bite-size chunks. For example, they get a lot of help with change management, because one code change does not impact a massive, monolithic application. The code change just impacts, say, a few services that rely on a piece of data or a capability in a system.
APIs make applications more composable. If I have an application that's broken down into 20 APIs, for example, I can use any one of those APIs to fill a feature or a need in any other application without impacting each other. You remove the dependencies between other applications that talk to these APIs.
Ross MasonCTO, MuleSoft
Overall, a strong API strategy allows software development to move faster, because you don't build from the ground up each time. Also, when developers publish APIs, they create an interesting culture dynamic of self-service. This is something that most businesses haven't had in the past, and it enables developers to build more on their own without going through traditional project cycles.
Which new technologies come next in an API strategy?
Mason: Look at FaaS and AI. Developers now comfortably manage APIs and microservices together to break up monolithic applications. A next step is to add function as a service. This type of service typically calls out other to APIs to get anything done. FaaS allows you a way to stitch these things together for specific purposes.
It's not too early to get into AI for some use cases. One use of machine learning is to increase developer productivity. Via AI, we learn what the developer is doing and can suggest better approaches. On our runtime management pane, we use machine learning to understand tracking patterns and spot anomalies, to get proactive about issues that might occur.
An API strategy can be extended easily to new technologies, such as IoT, AI and whatever comes next. These systems rely on APIs to interact with the world around them.