Amazon is bolstering its serverless solution AWS Lambda with new serverless development features. The company announced Lambda Layers and Lambda Runtime API at its re:Invent conference this week.

Lambda Layers is a new feature for managing code and data across multiple functions. According to Amazon, it’s very common to have code shared across functions whether it is custom code used by more than one function or a standard library. “Previously, you would have to package and deploy this shared code together with all the functions using it. Now, you can put common components in a ZIP file and upload it as a Lambda Layer. Your function code doesn’t need to be changed and can reference the libraries in the layer as it would normally do,” Danilo Poccia, evangelist at AWS, wrote in a post.

Layers can be used to enforce separation, make function code smaller, and speed up deployments, Poccia explained. To provide an example on how to use layers, Amazon will be publishing public layers for NumPy and SciPy. In addition, there are layers available for application monitoring, security and management from AWS partners like Datadog, NodeSource, Protego, PureSec, Twistlock and Stackery.

Lambda Runtime API is an interface that allows users to use any programming language or language version to develop functions. As part of the announcement, AWS is making C++ and Rust open-source runtimes available. It is also working to provide more open-source runtimes such as Erlang, Elixir, Cobol, N|Solid and PHP.

The company also announced an AWS toolkit for PyCharm, IntelliJ and Visual Studio Code. PyCharm is available as of today, but the toolkits for IntelliJ and Visual Studio Code are still in developer preview and under active development in GitHub. “These open source toolkits will enable you to easily develop serverless applications, including a full create, step-through debug, and deploy experience in the IDE and language of your choice, be it Python, Java, Node.js, or .NET,” Poccia wrote.