Documentation for the various platforms and infrastructure stacks used across our applications.
This is the multi-page printable view of this section. Click here to print.
Platforms
- 1: Heroku
- 2: Elastic Beanstalk
1 - Heroku
Heroku is a cloud platform that enables companies to build, deliver, monitor and scale apps. This section covers the different Heroku stacks (runtime environments) and their support lifecycles.
Stack Overview
Heroku stacks are the different runtime environments available for applications. Each stack is based on a specific Ubuntu LTS version and has a defined support lifecycle.
Current Stacks
- Heroku-24: Default stack (Ubuntu 24.04) - Supported until April 2029
- Heroku-22: Active (Ubuntu 22.04) - Supported until April 2027
- Heroku-20: End of Life (April 30, 2025)
- Heroku-18: End of Life (April 30, 2023)
- Heroku-16: End of Life (May 1, 2021)
1.1 - heroku-24
Overview
Heroku-24 is the current default stack for new Heroku applications, based on Ubuntu 24.04 LTS.
Support Timeline
- General Availability: June 2024
- Default Stack: December 2024
- End of Life: April 2029
Key Features
Base Image Optimizations
- Reduced base image size by removing less frequently used packages (Bazaar, Mercurial)
- Build tools (GCC, Make, Git, system Python) available only at build time, not at runtime
- More efficient resource utilization
Multi-Architecture Support
- Published images support both amd64 and arm64 architectures
- Default Linux user changed from
roottoheroku
Build and Runtime Changes
- Git available only at build time (not at runtime)
- Limited locale support: C, C.utf8, POSIX, and en_US.utf8 only
- APT sources list uses new deb822 format at
/etc/apt/sources.list.d/ubuntu.sources - Reduced timezone data (only geographical regions and city names)
Fir Apps
- Only
heroku/builder:24is supported for Fir apps - Heroku-24 is the exclusive base image for new Fir applications
Upgrading to Heroku-24
Applications should be upgraded to Heroku-24 to benefit from the latest security updates, performance improvements, and extended support timeline.
References
1.2 - heroku-22
Overview
Heroku-22 is based on Ubuntu 22.04 LTS and is currently in active support.
Support Timeline
- Release: June 2022
- Superseded by: Heroku-24 (June 2024)
- End of Life: April 2027
Key Changes from Heroku-20
OpenSSL Version
- Ships with OpenSSL 3.0
- OpenSSL 1.1 is not available as a runtime library
- Applications depending on OpenSSL 1.1 must be updated
Ubuntu Base
- Based on Ubuntu 22.04 (Jammy Jellyfish)
- Upgraded from Ubuntu 20.04 in Heroku-20
Migration Considerations
Applications should plan migration to Heroku-24 before April 2027 to ensure continued security updates and support.
References
1.3 - heroku-20
⚠️ End of Life Notice
Heroku-20 reached end of life on April 30, 2025.
Overview
Heroku-20 was based on Ubuntu 20.04 LTS.
Support Timeline
- Release: 2020
- Deprecated: June 2024
- End of Life: April 30, 2025
- Build Cutoff: Approximately May 30, 2025
Post-EOL Status
- Existing apps continue to run at customer’s own risk
- No security updates provided
- No new builds/deployments allowed after build cutoff
- Limited technical support available
Required Action
All applications on Heroku-20 must be upgraded to Heroku-22 or Heroku-24 immediately.
Running applications on an end-of-life stack exposes them to security vulnerabilities and compliance risks.
Migration Path
- Test application on Heroku-24 (recommended) or Heroku-22
- Update dependencies and configurations as needed
- Deploy to new stack
- Monitor for any runtime issues
References
1.4 - heroku-18
⚠️ End of Life Notice
Heroku-18 reached end of life on April 30, 2023.
Overview
Heroku-18 was based on Ubuntu 18.04 LTS (Bionic Beaver).
Support Timeline
- Release: 2018
- Deprecated: June 22, 2022
- End of Life: April 30, 2023
- Build Cutoff: May 1, 2023
Post-EOL Status
- Existing apps continue to run at customer’s own risk
- No security updates since April 30, 2023
- No new builds/deployments allowed since May 1, 2023
- No technical support available
Critical Action Required
All applications still on Heroku-18 are severely outdated and must be upgraded immediately.
This stack has been unsupported for over 2 years and poses significant security and compliance risks.
Migration Path
Applications on Heroku-18 should be upgraded directly to Heroku-24 to ensure the longest support timeline.
References
1.5 - heroku-16
⚠️ End of Life Notice
Heroku-16 reached end of life on May 1, 2021.
Overview
Heroku-16 was based on Ubuntu 16.04 LTS (Xenial Xerus).
Support Timeline
- Release: 2016
- Deprecated: December 11, 2020
- End of Life: May 1, 2021
- Build Cutoff: June 1, 2021
Post-EOL Status
- Existing apps continue to run at customer’s own risk
- No security updates since May 1, 2021
- No new builds/deployments allowed since June 1, 2021
- No technical support available
Critical Action Required
Applications on Heroku-16 are critically outdated (4+ years unsupported) and represent a severe security risk.
Immediate upgrade to Heroku-24 is essential for security, compliance, and operational stability.
Migration Path
Direct upgrade to Heroku-24 is strongly recommended. Given the age of this stack, significant application updates will likely be required.
References
2 - Elastic Beanstalk
AWS Elastic Beanstalk is a fully managed service for deploying and scaling web applications and services.
These pages document the various Elastic Beanstalk platform versions used across our applications.
2.1 - Amazon Linux 2023 v4.9.0
Overview
Amazon Linux 2023 v4.9.0 is an Elastic Beanstalk platform version for running Python applications on 64-bit Amazon Linux 2023.
Platform Timeline
- Created: December 15, 2025
- Last Updated: December 16, 2025
- Lifecycle State: Recommended (Current recommended version)
- Status: Ready
Note: AWS does not publish specific EOL dates for Elastic Beanstalk platforms. Platform versions typically receive 90-day retirement notices when end-of-life is planned. Check the Python Platform History for updates.
Platform Details
Base System
- Operating System: Amazon Linux 2023
- Architecture: 64-bit (x86_64)
- Platform Version: 4.9.0
Python Support
This platform version supports Python applications. Common Python versions available:
- Python 3.12
- Python 3.11
- Python 3.9
The specific Python version is determined by your application’s configuration.
Key Features
Amazon Linux 2023 Benefits
- Security-focused: Regular security updates and long-term support
- Optimized for AWS: Built specifically for AWS environments
- Modern tooling: Updated system packages and build tools
- Performance: Optimized for cloud workloads
Elastic Beanstalk Integration
- Managed platform updates
- Auto-scaling capabilities
- Integrated monitoring with CloudWatch
- Load balancing
- Rolling deployments
Framework Support
This platform is commonly used for:
- Django applications
- Flask applications
- FastAPI applications
- Generic WSGI/ASGI applications
Configuration
Applications on this platform can be configured through:
- Environment variables
.ebextensionsconfiguration files- Platform-specific settings in the EB console
References
2.2 - Amazon Linux 2023 v4.8.0
Overview
Amazon Linux 2023 v4.8.0 is an Elastic Beanstalk platform version for running Python applications on 64-bit Amazon Linux 2023.
Platform Timeline
- Created: November 20, 2025
- Last Updated: December 16, 2025
- Lifecycle State: Available (Superseded by v4.9.0)
- Status: Ready
Note: AWS does not publish specific EOL dates for Elastic Beanstalk platforms. Platform versions typically receive 90-day retirement notices when end-of-life is planned. Check the Python Platform History for updates.
Platform Details
Base System
- Operating System: Amazon Linux 2023
- Architecture: 64-bit (x86_64)
- Platform Version: 4.8.0
Python Support
This platform version supports Python applications. Common Python versions available:
- Python 3.12
- Python 3.11
- Python 3.9
The specific Python version is determined by your application’s configuration.
Key Features
Amazon Linux 2023 Benefits
- Security-focused: Regular security updates and long-term support
- Optimized for AWS: Built specifically for AWS environments
- Modern tooling: Updated system packages and build tools
- Performance: Optimized for cloud workloads
Elastic Beanstalk Integration
- Managed platform updates
- Auto-scaling capabilities
- Integrated monitoring with CloudWatch
- Load balancing
- Rolling deployments
Framework Support
This platform is commonly used for:
- Django applications
- Flask applications
- FastAPI applications
- Generic WSGI/ASGI applications
Configuration
Applications on this platform can be configured through:
- Environment variables
.ebextensionsconfiguration files- Platform-specific settings in the EB console
Migration Considerations
Applications on this platform should plan to upgrade to v4.9.0 or later to benefit from the latest security patches and platform improvements.
References
2.3 - Amazon Linux 2023
Overview
Amazon Linux 2023 is the base platform for Elastic Beanstalk Python applications running on 64-bit architecture.
Support Timeline
- Initial Release: May 2023 (Platform v4.0.0)
- Current Recommended: v4.9.0 (December 2025)
- Amazon Linux 2023 Support: 5 years from release (through 2028)
- Update Frequency: Monthly security and feature updates
Note: AWS provides a 90-day notice before retiring platform versions. Active environments continue to run on their selected platform version, but new features and security updates are only available on current versions. Monitor the Python Platform History for announcements.
Platform Details
Base System
- Operating System: Amazon Linux 2023
- Architecture: 64-bit (x86_64)
Python Support
Amazon Linux 2023 supports multiple Python versions for Elastic Beanstalk applications:
- Python 3.12
- Python 3.11
- Python 3.9
- Python 3.8
Key Features
Amazon Linux 2023 Benefits
- Next-generation AL2: Successor to Amazon Linux 2
- Security-focused: SELinux enabled by default
- Deterministic updates: Predictable release schedule every 2 years
- Standard support: 5 years of support
- Modern tooling: Updated system packages and development tools
- Performance: Kernel and system optimizations for AWS
Elastic Beanstalk Advantages
- Fully managed: AWS handles provisioning, load balancing, scaling
- Auto-scaling: Automatically scales based on application demand
- Monitoring: Integrated CloudWatch metrics and logging
- Rolling updates: Zero-downtime deployments
- Multi-environment: Easy management of dev, staging, and production
Framework Support
Amazon Linux 2023 on Elastic Beanstalk supports:
- Django: Full-featured web framework
- Flask: Lightweight WSGI web application framework
- FastAPI: Modern async web framework
- Pyramid: Flexible web framework
- Custom WSGI/ASGI applications
Platform Versions
For specific platform version details, see:
Configuration Options
Environment Variables
- Set via EB console, CLI, or configuration files
- Accessible to your application at runtime
.ebextensions
- Configuration files for customizing EB environment
- Install packages, run commands, configure services
Procfile
- Define custom processes to run in your application
Best Practices
- Use specific platform versions for production stability
- Pin dependencies in requirements.txt
- Configure health checks for reliable auto-scaling
- Use environment variables for configuration
- Enable enhanced health reporting for better monitoring