Operating Lambda: Application design

Click for: original source

In the Operating Lambda series, I cover important topics for developers, architects, and systems administrators who are managing AWS Lambda-based applications. This three-part series discusses application design for Lambda-based applications. By James Beswick.

Lambda natively supports a variety of common runtimes, including Python, Node.js, Java, .NET, and others. If you prefer to use any other runtime, such as PHP or Perl, you can use a custom runtime. There are lists of community-maintained runtimes for a wide range of programming languages or you can build your own. As a result, Lambda customers can run Erlang, COBOL, Haskell, and almost any other runtime needed to support their workloads.

The article then does a great job explaining:

  • Choosing and managing runtimes in Lambda functions
  • Runtimes and performance
  • Multiple runtimes in single applications
  • Managing AWS SDKs in Lambda functions
  • Networking and VPC configurations
  • Comparing Lambda invocation modes

This post discusses choosing and managing runtimes, the effect on performance, and how you can use multiple runtimes within a single serverless application. It explains the networking model and whether a Lambda function must have access to a customer VPC or can run with the default VPC configuration. It also compares the different invocation modes for Lambda functions. This is a part in 3 parts series of articles with links to further reading. Nice one!

[Read More]

Tags distributed software-architecture lambda serverless