AWS's Lambda serverless compute service now runs code written in Ruby. In addition, any Linux-compatible language runtimes are supported, allowing the use of open source C++ and Rust, as well as Cobol, Erlang, PHP and Elixir by using third-party products.
Another new Lambda feature is Lambda Layers, a mechanism allowing shared libraries so that code does not have to be duplicated across multiple functions. A particular benefit is that eliminates the risk that a particular instance of the shared code is not updated along with all the other copies.
The introduction of AWS Toolkit for PyCharm (focussing on Python development), AWS Toolkit for IntelliJ (Java) and AWS Toolkit for VS Code (Microsoft) allows developers to work in their IDE of choice, rather than being limited to AWS's Cloud9.
Serverless Application Repository can now be used to store nested applications (that is, multiple Lambda functions and other related components such as databases) as single units. This capability makes it possible to create a single, reliable pattern that can be used when required by any and all of an organisation's teams, AWS product marketing manager Aaron Kao told iTWire.
Step Functions (used to coordinate multiple AWS services into serverless workflows) now integrates with an additional eight AWS services, namely Batch, ECS (Elastic Container Service) DynamoDB, Fargate, Glue, SageMaker, SNS (Simple Notification Service) and SQS (Simple Queue Service).
WebSocket support will soon be added to API Gateway, making it easier to create and maintain real-time two-way communications. Developers have been asking for this capability for at least three years.
Application Load Balancer now works with Lambda.
Cloud Map provides for a register of application resources such as databases, queues and microservices, constantly checks their health of resources to make sure the location is up-to-date. This allows microservices or other applications to find the resources they need.
App Mesh simplifies the monitoring and control of communications across microservices applications on AWS. It works with with microservices running on ECS and EKS, as well as Kubernetes on EC2, making it possible to change connections without making changes to the microservices themselves. For example, if one copy of a service fails, traffic can be redirected to another, Kao explained.
"We're trying to make sure developers can build on AWS very quickly and very successfully," Kao said.
Some of the changes made to AWS's serverless technology work under the hood so developers get the benefit without having to take any action.
Once example is Firecracker, which provides an additional degree of isolation between the guest OS and the hypervisor, making the serverless environment more secure, faster, and more resource efficient.
Kao said AWS has open sourced Firecracker, and it is trending on GitHub (with the third highest number of stars on the day of writing).
Disclosure: The writer attended AWS re:Invent as a guest of the company.