As for Cloud Functions and Cloud Run, the way you deploy is completely different. Cloud Run is strictly meant for containers.
> The former is a better fit for your entire app stack (think Heroku) while the latter is for ad-hoc.
There's no product reason why App Engine couldn't start deploying custom containers.
> As for Cloud Functions and Cloud Run, the way you deploy is completely different. Cloud Run is strictly meant for containers.
AWS Lambda (arguably the "inspiration" for Cloud Functions) just announced support for custom containers. Cloud Functions could too. And then you essentially have Cloud Run.
There better not be because it already does: https://cloud.google.com/appengine/docs/flexible/custom-runt...
Whether that's your "whole stack" or something "ad-hoc" is a totally arbitrary distinction. Your "whole stack" will almost certainly involve external concerns, and your "ad-hoc" concerns will almost certainly grow in complexity until they converge on the same spot.
AppEngine is also running containers via gvisor.
The distinction is being driven by PMs and marketers but not by the needs of customers. What end-users need is one well-supported tool, not 8 separate tools with uncertainty about which one will receive future support and matrices and flowcharts to decide between them.
This is not true. It came directly from customer needs -- customers were looking for an effortless way to run containers without having to deal with orchestrators like k8s or be locked into frameworks like AppEngine.
I've used Cloud Run for a bunch of projects, and it's fantastic.
This isn't true. App Engine Flexible is in fact very similar to Cloud Run, and my understanding is that it runs on the same infrastructure. In fact, App Engine Flexible "Custom Runtime", which lets you load a docker container in App Engine, is very similar to Cloud Run.
FWIW, though, as a user of App Engine Flexible for Node, I'm very glad this Cloud Run option now exists.
I used to use a combination of app engine standard and flexible depending on requirements, but I feel like cloud run gives me the benefits of both.
Google has many data centers around the world. I don’t see why they can have cloud run automatically select the data center closest to the user and spin up the container there. That would deffo solve a lot of problems.
Oh and if you used AppEngine Standard, you can't move to Flex as Flex came with a whole new set of libraries. And Flex to CloudRun didn't exactly have a seamless migration.
Along the way they changed multiple internals with deprecation causing code base changes. Such-as Memecache, ImageAPI, Monitoring price changes.
I can't imagine any enterprise who's used the ecosystem continuing. The sheer number of architecture impacting changes leads to huge operational overhead costs to maintain applications running on this infrastructure.
The technology of a vendor is way less important than its culture. So far Gcloud seems to understand that. Maybe the App Engine team is outside that org
Not sure why you think they can shitcan them at literally any moment. Although GCP's track record of deprecation is of course far worse than AWS's, they do make and adhere to promises in their terms of service that, in most cases, they will give at least 12 months before deprecating services which have reached general availability. This includes both App Engine and Cloud Run, minus any features that have not yet reached general availability and minus one very fair documented exception for App Engine.
Details:
https://cloud.google.com/terms/deprecation
https://cloud.google.com/terms <-- search for "Discontinuation of Services"
Disclosure: I used to work for Google, including the GCP team, but I haven't worked for Google in over 5 years and am not speaking for Google here.
>Further, Google will notify Customer at least 12 months before significantly modifying a Customer-facing Google API in a backwards-incompatible manner.
What are you referring to with forced sdk/software changes? Maybe it's the same exception I mentioned for App Engine when a previously supported language runtime goes out of support by the upstream language community?
As for the famous Google App Engine price hike everyone likes to point to, the lower price was only at a pre-general availability launch stage.
You're right that they don't make any specific guarantees that they won't hike prices on short notice, but within the scope of Google Cloud Platform features that have already reached general availability, when have they done that?
Cloud Run for Anthos is a different product, which is the OSS Knative code running on GKE.