Need advice about which tool to choose?Ask the StackShare community!

AWS Lambda

23.7K
18.4K
+ 1
432
Docker

170.5K
137.1K
+ 1
3.9K
Add tool

AWS Lambda vs Docker: What are the differences?

  1. Execution Environment: AWS Lambda is a serverless computing service, where the code is executed on demand in response to events without the need to provision or manage servers. On the other hand, Docker requires the creation of a container that encapsulates the application along with its dependencies, allowing it to be run consistently across different environments.
  2. Scalability: AWS Lambda automatically scales based on the incoming traffic and events, allowing for high availability and efficient resource utilization. In contrast, Docker containers need to be managed and scaled manually, requiring more hands-on configuration and monitoring for achieving scalability.
  3. Billing Model: AWS Lambda follows a pay-per-use pricing model, where users are charged based on the number of invocations and the resources consumed during the execution of functions. Docker, being a containerization platform, does not have a distinct billing model as it can be used on various hosting services with different pricing structures.
  4. Isolation: AWS Lambda provides a high level of isolation between function executions by spinning up a new container for each function, ensuring security and preventing interference between different invocations. Docker also offers isolation through containers, but the level of isolation can vary depending on the configuration and setup of the containers.
  5. Deployment Flexibility: AWS Lambda functions can be easily deployed and managed through the AWS Management Console or command-line tools, allowing for quick updates and version control. On the other hand, Docker containers provide more flexibility in deployment options, as they can be deployed on different hosting platforms and managed using container orchestration tools like Kubernetes or Docker Swarm.
  6. Startup Time: AWS Lambda functions have a cold start problem where the first execution of a function may experience a delay due to the initialization of resources. Docker containers, once created, have faster startup times as they do not incur the overhead of spinning up a new environment for each execution.

In Summary, the key differences between AWS Lambda and Docker lie in their execution environment, scalability, billing model, isolation, deployment flexibility, and startup time.

Decisions about AWS Lambda and Docker
Florian Sager
IT DevOp at Agitos GmbH · | 3 upvotes · 420.9K views
Chose
LXDLXD
over
DockerDocker

lxd/lxc and Docker aren't congruent so this comparison needs a more detailed look; but in short I can say: the lxd-integrated administration of storage including zfs with its snapshot capabilities as well as the system container (multi-process) approach of lxc vs. the limited single-process container approach of Docker is the main reason I chose lxd over Docker.

See more

When adding a new feature to Checkly rearchitecting some older piece, I tend to pick Heroku for rolling it out. But not always, because sometimes I pick AWS Lambda . The short story:

  • Developer Experience trumps everything.
  • AWS Lambda is cheap. Up to a limit though. This impact not only your wallet.
  • If you need geographic spread, AWS is lonely at the top.
The setup

Recently, I was doing a brainstorm at a startup here in Berlin on the future of their infrastructure. They were ready to move on from their initial, almost 100% Ec2 + Chef based setup. Everything was on the table. But we crossed out a lot quite quickly:

  • Pure, uncut, self hosted Kubernetes — way too much complexity
  • Managed Kubernetes in various flavors — still too much complexity
  • Zeit — Maybe, but no Docker support
  • Elastic Beanstalk — Maybe, bit old but does the job
  • Heroku
  • Lambda

It became clear a mix of PaaS and FaaS was the way to go. What a surprise! That is exactly what I use for Checkly! But when do you pick which model?

I chopped that question up into the following categories:

  • Developer Experience / DX 🤓
  • Ops Experience / OX 🐂 (?)
  • Cost 💵
  • Lock in 🔐

