12

I'm starting to build a web/mobile app that is going to be offered as SaaS. I have seen many cloud options for hosting (Heroku, AWS) but finally decided to go with Google Cloud App Engine.

My back-end will be Java based, and I'm confused about going with the Standard or Flexible Env. I have read several docs online but still undecided.

Considerations to tackle:

  1. I am not very experienced with Docker and this is my first Saas App.
  2. My app should run perfectly with the offering of the Standard Env.

  3. Migrating from the Standard to the Flex environment seems to bring some headache.

Would you please help me decide on the way to?

Elio Khattar
  • 320
  • 1
  • 3
  • 16

2 Answers2

12

We try to cover the key differences in this doc:

https://cloud.google.com/appengine/docs/the-appengine-environments

To cover your considerations:

  1. You don't need to understand Docker to use flex or standard
  2. If your app can run in Standard - that's great!
  3. Migrating from Standard to Flex is a fair bit of work. We try to cover it here

Read over those docs, and let me know if you have any other questions!

Justin Beckwith
  • 7,686
  • 1
  • 33
  • 55
  • Hello Justin, Thank you. I have previously had a look @ the docs and will re-read them. Just one note, My app is not running in standard env, but its technical architecture would allow it to do so. So I am not sure if i start the dev using the stnadard or flexible env api. – Elio Khattar Mar 13 '17 at 11:42
  • Same here. Can I just overwrite the "env: flex" to standard if my app supports this? Thank you – Bögözi Nov 15 '19 at 15:10
  • Mostly. You can delete the line that says `env: flex` from `app.yaml` all together. You may need to update the `runtime` field to be `runtime: nodejs10`, as standard requires an explicit version in the runtime name. – Justin Beckwith Nov 20 '19 at 23:40
0

App engine flexible allows you to run your applications as containers in cloud. The first step to run your app in App engine is to create docker container image. You can follow here https://googlecloudtutorials.com/containerizing-application-3-easy-steps/ for step-by-step instructions on app containerization. Second step is to push this container image to google cloud artifact registry https://googlecloudtutorials.com/store-container-images-in-google-cloud-artifact-registry/.

containerizing your application provides you flexibility to run your applications without worrying on infrastructure dependences and issues.

As your application scale you have flexibility to deploy it on GKE.