I built reusable infrastructure components that follow company best practices using Pulumi. Here is the link: https://github.com/ExtensionEngine/infra-code-blocks
The idea was to hide the infrastructure complexity but also allow advanced users to configure whatever they want. Creating a web server is as simple as providing a docker image and port as shown in the image below.
Some of the web server features are:
• memory and CPU autoscaling enabled
• creates TLS certificate for the specified domain
• redirects HTTP traffic to HTTPS
• creates CloudWatch log group
• comes with predefined CPU and memory options: