Hello Cloud Gurus,
This is regarding the lecture on Compute Options and Services. We did not discuss cloud Run. I went ahead and looked at this documenation by Google.
Cloud Run is a managed compute platform that automatically scales your stateless containers. Cloud Run is serverless: it abstracts away all infrastructure management, so you can focus on what matters most — building great applications
Question 1: It seems like that we have a bunch of overlap. For example if we have to run a container in a managed environment. Do we use Cloud Run or App Engine Flex ?
Question 2: Based on my perception, the term serverless refers to a service where you do not have to handle or take care of underlying infrastructure. So if a exam question needs a serverless option how would I be able to tell whether App Engine is the best option, Cloud Run, Cloud Functions etc ( I do understand that they are meant for different things but they do not give you all that detail in the questions based on what I have observed in discussions and videos. Are there any differentuiating factors for the serverless offering ?
Hello! Good on you for wondering about and digging into these things!
I haven’t yet covered Cloud Run in my courses because it is a newer product. And it was only literally today that they announced it as Generally Available. Seriously! 😂 So that means that this is not likely to show up on any certification exam for some time, yet–and even when it does show up, that question will probably be an unscored test question for some time. So don’t worry too much about Cloud Run for your exam. That said, I do plan to update both this ACE course and the PCA course to both explain it and compare it to the other compute options. But I’ll try to give your questions an interim answer, at least. 🙂
Question 1: I would say that Cloud Run offers some material cost advantages over App Engine Flex–especially in how it can scale down to zero cost when there are no requests coming in, while App Engine Flex will always be charging you for at least one instance running. Also, additional App Engine Flex instances stay running for a lot longer than Cloud Run’s 100ms billing threshold, too. That said, if you were originally thinking that App Engine Standard would be a good fit because of the larger platform that it offers, but needed to use an unsupported language, then App Engine Flex might be a better choice than Cloud Run.
Question 2: The term "serverless" is a bit wiggly: lots of people have their own definitions for it. I might summarize "serverless" as "only paying for what you need". Not paying for it to be ready for use. Not managing the scaling. Not setting things (the servers) up and configuring them and load balancing across them, and, and, and… In that regard, I tend to be a lot more strict about calling something "serverless" (as an absolute, with no qualifiers) than the various clouds marketing departments are–Google and Amazon included. In my opinion, they tend to throw the term onto too many things, just to sell them. That said, if an exam question asks you about serverless something, use their terminology. 😝 And if you did get such an exam question (which I don’t think is all that likely, at this time), then which option would be the best fit should likely fall out of the described scenario–like "they do not want to pay for any idle resources" means you’d nix App Engine Flex.
Hope that helps!