AWS Elastic Beanstalk

awsApplication serveraws-elastic-beanstalk

A managed environment that provisions instances, load balancing and scaling from a source bundle.

Provider
aws
Category
Compute
Also known as
EB
Properties · 3 set by this component
propertytypevaluesrequiredkind defaultthis component
autoscalingboolean—nofalse▸ true
criticality · advancedenumlow | medium | highnomediuminherited
environmentTier · component propertyenumweb-server | workernoweb-serverinherited
environmentType · component propertyenumload-balanced | single-instanceno—inherited
instancePerEntity · advancedboolean—nofalseinherited
instancesinteger—no—inherited
managedboolean—nofalse▸ true
managedPlatformUpdates · component propertyboolean—no—inherited
ownsData · advancedboolean—notrueinherited
platform · component propertyenumgo | java | dotnet | node-js | php | python | ruby | dockerno—inherited
runtimestring—no—inherited
shardingStrategy · advancedenumnone | consistent-hash | range | lookupnononeinherited
singleWriter · advancedboolean—nofalseinherited
statelessboolean—notrue▸ true
Rules that apply · 4

Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.

external-call-inline-without-durable-path

A service that calls a third party synchronously, with no queue or workflow engine attached, has nowhere to park the request when the third party is slow or down. The failure becomes the user's problem instead of a retried job.

  • — all of these hold:
  • — the node has at least one synchronous outgoing edge to a third-party-api
  • — this does not hold:
  • — the node has at least one connected edge joining a workflow-engine or queue
fanout-inline-in-request-path

Calling a worker synchronously puts the background job on the request path. The caller waits for the slowest part of the fan-out.

  • — the node has at least one synchronous outgoing edge to a worker
stateful-hash-ring-without-ring-manager

A stateful service on a consistent hash ring needs something that owns the ring: detect a dead host, pick a replacement, tell everyone. Without a coordination service the ring is edited by hand during the outage.

  • — all of these hold:
  • — the node's `shardingStrategy` is "consistent-hash"
  • — this does not hold:
  • — the node has at least one connected edge joining a coordination-service
stateful-node-without-zone-redundancy

A stateful compute node pinned to exactly one availability zone disappears with that zone, and its state goes with it. Nodes inside a cell are exempt, because there the cell is deliberately single-zone and redundancy comes from the other cells.

  • — all of these hold:
  • — the node's `stateless` is false
  • — the node sits inside exactly 1 availability-zone group
  • — this does not hold:
  • — the node sits inside at least one cell group
Use it in a design
nodes:
  - { id: "elastic-beanstalk", component: "aws-elastic-beanstalk" }
Other Application server products · 98
Elastic Container Instancealibaba-ecialibabacloudapp-serverEnterprise Distributed Application Servicealibaba-edasalibabacloudapp-serverFunction Computealibaba-function-computealibabacloudapp-serverServerless App Enginealibaba-saealibabacloudapp-serverYIDAalibaba-yidaalibabacloudapp-serverAWS App Runneraws-app-runnerawsapp-serverAWS App Studioaws-app-studioawsapp-serverCloudFront Functionsaws-cloudfront-functionsawsapp-serverAWS Fargateaws-fargateawsapp-serverAmazon GameLift Serversaws-gameliftawsapp-serverLambda@Edgeaws-lambda-edgeawsapp-serverAmazon S3 Object Lambdaaws-s3-object-lambdaawsapp-serverAWS Transfer Familyaws-transfer-familyawsapp-serverAWS Lambdalambdaawsapp-serverAzure App Serviceazure-app-serviceazureapp-serverAzure AI Bot Serviceazure-bot-serviceazureapp-serverAzure Container Appsazure-container-appsazureapp-serverAzure Container Instancesazure-container-instancesazureapp-serverMicrosoft Copilot Studioazure-copilot-studioazureapp-serverAzure Functionsazure-functionsazureapp-serverHealthcare agent serviceazure-health-botazureapp-serverMicrosoft Power Appsazure-power-appsazureapp-serverAzure Spring Appsazure-spring-appsazureapp-serverDynamic Workerscloudflare-dynamic-workerscloudflareapp-serverEmail Workerscloudflare-email-workerscloudflareapp-serverCloudflare Pagescloudflare-pagescloudflareapp-serverCloudflare Sandbox SDKcloudflare-sandboxcloudflareapp-serverCloudflare Workerscloudflare-workerscloudflareapp-serverWorkers for Platformscloudflare-workers-for-platformscloudflareapp-serverGeneric application serverapp-serverapp-serverAutoGen Studioautogen-studioapp-serverBotpressbotpressapp-serverCloud Foundrycloud-foundryapp-serverContainer servicecontainer-serviceapp-serverCoolifycoolifyapp-serverCrewAI AMPcrewai-enterpriseapp-serverDifydifyapp-serverDocker containerdocker-containerapp-serverDokkudokkuapp-serverErlang/BEAM nodeerlang-nodeapp-server
and 58 more → Application server page
Source
# yaml-language-server: $schema=../../schema/component.schema.json
# AWS Elastic Beanstalk environment: you upload a source bundle and Elastic Beanstalk provisions the
# EC2 instances, load balancing, health monitoring and scaling ("What is AWS Elastic Beanstalk?").
# A load-balanced environment uses an Auto Scaling group; a single-instance one pins min, max and
# desired capacity to 1 ("Environment types").
schemaVersion: "1"
type: "component"
id: "aws-elastic-beanstalk"
kind: "app-server"
provider: "aws"
docs: "https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/Welcome.html"
aliases: ["EB"]
defaults:
  managed: true
  stateless: true
  autoscaling: true
properties:
  environmentTier:
    type: "enum"
    values: ["web-server", "worker"]
    default: "web-server"
  environmentType:
    type: "enum"
    values: ["load-balanced", "single-instance"]
  platform:
    type: "enum"
    values: ["go", "java", "dotnet", "node-js", "php", "python", "ruby", "docker"]
  managedPlatformUpdates:
    type: "boolean"

The same page as markdown, for an agent: /catalogue/components/aws-elastic-beanstalk.md