Your Business Won’t Use a Server in 5 Years

IBM and Adobe collaborating on OpenWhisk (Serverless Platform) project as part of Apache Software Foundation Incubator


Servers are dead.

The journey to cloud is a matter of when, not if. The first step in that journey is well underway with organizations replacing on-premise servers with cloud-based systems that are better in every dimension — faster, cheaper, more secure. In 5 years, every modern business will have a substantial portion of their systems running the cloud. But that’s only the first step.

The next step comes when you free your developers from the tedious work of configuring and deploying even virtual cloud-based servers. Developers want to write code and see it run, not configure DNS entries or specify VM sizes or any of the hundreds of other tasks required to deploy and maintain servers. So it’s no mystery why serverless architectures are becoming increasingly popular. Meanwhile, developers and business pros alike are becoming increasingly concerned about being locked into one cloud provider as they make this shift.

That’s why we have worked with IBM to develop a distributed Serverless platform to address this challenge. The  OpenWhisk project, submitted to the Apache Software Foundation (ASF) Incubator, simplifies and accelerates cloud application development so companies can enable their developers to write and deploy functional code without worrying about where it runs and how it is being configured.

OpenWhisk Serverless functions are single-purpose, stateless and short-running code snippets that respond to event feeds or HTTP requests. They are ideally suited to create lightweight micro-services for tasks like API integrations, because developers can chain multiple of these small stateless functions together. Using OpenWhisk, a developer could, for example, create one service (issued by a mobile application or connected device) that would retrieve a document from one API. The same service could then trigger a second service, which submits the retrieved document to a PDF conversion service, and then triggers a third service that signs the PDF and finally, sends the document to a recipient.

By turning this retrieval, conversion, signing and distribution process into multiple steps, OpenWhisk can scale each service dynamically and independently. Plus, the implementation of each step can change independently and resource usage is minimized, as spare processing capacity can be made available when the functions are not running.

OpenWhisk is the first Serverless runtime submitted to the ASF.  Apache’s strong governance and vibrant community of contributors give OpenWhisk the opportunity to truly accelerate its growth. Most existing Serverless implementations are tied to specific cloud platforms. Through the availability and widespread adoption of an open implementation, we hope to strengthen the entire Serverless community and make the use of the Serverless API-driven paradigm more popular.

The OpenWhisk project is looking for contributors to join our vision of an open, easy-to-use, extensible and powerful Serverless platform. We look forward to seeing how the community grows the project. 

What’s Inside OpenWhisk

OpenWhisk was built with clear containerized design tenants. Every architectural component service of the OpenWhisk platform is designed to be run and scaled as a Docker container, enabling OpenWhisk can be hosted in various IaaS, PaaS Clouds platforms that support Docker containers.

In addition, OpenWhisk uniquely leverages aspects of Docker engine to manage, load balance and scale supported OpenWhisk runtime environments—including JavaScript, Python, Swift, and Java—that run Serverless functional code within Invoker compute instances, using Docker containers. 

The OpenWhisk incubator proposal also contains an API Gateway, which not just enables developers to trigger Serverless functions from HTTP request and expose them as REST APIs, it also performs tasks like request routing, throttling and logging. This API Gateway is being used to power services like Adobe I/O, giving developers centralized access to Adobe’s product APIs, showing how Serverless functions can be combined with existing APIs.