Amazon Web Services' big Re:Invent conference in Las Vegas brought a plethora of new features and upgrades to its cloud platform. But there was one key set of upgrades that set the stage for Amazon's expansion outside its own public cloud data centers.
Two years ago, AWS CEO Andy Jassy made a big splash at Re:Invent when he introduced Lambda, a service that lets developers write snippets of code that execute in response to event triggers. Amazon does the work to provision servers to run that code, so developers don't have to think about the infrastructure overhead.
Last week, the cloud provider built on Lambda with features that drastically broadened its appeal. It's a popular service already, and Amazon is pushing even further with features to make it a part of the internet of things and AWS' content delivery network.
Amazon's strategy could best be described as "Lambda everywhere," IDC program director Al Hilwa said in an email. The announcements the company made last week were part of it "quadrupling down" on the technology, he added.
On Thursday, Amazon.com CTO Werner Vogels announced new services letting users chain different Lambda functions together into a more complex workflow and reduce the latency of their web apps by running functions on Amazon’s CloudFront CDN.
That followed announcements the company made Wednesday to bring Lambda out of the cloud entirely. Jassy showed off Amazon Greengrass, a new set of IoT tools allowing developers to write Lambda functions to run on embedded hardware devices.
Lambda has become one of the three pillars of Amazon's cloud compute services, alongside its Elastic Compute Cloud for running virtual machines and Elastic Container Service for managing Docker containers. Each service has its own role to play when companies are developing applications, but Amazon has been a front-runner in pushing Lambda’s event-driven model.
Lambda functions are becoming increasingly popular among Amazon’s cloud customers. Startups are excited about the new technology, thinking about it as a new wave of computing, said Pete Sonsini, a general partner at venture capital firm New Enterprise Associates.
"The startups who are smart, you know, the smart companies, they're definitely embracing it," he said. "It’s kind of the next wave beyond containers."
The interest is why it makes sense for AWS to focus on bringing new features to Lambda, like a new Step Functions service. It lets users chain together different Lambda functions into a state machine. The system automatically handles issues like function execution failures, and it lets users handle parallel processing by using functions, all by using a graphical interface.
Developers could create applications or parts of applications entirely based on Lambda functions and only run them when they’re needed.
It's also becoming possible for devs to write Lambda functions that will work even before data reaches one of AWS' big cloud regions. On Thursday, Amazon.com CTO Werner Vogels unveiled Lambda at the Edge, which allows developers to write functions that can act on web traffic as it comes into one of Amazon's CloudFront content delivery network nodes.
Lambda on the Edge is aimed at helping customers build apps that react more quickly because the traffic doesn’t have to go all the way back to an AWS region. It has the potential to speed up tasks like logging into a website.
In the future, developers will also be able to run Lambda functions on hardware outside Amazon’s cloud footprint entirely, using Greengrass. It's a framework that lets Lambda functions execute on hardware that isn't a part of Amazon’s cloud or doesn't have a consistent connection to the internet.
To kickstart the Greengrass ecosystem, Amazon launched the Snowball Edge, a ruggedized storage appliance that can hold 100TB of data and can process information using Lambda functions. According to AWS' CEO, functions running on a Snowball Edge will have computing power available to them that's equivalent to an m4.4xlarge compute instance running in Amazon’s cloud.
Device manufacturers will also be able to put Lambda into the IoT components they build, and developers will be able to manage those devices using AWS.
The additional benefit to Amazon is Lambda will end up baked into hardware that companies could install and leave in place for years, helping to ensure reliance on that system. Customers get the benefit of having a single, consistent programming framework that works across the public cloud and edge devices.
The Greengrass news represented a push by AWS to expand where its tools are available, Dan Scholnick, a general partner at Trinity Ventures, said in an email.
"Amazon is saying that they want to be ubiquitous wherever computing is going to happen," he said. "That could be in the public cloud, the enterprise data center, or in the field."
On top of all that, Amazon's Vogels announced developers can now write Lambda functions in C#. That’s great news for the fleet of .NET developers who are already familiar with the programming language, many of whom are most comfortable with development tools and platforms from Microsoft. Amazon’s neighbor in the Seattle area also has an event-driven compute service in its cloud platform called Azure Functions, which supports C#.
It will be interesting to see how the future of Lambda plays out, especially because Amazon's competitors in the cloud are pushing their own function-based compute services. Microsoft has its Azure Functions service, while Google Cloud Platform offers Google Cloud Functions.