Amazon explains its secret weapon in the cloud wars

One of Amazon Web Services' most potent weapons in the cloud computing wars with Microsoft and Google is also one of its least understood.

About a year ago, Amazon introduced Lambda, which it describes as "a compute service that runs your code in response to events and automatically manages the underlying compute resources for you."

That sounds like a lot of buzzwords. But developers and customers like Major League Baseball and Twitter's Periscope absolutely love Lambda because of how it makes running apps simpler. So far, none of Amazon's competitors has come up with anything similar.

"As a technologist, there's almost always a 'gotcha,'" says Amazon Web Services General Manager of Product Strategy Matt Wood. "Lambda kind of is as magical as it appears."

And it's saving some of Amazon's customers big bucks, with at least one happy Lambda customer saving 80% off their cloud bills.

It's just another way that Amazon is extending its lead in the hot cloud computing market, where it's already a $7 billion player and growing fast.

Lambda functions

When Amazon Web Services launched in 2006, its first feature was the Simple Storage Service, or Amazon S3, which made it much simpler for programmers to store things like files on the web. You just sign up for an account and you have a place to stick files for use in websites.

"[Lambda is] the same idea as S3, but applied to computation," Wood says.

Building an app used to require a lot of infrastructure. If you're building a video streaming app, for instance, you need to set up a whole bunch of servers to upload videos, transcode it into the format you want, and play it at different resolutions and sizes depending on the kind of device the customer is using.

But it also means that you had to build big, complex systems that might sit idle 99% of the time, except for the 1% of the time when you have a new video coming in.

This is what makes AWS Lambda so special. With a snippet of specialized code, called a "Lambda function," an app can "talk" to the Amazon Web Services cloud, access the functions it needs, and then turn it off afterwards - without the programmer having to worry about a single server.

A developer doesn't even have to do anything. When it detects an event, like a new file getting uploaded to your account, Lambda can automatically execute the appropriate code.

"No server is easier to manage than 'no server,'" quips Wood.

For instance, Major League Baseball uses a Lambda function to transcode their videos to get them ready for viewing on their various apps and websites, Wood says, while Twitter's Periscope uses it to scan live streaming user video streams for adult content, shutting them down if it detects a positive.

Recently, Lambda added support for the popular Python programming language, right next to its original JavaScript iteration, giving it access to a broad base of developers. Wood promises more features and language support is on the way.

Wood also says that Lambda is a key part of Amazon Web Services' new "Internet of Things" cloud for connected devices, since this approach works really well with smart appliances that won't necessarily be connected to the Internet 24/7 but still generate a lot of data.

The key benefit of Lambda is that programmers get a "laser-like focus" on just building their apps, Wood says. No matter how big or their app gets, Amazon Lambda sets up the appropriate infrastucture behind the scenes.

Plus, because it's accessing Amazon's massive supercomputing cloud, the performance and response times can often be better than anything a developer could build on their own.

"It's particularly well-suited for very large scales," Wood says. "As your app grows, the value of Lambda starts to increase."

There's another cost-benefit beyond the time you save not building infrastructure. Since you don't need to maintain all those big, complex systems when they're not being used, Lambda saves customers money as well.

For instance, cybersecurity company FireEye kept a cluster of Amazon EC2 virtual servers around for whenever they needed to do data analysis on the huge stash of log files generated by customers, which they kept stored in Amazon S3. But that system was sitting idle most of the time, Wood says.

Major League Baseball uses AWS Lambda to handle video transcoding, to make sure that apps appear in the right size and resolution on devices like the Apple TV.

Recently, though, FireEye switched that task over to AWS Lambda, replacing that cluster with a bit of code that would run on a regular pre-set schedule. Without all those virtual servers to keep running 100% of the time, FireEye saved 80% on its monthly Amazon Web Services bill.

"It's not saving pennies," Wood says.

Still, Wood is quick to say that Lambda isn't intended primarily as a cost-saving tool. Some apps are better suited for the traditional way of doing things: Large database apps or anything for the financial or healthcare industries probably value reliability and uptime over Lambda's flexibility, Wood says.