As announced at TechEd in Las Vegas on October 2, 2018, SAP Cloud Platform now includes fully-managed services which run in a serverless environment.
You can use these services standalone, or in combination, to build responsive applications, which are equipped to react to business changes in real-time. These services are designed to facilitate the development of microservices and help you build responsive (event-driven) applications and customer-specific extensions.
This blog provides a basic introduction to the new SAP Cloud Platform Functions (beta) service and explains the preliminary steps required to enable beta features in your subaccount, maintain entitlements, and create a service instance. Once everything is set up as outlined in this blog, you can follow the documentation and start developing your first functions in programming language Node.js.
New serverless offering on SAP Cloud Platform
- Messaging as a service: SAP Cloud Platform Capabilities – SAP Enterprise Messaging
- Functions as a service: SAP Cloud Platform Functions (beta)
- Backend as a service: SAP Cloud Platform Backend service (beta)
These services run in a serverless environment, meaning it is SAP as cloud provider (not you), who is responsible for managing and dynamically scaling the resources required for your applications. Resource utilization is closely monitored and caters for micro-billing meaning you pay only for the resources your applications use. Pay-per-use details are published with global availability of each service and do not apply to beta releases.
For more information, see Serverless Computing on SAP Cloud Platform
SAP Cloud Platform Functions (beta)
SAP Cloud Platform Functions is a fully-managed cloud service for building, running, and managing ephemeral application functions. You can use functions to build new applications and extensions that react to triggers across clouds and landscapes in a serverless environment. By developing atomic functions, you can deploy additional business logic on demand in response to defined triggers (e.g. events, HTTP calls, and timers) without changing underlying business processes.
You can use functions to support the following use cases:
- Develop microservices: write loosely couple atomic logic that is quick to build and scale automatically.
- Support IoT/Big Data scenarios: automatically invoke functions to process, transform, and store data from thousands of sensors to the cloud.
- Enable responsive, event-driven applications: use functions to listen and respond to events across the Cloud platform and external events to validate data, process files, and send notifications.
- Streamline processes: create time-based triggers to schedule recurring activities such as reporting and clean-up jobs.
Using SAP Cloud Platform Functions (beta) with other services
You can use SAP Cloud Platform Functions (beta) with other services such as SAP Cloud Platform Enterprise Messaging and SAP Cloud Platform Backend service (beta) to extend SAP applications.
If you want to develop responsive, event-driven applications, use with SAP Cloud Platform Enterprise Messaging to transport events from SAP S/4HANA and SAP C/4HANA, for example, that trigger functions and deploy additional business logic. Further event sources are planned.
Use SAP Cloud Platform Functions (beta) together with SAP Cloud Platform Backend service (beta) when your application extensions need to manage or access data and you require a fully-functional backend with data persistence and caching on the fly.
Getting started with SAP Cloud Platform Functions (beta)
Ensure beta features are enabled for your subaccount
(Global) Administrators can enable beta features in your subaccount on SAP Cloud Platform, Cloud Foundry so you can view all available beta features, including SAP Cloud Platform Functions. From within your subaccount, you won’t see beta features automatically, but an administrator can set this up for you.
To find out if beta features are enabled for your subaccount, choose the Information icon in your subaccount for more information. If beta features are currently disabled in your subaccount, contact your administrator.
To enable beta features in your subaccount, administrators can choose the Edit icon in the subaccount and select Enable beta features and choose Save.
Maintain entitlements for your subaccount
- Administrators need to select the global account and choose Entitlements from the menu.
- Select Functions from the drop-down menu and choose Edit.
- Use the Addition icon to add the entitlement for your subaccount, which then changes the display from 0 to 1.
- Choose Save to update the entitlement for your subaccount so you can access the Functions tile from the Service Marketplace.
Create a service instances for Functions
After an administrator has enabled beta features for your subaccount and set up the entitlement for your subaccount, you can create a service instance for Functions.
- Navigate to your dev subspace in your subaccount.
- Choose Services –> Service Marketplace from the menu.
- Enter Functions in the search field to display the Functions service tile.
- Click on the Functions tile and choose Instances.
- To create a new service instance for Functions, choose New Instance.
- In the Create Instance dialog box, simply choose Next. Since this is a beta release, the only plan available is beta and this is displayed by default.
- Choose Next in the subsequent dialog box because specifying parameters is optional.
- Choose Next again in the subsequent dialog box because assigning an application is optional.
- In the subsequent dialog box, enter a name for your newly created instance:
- The newly created service instance is listed on the Instances screen together with its Name, Plan (beta), Last Operation (Created), and Available Actions.
After you have set up SAP Cloud Platform Functions (beta), refer to the documentation for further details about how to start developing functions.
This blog provided you with a basic introduction to the new beta service and explained the initial setup. Start working with this beta release to get a feel for working with functions and provide us with feedback so the service can be improved before it becomes generally available in 2019. Please note that since it is a beta version, there is no maintenance guarantee. In case of errors, we request you delete and recreate the service instance.
This blog is the first of a series to explain how to start working with this new service, which is part of the SAP Cloud Platform serverless offering. We will be publishing further blogs to explain how to take advantage of the full functional scope as a standalone service and in conjunction with other services like SAP Cloud Platform Enterprise Messaging and SAP Cloud Platform Backend service (beta).