AWS, Lambda

Lambda, the serverless computing service from AWS, is no longer the only solution of its kind. Competitors now exist in the form of OpenWhisk, Azure Functions, Google Cloud Functions and more.

But Lambda continues to stand out from the crowd. Why? Here’s an overview of what makes AWS Lambda different from other serverless compute frameworks, and why Lambda remains the platform of choice.

A Brief History of Lambda and Serverless Computing

When Lambda debuted in 2014, it was a big deal. Lambda was the first major serverless computing platform. At the time of its introduction, no other major cloud computing provider offered anything like Lambda. Other vendors, such as Zimki, had serverless offerings that pre-dated Lambda, but their solutions were not as sophisticated or as large-scale.

By allowing businesses to run compute-intensive functions on-demand with the near-unlimited scale of AWS, and pay only for the time that code is actually running, Lambda introduced an important new opportunity to add efficiency to the way companies use public cloud services.

Fast-forward to the present, however, and Lambda is no longer in a room of its own. IBM offers OpenWhisk, a serverless computing service, as part of the Bluemix cloud. Microsoft provides Azure Functions on its cloud. Google features Cloud Functions. And open source projects like Fission.io are working to make it possible to create serverless instances on local infrastructure or in private clouds.

Why Lambda Still Stands Out

Even as the market for serverless computing services has grown much more crowded over the past several years, Lambda continues to stand out in several key ways. They include:

  • It’s designed for efficiency
    Lambda was designed to be lean and mean, a fact that is evident in the technical details behind it. For example, when Lambda launches a container to execute a function in response to a request from an app or user, it keeps the container open in case the function needs to run again. That means the function will run faster if it is called multiple times in a row, leading to optimised performance. Other serverless platforms don’t necessarily work this way (some don’t deploy inside containers in the first place).

  • Broad language support
    The list of programming languages supported by the various serverless computing platforms varies between platforms. That difference matters. You want to make sure the languages that you use are supported before adopting a platform. Lambda sports a long list—and that list notably includes Java, which is not supported on Azure or Fission.io. Because Java remains one of the most popular programming languages that’s a key differentiator.

  • It’s deeply integrated into the AWS ecosystem
    When you use Lambda, you get not only serverless computing, but all of the other tools and functionality offered by AWS. You can use S3 for storage and CloudWatch for monitoring. This integration makes it easy to get up and running quickly with a production environment built around Lambda.

  • It’s mature
    Lambda, which was first introduced in beta in 2014 and generally available since 2015, was the first major serverless computing framework. Competing solutions from other major cloud vendors are much newer. Azure Functions have only been in general availability for a few months, for example. This means that Lambda is the most mature major serverless platform, and developers have had more time to get to know it. If you are going to run serverless code in production, Lambda gives you more assurance that you’ll be doing it on a tried-and-true platform.

  • It’s a fully hosted platform
    Lambda is a fully managed service running in the AWS cloud. That means users do not have to set up or maintain it. This doesn’t make Lambda totally unique; some serverless platforms, such as Azure Functions, Google Cloud Functions and IBM Bluemix’s hosted version of OpenWhisk, are also available as managed services in the public cloud. But others, like Fission.io and the core OpenWhisk platform, are not.

  • Cost-effective
    AWS charges $0.20 for every million times you execute a Lambda function each month. There is an additional charge for the amount of memory you use with each function (details are explained here.) The price per million executions is the same as Azure Functions’s cost (though Azure doesn’t give you as much control over the way memory is used, which is an additional cost), and for most use cases Lambda is less expensive than OpenWhisk.

Bottom line: In terms of maturity, efficiency, language support, and ecosystem integration, Lambda stands out. And it does at least as well as the competition in the areas of ease-of-use (because it is fully hosted) and cost.

Lambda vs. Azure Functions vs. OpenWhisk vs. Fission.io vs. Google Cloud Functions

To provide a crystal-clear sense of how Lambda compares to other serverless computing frameworks, here’s a feature chart:

*Note that Lambda and Azure Functions charge additionally for data. Also, Lambda and Azure Functions each give users one million executions per month for free, with GCF giving two million free executions.

 

Conclusion

The serverless computing market has become quite large in just the last year, and it will no doubt continue growing. But Lambda remains the leader in this space from a technical standpoint.

 

Want to dive deeper? Check out our introduction to serverless with AWS Lambda.

  • Henry Bell

    Technical Principal

    Henry started his career in embedded software engineering focusing on GPS, multimedia encode/decode and embedded Linux, before moving into computer security and malware analysis. For the last five years he has been designing and building platforms in AWS for organisations as diverse as News UK, the Met Office and the FCA, along with running and coordinating transformational cloud adoption programmes.

    More Articles by Henry