Skip to main content

Comparisons

UCROPS - Usability, Cost, Reliability, Operations, Performance, Security

Comparison - Serverless, Server

UCROPSServerless (ie. Lambda)Server (ie. EC2)
Usability✅ Easy setup out-of-box if less-customized requirements with preconfigured options. to medium-sized workloads. Low cost for low usage.Requires more manual configuration work/knowledge.
Cost✅ More cost-effective for small to medium-sized workloads. Low cost for low usage.✅ More cost-effective for larger workloads.
Reliability✅ High availability and fault tolerance built-in, server maintenance or hardware failuresNo built-in high availability and fault tolerance must be implemented and maintained manually, can be more complex and time-consuming to set up and maintain.
Scalability✅ Easier for more variable and unpredictable workloads. Automatic scalability built-in.Better for predictable and steady workloads, where it can be fine-tuned by knowledgeable staff. More control, but more manual and reliant on expertise.
Latency✅ Latency varies, although slower in some cases, faster with options to use on Edge locations for lower. Cold starts could be an issue in some cases.✅ Server-based options may have lower latency for a particular region, but may require more configuration to get it, and may have less latency stability.
Operations✅ Less provisioning/maintenance, stateless environments, testing and staging may be more complexMore control over the deployment process
FlexibilityLess flexible. Opinionated pre-configuration and cloud provider managed✅ More flexibility to change granular configurations.
CustomizationMay be easier setup for if only built-in customization options are required.✅ More control over the underlying infrastructure or the ability to run custom software
Compliance and SecurityMay not fulfill complex compliance requirements, but out-of-box security may be easier.✅ Better if specific compliance or security requirements must be met, but may require more configuration and maintenance.
  • What is the expected workload for the application or service?

    • If you expect a consistent, high workload, a server like EC2 may be more suitable as it can handle sustained usage.
    • If you expect occasional or unpredictable usage, serverless like Lambda may be more cost-effective as you only pay for the exact amount of usage.
  • How much control do you need over the underlying infrastructure?

    • EC2 provides more control over the server configuration and the ability to run custom software.
    • Lambda, on the other hand, abstracts away the infrastructure and allows you to focus on writing code.
  • How important is cost and scalability?

    • EC2 instances may be more expensive, especially for consistent, high-traffic workloads.
    • Lambda is typically more cost-effective for infrequent or variable workloads, as you only pay for the exact amount of usage.
    • Lambda also automatically scales to match the incoming traffic, which may save you the effort of configuring scaling rules.
  • How much traffic is the application or service expected to handle?

    • If you expect high traffic, a server like EC2 may be more suitable as it can handle high traffic more easily.
    • If you expect low or unpredictable traffic, serverless like Lambda may be more cost-effective.
  • What are the requirements for the runtime environment of the application or service?

    • EC2 allows you to run any software or runtime environment that is compatible with the chosen operating system.
    • Lambda currently supports a variety of languages and runtimes, including Node.js, Python, Java, Go, and .NET.
  • How much state needs to be maintained for the application or service?

    • EC2 instances can maintain state by storing data on the local disk or external storage.
    • Lambda functions are stateless, meaning that they do not maintain any data between invocations, but it can be store in S3, DynamoDB or other services.
  • How important is security for the application or service?

    • EC2 instances can be configured with custom security settings and allow you to control access to the server.
    • Lambda provides built-in security features such as VPC support, resource-based policies, and encryption of data at rest and in transit.
  • Are there any specific performance requirements for the application or service?

    • EC2 instances offer more options for customizing the hardware and network configuration to meet specific performance requirements.
    • Lambda provides automatic scaling and may not offer the same level of control over performance.
  • What is the expected life cycle of the application or service?

    • EC2 instances may be more suitable for long-term, production workloads.
    • Lambda may be more suitable for short-term, experimental, or event-driven workloads.