Apache OpenWhisk is an open source and serverless cloud platform that performs functions in response to events. The platform uses a function as a service (FaaS) model to manage infrastructure and servers for cloud-based applications and servers. OpenWhisk removes concerns about management of infrastructure and scaling by using Docker containers.
The platform can be used to repackage legacy applications, deploy services, websites and applications and can often reduce development costs.
Cloud service providers, Software as a Service (SaaS) and application vendors and system administrators can use OpenWhisk. OpenWhisk assists in creating infrastructures for those interested in modernizing legacy applications or anticipating a growing product.
How OpenWhisk works
OpenWhisk provides an event-based system that responds to event by way of Triggers. Developers write functional logic called Actions that can be dynamically scheduled and run in response to events called Triggers. The Triggers can come from HTTP requests or from external sources called Feeds. The Trigger then uses containers for the rules on how events are processed and with what Actions the system responds.
The platform scales per request, supporting programming languages such as NodeJS, Swift, Java, Go, Python, Ruby and Ballerina. The program uses a RESTful API-based command line interface (CLI) to support additional languages, custom logic and libraries and other container deployment selections. The OpenWhisk Composer programming model can be used to modernize existing applications.
Benefits of OpenWhisk
As a part of the Apache Software Foundation (ASF), the software is developed and maintained by one of the largest organizations supporting open source software. The software makes it easier to focus on the desired product rather than the infrastructure to support it. With its per-request scaling and automatic resource allocation, it can grow with the supported site, service or application.
OpenWhisk development is largely driven by IBM and Adobe. OpenWhisk is robust, supporting thousands of concurrent triggers and actions. The platform’s serverless nature can save time otherwise used in debugging, monitoring and maintenance of the infrastructure.