Nearly every major cloud now offers a serverless computing option: AWS Lambda, Azure Functions, Google Cloud Functions, and IBM Bluemix OpenWhisk, to name a few. APIs are a common use case for serverless, but few people want to build APIs on a system that doesn't provide higher-order management functions for them.
IBM's latest set of add-ons for its Bluemix OpenWhisk serverless framework tackles the issue by providing lifecycle management tools for APIs built in the system.
Connect and go
The additions help integrate IBM's API Connect service with OpenWhisk. API Connect, which became generally available in late 2016, manages APIs through multiple parts of their lifecycles: creation, running, management, and analysis/monetization.
API Connect allows APIs to be created via Swagger definitions or through a design tool provided by IBM. Per-product API versioning is built into the system, along with the ability to separate APIs by purpose—for example, dev vs. test API sets—or with team-based access controls.
Some of the other API management features for OpenWhisk have been accessible since the service entered general availability, such as support the API Gateway service (to make OpenWhisk behaviors available as RESTful endpoints), Python 3 support, and support for "a growing range of container platforms, such as Docker, Mesos and Kubernetes," according to IBM's press notes.
API Connect is not open source, but OpenWhisk is—it's an Apache Software Foundation project. IBM is trying to make a case that OpenWhisk is a better target for serverless deployment, in the same manner container services built on open technologies are a more appealing long-term home ground for application development than proprietary cloud tech.
When open isn't everything
The real value of using an open-standard platform in a cloud service is being able to deploy simultaneously to multiple clouds, without having to rework the deployment to fit the quirks of each target cloud. It's the same with lambda/serverless/function-as-a-service architectures: The functions themselves may be the same, but deployment and management aren't.
OpenWhisk solves the problem by providing an open source underpinning for function as a service, much like Kubernetes providing a consistent open source underlay for container management as a service. But the other big clouds have already sunk a fair amount of time and investment into their existing solutions. Those are often open enough to pass muster, especially for a technology that has a narrower use case than containers or VMs.
It's laudable that IBM chose and is moving forward with an open source foundation for its FaaS work. But don't expect the competition to ditch what it has and add OpenWhisk because of openness, let alone for the sake of competing with IBM. The more likely scenario is the rise of third-party solutions that abstract away the differences between different FaaS offerings, such as the Serverless Framework. The project already supports IBM OpenWhisk and includes a plugin architecture that theoretically makes it possible to spin in flanking support for services like API Connect.