I am deploying a Laravel app (content management system) on GCP App Engine but I am not sure what are the advantages or disadvantages of standard vs flexible environment and how it would impact a Laravel application. The application will not have many users (low traffic) but will require to read the database and show outputs etc. for a number of rows. Could someone please highlight differences and provide suggestions. I am sorry if this question doesn't fit here as I am new to this StackExchange.
That’s a great question. Both environments have their pros and cons, and at the end of the day, you’ll decide what best suits your needs.
App Engine Standard
TL;DR: Super fast startup, scales to zero, priced by the number of instance hours somewhat restrictive
- The app can scale to zero when it is idle
- Deploys quickly
- Autoscales in seconds
- Can run for free or at very little cost
- Only specific languages are supported
- No Background processes
- Can’t consume VM resources
- No flexibility in the runtime
- No SSH
App Engine Flex
TL;DR: Super customizable and high performing environment at the cost of scalability overhead and cost
- Everything is customizable. Runtime and Infrastructure
- Instances can be accessed via SSH, unlocking more potential
- Performance is SOLID as it runs on the VMs that suit your needs. Background processes and thread exist
- Does not scale to 0. You need to have 1 instance at all times
- Takes significantly longer to deploy
- Scaling instance takes longer
- Costs a more than standard
Use App Engine Standard if you don’t need to customize the runtime or infrastructure.
In your case, I would suggest you use App Engine Standard as your app isn’t going to have many users and you can connect to Cloud SQL.
I hope that this helps.