Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the relationship between Google's App Engine SDK and Cloud SDK?

I'm developing a Google App Engine application and I am encountering references to both an App Engine SDK and a Cloud SDK.

How do these two SDKs relate to each other?

There is definitely some overlap between the two. There is a dev_appserver.py and appcfg.py is both of them. I can run a development server using dev_appserver.py, and also with gcloud preview app run.

Why are there two tools that do the same thing? Is one being deprecated in favor of the other? Is there a roadmap for merging the toolsets, or are they going to be maintained in parallel? Do I need both, or just one?

It seems like the Cloud SDK is the more general of the two. But is it a superset? I.e. can I do anything I can in the App Engine SDK with the Cloud SDK?

I'm very confused by this messy and undocumented setup.

like image 850
user2771609 Avatar asked Nov 18 '15 00:11

user2771609


2 Answers

The App Engine SDK is older and was designed specifically for App Engine.

The Cloud SDK is newer and its goal is to cover other (all?) Google Cloud products, not only App Engine. So they definitely overlap in functionality from the App Engine's perspective. Specifically from this perspective the Cloud SDK appears not yet as mature and stable as the App Engine SDK. For example the gcloud preview portion is still at a BETA version:

NAME

gcloud preview app - (BETA) manage your App Engine app

As long as your work would be contained in the App Engine environment you can pick either of them, as you prefer.

If you throw in the mix third party tools or IDEs integration support the balance tips towards the App Engine SDK for now (PyCharm, for example).

I guess Google will eventually deprecate the App Engine SDK in favour of the Could SDK, but so far I didn't hear any such announcement. A similar deprecation trend already started in the (old) GAE Console - stuff being gradually migrated to the Developer Console.

like image 155
Dan Cornilescu Avatar answered Oct 18 '22 20:10

Dan Cornilescu


Documentation says

The preferred tooling for managing your App Engine applications in PHP is now the Google Cloud SDK. The Google Cloud SDK includes a local development server as well as the tooling for deploying and managing your applications in App Engine. Optionally, you can also download the original App Engine SDK for PHP.Optionally, you can also download the original App Engine SDK for PHP.

Though this is for PHP, I believe similar upgradation for other languages too.

like image 42
Yuñ Solutions Avatar answered Oct 18 '22 18:10

Yuñ Solutions