With two new services announced yesterday, Amazon Web Services (AWS) is moving up the services stack to better compete with Google — and, arguably adding more ways to lock customers in to the Amazon cloud.
Lambda is the more dramatic announcement of the two. It automatically launches jobs and manages the compute resources underneath them, all billed in increments of 100 milliseconds. In other words, you can now leave AWS with instructions to start routine batch jobs.
Separately, AWS announced the EC2 Container Service (ECS) for building and running Docker-based applications. Both are part of a developer-focused theme at the re:Invent conference, where both services were announced.
"Lock-in" is an admittedly overcharged phrase, considering it's what almost every business seeks. Cloud services should be no exception. Amazon is in stiff competition with Google, Microsoft, Rackspace, and hundreds of others. Google and Microsoft, in particular, have the resources to keep driving the pricing of cloud services down toward zero.
Separately, you've got initiatives such as the Cisco Intercloud, which aims to unify multiple cloud environments for the enterprise user. Theoretically, that could give the customer some arbitrage power to move workloads to whichever service looks best at the time.
Both factors mean the cloud providers need to stand out. Lambda, in particular, seems like a good way for AWS to do that.
Lambda's Batch OperationsLambda triggers in response to a particular event (a change to something you have stored in, or running on, AWS), usually within milliseconds, according to Amazon's literature. This allows for the automation of predictable jobs — the compression or watermarking of documents after they're uploaded, for instance — and/or for running thousands of functions in parallel. Performance would be kept consistent because compute resources would be allocated as necessary.
In the case of jobs that run only occasionally, Lambda could be a money saver, spinning up servers only as needed. (There's a fee for the initial request, in addition to a fee for the time the job spends running.)
These don't have to be tiny jobs, either. Netflix is quoted in AWS's press release talking about video transcoding and disaster recovery.
Lambda is available in preview form in AWS's two U.S. regions and its Europe region. Pricing wasn't announced, but there's a free tier that includes, per month, 1 million requests and 3.2 million seconds of compute time.
Is Lock-in All That Bad?Certainly, you'd expect cloud providers to create features that the others don't have. That kind of soft lock-in that's present in most markets.
Lambda has a stronger grip than a normal feature, though. It's a home base for a routine job. It operates on data that's resident in AWS, is triggered by activity in AWS, and causes things to happen in AWS. Features such as EC2 Container Service can make it nicer to keep a workload in AWS, but Lambda makes it imperative to keep it there.
Whether this is a bad thing is in the eye of the user. Plenty of customers seem happy to use AWS extensively. I'm not in Las Vegas to witness re:Invent, but I would guess most users are thrilled at the Lambda announcement.
"Lock-in says that you're getting value from something," writes Gartner analyst Lydia Leong, only half jokingly, in an email to SDxCentral.
Two who are skeptical are Eric Anderson and Bob Quillin, founders of StackEngine, a Docker management startup. Their software arguably competes with EC2 Container Service, but they've also got experience with AWS as customers. "We learned at previous companies, building something on top of AWS is really fast, but you get locked in," Anderson says.
"For developers and smaller projects, it's a great way to start, but you do lose some flexibility with larger applications over time," Quillin says. "It tends to get harder to get yourself out of it."
ECS and Lambda do point to an encouraging trend at re:Invent, Anderson says. Amazon has tended to obsess over infrastructure, but this week's talks show a sharper focus on developers. "A lot of the speakers, they were talking applications and development. They were talking to developers," Anderson says.
That approach is going to be necessary to keep feature parity with Google. For example, ECS "sounds a lot like what Google announced with their Container Engine stuff," Anderson says. "To me, Amazon's trying really hard to keep up with Google on that front."
Prices matter, too. According to 451 Research's newly instituted Cloud Price Index, the average hourly price for a web application is $2.56; that figure drops to $2.36 for the likes of AWS, Google, and Microsoft Azure, writes analyst Owen Rogers.
Those hyperscale players vary in price when it comes to things like support and non-relational databases, but they're "incredibly similiar" when it comes to the price of compute and storage, Rogers writes in an email to SDxCentral. "For me, this implies that object storage and compute are beginning to become commoditized," he writes. Amazon's new features are "further evidence that the opportunities in cloud now lie further up the stack."
"As Amazon moves more and more towards delivering platform-level services, they provide more value by building things that customers will have great difficulty replicating themselves," Leong writes.