Read the full post linked below for all details

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of AWS Lambda
Pros of Docker
  • 129
    No infrastructure
  • 83
    Cheap
  • 70
    Quick
  • 59
    Stateless
  • 47
    No deploy, no server, great sleep
  • 12
    AWS Lambda went down taking many sites with it
  • 6
    Event Driven Governance
  • 6
    Extensive API
  • 6
    Auto scale and cost effective
  • 6
    Easy to deploy
  • 5
    VPC Support
  • 3
    Integrated with various AWS services
  • 823
    Rapid integration and build up
  • 691
    Isolation
  • 521
    Open source
  • 505
    Testa­bil­i­ty and re­pro­ducibil­i­ty
  • 460
    Lightweight
  • 218
    Standardization
  • 185
    Scalable
  • 106
    Upgrading / down­grad­ing / ap­pli­ca­tion versions
  • 88
    Security
  • 85
    Private paas environments
  • 34
    Portability
  • 26
    Limit resource usage
  • 17
    Game changer
  • 16
    I love the way docker has changed virtualization
  • 14
    Fast
  • 12
    Concurrency
  • 8
    Docker's Compose tools
  • 6
    Easy setup
  • 6
    Fast and Portable
  • 5
    Because its fun
  • 4
    Makes shipping to production very simple
  • 3
    Highly useful
  • 3
    It's dope
  • 2
    Very easy to setup integrate and build
  • 2
    HIgh Throughput
  • 2
    Package the environment with the application
  • 2
    Does a nice job hogging memory
  • 2
    Open source and highly configurable
  • 2
    Simplicity, isolation, resource effective
  • 2
    MacOS support FAKE
  • 2
    Its cool
  • 2
    Docker hub for the FTW
  • 2
    Super
  • 0
    Asdfd

Sign up to add or upvote prosMake informed product decisions

Cons of AWS Lambda
Cons of Docker
  • 7
    Cant execute ruby or go
  • 3
    Compute time limited
  • 1
    Can't execute PHP w/o significant effort
  • 8
    New versions == broken features
  • 6
    Unreliable networking
  • 6
    Documentation not always in sync
  • 4
    Moves quickly
  • 3
    Not Secure

Sign up to add or upvote consMake informed product decisions

What is AWS Lambda?

AWS Lambda is a compute service that runs your code in response to events and automatically manages the underlying compute resources for you. You can use AWS Lambda to extend other AWS services with custom logic, or create your own back-end services that operate at AWS scale, performance, and security.

What is Docker?

The Docker Platform is the industry-leading container platform for continuous, high-velocity innovation, enabling organizations to seamlessly build and share any application — from legacy to what comes next — and securely run them anywhere

Need advice about which tool to choose?Ask the StackShare community!

What companies use AWS Lambda?
What companies use Docker?
See which teams inside your own company are using AWS Lambda or Docker.
Sign up for StackShare EnterpriseLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with AWS Lambda?
What tools integrate with Docker?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

PythonDockerKubernetes+7
3
1105
PythonDockerKubernetes+14
12
2608
Jul 9 2019 at 7:22PM

Blue Medora

DockerPostgreSQLNew Relic+8
11
2338
DockerAmazon EC2Scala+8
6
2716
GitHubDockerReact+17
40
36319
What are some alternatives to AWS Lambda and Docker?
Serverless
Build applications comprised of microservices that run in response to events, auto-scale for you, and only charge you when they run. This lowers the total cost of maintaining your apps, enabling you to build more logic, faster. The Framework uses new event-driven compute services, like AWS Lambda, Google CloudFunctions, and more.
Azure Functions
Azure Functions is an event driven, compute-on-demand experience that extends the existing Azure application platform with capabilities to implement code triggered by events occurring in virtually any Azure or 3rd party service as well as on-premises systems.
AWS Elastic Beanstalk
Once you upload your application, Elastic Beanstalk automatically handles the deployment details of capacity provisioning, load balancing, auto-scaling, and application health monitoring.
AWS Step Functions
AWS Step Functions makes it easy to coordinate the components of distributed applications and microservices using visual workflows. Building applications from individual components that each perform a discrete function lets you scale and change applications quickly.
Google App Engine
Google has a reputation for highly reliable, high performance infrastructure. With App Engine you can take advantage of the 10 years of knowledge Google has in running massively scalable, performance driven systems. App Engine applications are easy to build, easy to maintain, and easy to scale as your traffic and data storage needs grow.
See all alternatives