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

2

9

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.

Zeph answered 18/11, 2015 at 0:45 Comment(0)
T
11

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.

Title answered 18/11, 2015 at 1:33 Comment(5)
Thanks for the info. I am inclined to use the Cloud SDK since it is the broader of the two, but what concerns me is that they have recently depreciated gcloud preview app run in favor of dev_appserver.py. This may suggest that they are backtracking on the move to Cloud SDK for App Engine related things...Zeph
@user2771609, no clue where things are going to end up in the long run, but, for NOW, definitely use gcloud for anything BUT app engine, and the traditional language-dependent tools for App Engine work.Vulgarize
gcloud is a disaster right now for app engine development. It changes too fast and breaks too often to be reliable. Unless you NEED a gcloud feature, stick with the stand-alone sdk until the former stabilizes.Elouise
Ah, I see. That is good to know. I was going to go the gcloud route for app engine development. I'll reconsider now.Zeph
I just realized that you cannot deploy a custom managed VM with appcfg.py, it needs gcloud.Zeph
C
1

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.

Cicerone answered 5/1, 2017 at 12:32 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.