AWS Lambda and Docker containers may be at odds, but both have a place in a modern enterprise.
Everyone loves containers these days. Everyone, it seems, but Amazon Web Services. Oh, sure, AWS has its own container service, and makes it easy to run containers across its portfolio of infrastructure services. But with AWS Lambda, AWS seems to be indicating that it "wants enterprises to consume EC2 while...pushing startups and developers towards Lambda" in an attempt "to grow and retain developers on its platform," as cloud analyst Janakiram MSV has stated.
Despite AWS' rising dominance with developers, enterprises keep buying into Docker and containers, as well. By venture capitalist Michael Mullany's analysis, Docker adoption has grown by 2.6x over the past year. This corroborates early 2016 claims by Docker CEO Ben Golub to me that Docker adoption had then "crossed the chasm" to early majority buyers, moving beyond early adopters. It may also signal a healthy future for Docker and containers, even as AWS Lambda and other serverless computing offerings thrive.
Docker adoption: Up and to the right
LinkedIn data may not be the best methodology for uncovering technology trends, but it's a reasonable proxy for overall adoption. And that adoption is sky-high.
As Mullany wrote, "86% of the Fortune 100 now have at least one employee with Docker in their profile, and 47% have at least 10 employees with Docker in their profile. This is up from 75% and 28% respectively since March 2016: a near doubling of companies with significant groups doing work with Docker."
True, the top-10 heaviest concentrations of Docker-savvy employees are vendors (IBM, Cisco, and HP round out the top-3), but Apple, Verizon, and GE also make the top-10. Dig a level deeper, and Docker shows up strongly in the healthcare and insurance verticals, suggesting that it is definitely moving into the mainstream.
Though early detractors contended that Docker was for startups, it's actually been growing fastest within the very largest companies, according to Mullany's analysis. Overall, more than 105,000 people on LinkedIn list Docker as a skill. That still pales in comparison to .NET, for example, which boasts over 1.5 million profiles, but it represents a robust trend toward a containerized future.
That is, if AWS allows it.
A step function in progress
As Google engineer (and former Apigee head of developer relations) Alan Ho has argued, Docker and its container revolution is more of an incremental improvement on virtualization than a massive new innovation: "From a programming model and a cost model, AWS Lambda is the future—despite some of the tooling limitations. Docker in my opinion is an evolutionary step of 'virtualization' that we've been seeing for the last 10 years. AWS Lambda is a step-function."
It could be, of course, that the market will side with incremental evolution rather than a dramatic leap to serverless computing. But, this isn't a bet I'd want to place. Some enterprises, like Expedia, have already heavily invested in AWS Lambda. And, like Expedia (2.3 billion calls each month and growing, according to its head of technology), others will follow.
However, as Apprenda executive Chris Gaun told me in an interview, serverless offerings like AWS Lambda may not be as competitive with Docker containers as first appears. Both can be used to build microservices, but the two arguably serve different needs. As Gaun said, "You don't use container orchestration to build your own serverless (it is not cost effective). And you can't use Lambda exclusively to build most of the apps you're working on. They're different tools."
It's also likely that enterprises, barely able to keep up with a shift to containers, can't keep pace with a step function to serverless. As Apcera director Dean Sheehan put it, "With serverless models, we are trading the management of less granular components like virtual machines, containers or complete applications for the management of very granular functions. If your operations team is geared and tooled to manage 100 applications, will they be ready to manage the 500 to 1,000 entities that may result from the functional decomposition?" The answer will be no in many cases, making containers a great step forward with serverless a step too far.
Both Docker containers and things like Lambda promise to significantly improve developer productivity, which is the most important determinant of a technology's take-off. As such, I suspect we'll see healthy growth in both containers and serverless computing, side-by-side, for some time.
- Docker's no longer all about test-and-dev, says Docker CEO (TechRepublic)
- Serverless computing: The smart person's guide (TechRepublic)
- AWS Lambda garners interest, production workloads as serverless world evolves (ZDNet)
- Why AWS Lambda could be the worst thing to happen to open source (TechRepublic)
- Why Red Hat makes more money on Docker than Docker does (TechRepublic)