By Harm Korten
In the past few weeks, Appsolutely had the pleasure to participate in both the pilot and the beta for an upcoming, new Salesforce feature. Salesforce Functions will transform the way developers and architects design solutions for the Salesforce platform. With this feature, users deliver functionalities written in coding languages other than Apex. It also provides them with the possibility to host solutions outside of the Salesforce platform, yet in a much more integrated way than simply developing them on an external web service. Read on to learn more about the functionalities and discover some clever use cases.
How it works: Multiple coding languages and ran in a Salesforce-managed compute environment
The function itself, whether it is in Java or in Node.js, will receive the invocation, which includes an API access token that allows the function to callback to the Salesforce API, along with other contextual data and a logging interface. It can be tested locally by running it in a Docker container. Development is done in a Salesforce DX project, leveraging the already familiar Salesforce CLI. Currently, Node.js and Java are supported in Salesforce Functions, but we expect to see support for other languages in the future.
How will Salesforce Functions improve your solution development?
With Salesforce Functions the possibilities of Salesforce development will become more accessible to developers that are used to working in a multitude of programming languages.
Already a significant increase in handling capacity, despite some limits
Although the final implementation of Functions may still change from the beta, we already know there will be some limits. Besides the limits to the current request and response size, the most interesting one from a design perspective is the process memory limit. The new limit of 1 GB, which will most likely be increased to 3 GB in the future, already offers a significant increase of the handling capacity compared to solely using Apex. Apex maximum heap size currently stands at 12 MB and is shared with all other processes in the same transaction. It’s easy to see that 1 GB allows for much more elaborate processing, and a future increase to 3 GB would improve the handling capacity even more.
Get to know Harm
With 17 Salesforce certificates and more than 15 years of experience working with Salesforce in various capacities, Harm is a true force.com fan! Harm has worked on well over a hundred Salesforce projects of varying sizes and scopes. As an authorized Salesforce trainer, Harm has delivered many technical Salesforce courses between 2009 and 2016. Harm's specialties are Salesforce solution architecture, (Apex) development and system integration; the latter two being personal favorites.
Outside technology, Harm enjoys computer games, chess, football, and time with his two daughters.