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

Amazon EMR

541
681
+ 1
54
Serverless

1.3K
1.2K
+ 1
26
Add tool

Amazon EMR vs Serverless: What are the differences?

Amazon EMR and Serverless serve different purposes in the cloud computing landscape. Here are six key differences between them:

  1. Computing Paradigm: Amazon EMR follows a traditional, cluster-based computing paradigm. EMR provides a fully managed Hadoop and Spark framework, allowing users to process large datasets using clusters of virtual servers. Serverless is associated with serverless computing, where the focus is on executing individual functions in response to events without the need to manage server infrastructure.

  2. Use Case: Amazon EMR is primarily designed for big data processing and analytics tasks. It is suitable for distributed processing of large datasets using frameworks like Apache Spark, Apache Hadoop, etc. Serverless is often used for event-driven computing, microservices architecture, and functions as a service (FaaS). It's suitable for executing small, stateless functions in response to events.

  3. Resource Management: Amazon EMR involves managing and configuring clusters of virtual machines, allowing for fine-tuning of computing resources based on the workload. Serverless abstracts away server management entirely. Users define and deploy functions, and the underlying infrastructure is automatically provisioned by the serverless platform.

  4. Granularity of Scaling: Amazon EMR scales by adding or removing entire clusters of virtual machines. It's a more coarse-grained scaling approach. Serverless scales at a fine-grained level, with each function being individually scalable. It automatically adjusts the number of function instances based on demand.

  5. Cost Model: Amazon EMR typically involves paying for the provisioned cluster capacity, even if the resources are not fully utilized. Costs are more predictable but may be less efficient for sporadic workloads. Serverless follows a pay-as-you-go model where users are billed based on the actual compute resources consumed by functions. It can be more cost-effective for intermittent or low-traffic workloads.

  6. Ease of Management: Amazon EMR provides more control over cluster configuration and management, suitable for users who require specific optimizations or customizations. Serverless abstracts away much of the infrastructure management complexity, making it easier for developers to focus on writing code without dealing with server provisioning and scaling concerns.

In summary, Amazon EMR is a fully managed big data processing service, ideal for distributed analytics tasks using clusters. In contrast, Serverless is associated with serverless computing, offering a fine-grained, event-driven paradigm where users deploy individual functions without managing underlying infrastructure, making it well-suited for microservices and event-driven architectures.

Decisions about Amazon EMR and Serverless

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 Amazon EMR
Pros of Serverless
  • 15
    On demand processing power
  • 12
    Don't need to maintain Hadoop Cluster yourself
  • 7
    Hadoop Tools
  • 6
    Elastic
  • 4
    Backed by Amazon
  • 3
    Flexible
  • 3
    Economic - pay as you go, easy to use CLI and SDKs
  • 2
    Don't need a dedicated Ops group
  • 1
    Massive data handling
  • 1
    Great support
  • 14
    API integration
  • 7
    Supports cloud functions for Google, Azure, and IBM
  • 3
    Lower cost
  • 1
    Auto scale
  • 1
    Openwhisk

Sign up to add or upvote prosMake informed product decisions