Ever since its introduction in Dreamforce 2019 Salesforce Functions has been one of the most anticipated offerings by Salesforce. Salesforce Functions is a serverless computing service from Salesforce that is a part of the Customer 360 platform.
Salesforce Functions provides fully managed Kubernetes functions service and supports open programming languages. Coupled with supported high-performance data stores like Postgres, Apache Kafka and Redis Salesforce Functions provide a creative platform for architects and developers to come up with innovative solutions without worrying about the underlying infrastructure and platform limits.
Salesforce Functions delivers the core technologies and architectural patterns that can help design and develop fully elastic solutions like:
Functions-as-a-Service for writing scalable business logic in multiple programming languages like Java, Node.js and Apex. These functions can be triggered directly from Salesforce or externally through HTTP function calls.
Microservices for APIs and Apps that can be used for building engaging customer experiences and customer journeys.
High-performance Event-Driven solutions supported by Managed Data Stores like Apache Postgres, Apache Kafka and Redis.
Why Salesforce Functions
Other than being another elastic service that scales up based on the usage an automatically scales down on low usage, Salesforce Functions brings in some unique industry first capabilities that can be extremely useful and productive for companies that are invested in the Salesforce platform:
- It’s a fully managed Kubernetes based elastic scalable service that is operated by Salesforce. The developers can spend their time on building innovative solutions without thinking about the infrastructure requirements for the same.
- Functions seamlessly work with Salesforce platform without requiring any additional authentication and networking. They can be directly accessed the from within Salesforce using multiple invocation methods and can also run external business logic with Salesforce org-context in the serverless functions.
- Functions supports open languages and frameworks like Java and Node.js that can help developers innovate using the capabilities of these technologies. The support for these technologies not only enables addition of great features but can also drastically reduce the development time.
- One of the biggest advantages of Salesforce Functions is their ability to overcome the Salesforce platform limits in terms of request processing and CPU usage. With Salesforce Functions, all the resource-intensive processes can be executed in the serverless environment and this can result in highly performant solutions.
Salesforce Functions Use Cases
- Salesforce Functions has opened up a whole new world of endless possibilities for Salesforce developers. There are no limits to how creatively the service can be used with its limitless capabilities thanks to the underlying serverless architecture and seamless integration with Salesforce Platform.
- Salesforce Functions is currently available as part of Dev Preview, while we patiently wait for the general availability of functions here are some possible use cases that can be developed using Salesforce Functions: Resource intensive processes like document generation, uploads and sharing can be achieved quickly using external libraries.ETL processing in full or certain parts can be carried out using Salesforce Functions and Managed Data Stores.
- Multi-API, Multi-System process orchestration can be created and invoked from Salesforce through the different invocation methods. For example, Orchestrated calls outs from Salesforce for getting customer’s order, billing and usage information from external systems using multiple APIs.
- Heavy Asynchronous processes can be executed outside of Salesforce and the results can be updated back using functions. For example, execution of resource-intensive calculations that have long-running times.
- Elastic single or multi-purpose functions can be created that can be used by external web and mobile apps. For example, functions for calculating customer’s eligibility for a plan based on data in Salesforce objects.
While the general availability of Salesforce Functions is on its way, organisations and developers can prepare themselves and get ready for the release by taking the below steps:
- Upskill yourself and your teams by learning new open technologies like Node.js.
- Resurrect old use cases and business requirements that could not be delivered earlier due to infrastructure and platform limitations.
- Research frameworks like Node.js to identify useful libraries and components that can be used to deliver engaging digital experiences with Salesforce Functions.
- Finally, register for developer preview org of Salesforce Functions by contacting your Salesforce account team or partners.