Katie,
Thanks for asking the question. I’ve been using GCP for about 6 months now. I found the tutorial material and reference documentation to range from pretty good to good enough - there are a few rough points, but nothing that really bothered me. So I didn’t get stuck much in the early days. Some things that could be smoother (this is all python): 1. Default way to handle 3rd party dependencies in an app - there are options and they work ok, but this is so common it would be nice to have an officially supported method. Especially since the common ones break on managed VMs because you don’t support appengine_config.py there. 2. Webapp2 - it’s OK, but definitely not great. From the outside there doesn’t seem to be a strong reason to be using something that has not gained broader traction when supporting something like Flask shouldn’t be hard. That would gain a much broader ecosystem rather than the very narrow, App Engine focused ecosystem around webapp2. 3. Cloud Storage - I could not find a quick and nice way to securely expose native links from cloud storage to clients via a REST API without having to have the clients reauth to cloud storage. So I’m just pulling from cloud storage on the backend, doing my own authorization, and serving them via my own REST API. A hack that I’ll get rid of eventually, but I didn’t want to fiddle anymore. This seems like a common use case to me, but who knows. 4. Cloud Endpoints - the biggest problem I had in early days was cloud endpoints. I have what I feel is a really common use case - I just need to do some CRUD operations on datastore entities using a REST API. I looked at enpoints and it looked like exactly what I needed. But then I saw I needed to largely duplicate my data model in NDB and Cloud Endpoints. Except there is this open source library that claims to connect them together (http://endpoints-proto-datastore.appspot.com), but it’s quirky, has quirky docs, and is kinda, sorta supported by Google. And then what’s with the assumption that these APIs will accept and return the same data types (seriously - who does that by default)? And then there was the tooling to generate client libraries that’s - honestly - just not great. Eventually the CORBA flashbacks got bad enough that I just completely abandoned cloud endpoints in favor of rolling it myself. For me, cloud endpoints definitely created _way_ more problems than it solved. 5. User service - when evaluating options things like the User services popped out to me. I thought, great, I’ll use a PaaS and things like user auth will be sanely handled. Except that it is so limited as to not be viable at all for a public product. Beyond the beginner issues, I think there is a real problem once you move towards creating real apps. There is a need for more in-depth documentation of designing apps effectively to use the platform. Things like best practices around data modeling in the datastore (e.g., when to de-normalize and how to handle data updates once you do). There is some of this (e.g., https://cloud.google.com/appengine/articles/modeling), but it is typically out-of-date and there is not really enough of it. For better or worse, there is not a big network of bloggers handling these topics like there are for open source tools like rails, postgresq, etc. The biggest beginner problem I see right now is the architectural options around App Engine, Managed VMs, and GCE. On paper you guys have a nice blend of offerings that can allow developers to choose the right amount of control that they want / need. The reality, though, is that there are some hard choices to be made because of inconsistencies around what services are available on the different options and how to effectively wire together the components. A concrete example for me: I need to use numpy and some other non-pure python code in some background processing, so I needed to move off of App Engine for that work. I wasted quite a bit of time figuring out how / whether I could use the Datastore (via ndb) and task queues on the different options (including auth, network architecture, and scaling). None of it is rocket science, but I felt like I was inventing things when I knew that others had already come up with effective strategies. For me - the ideal situation would be if you just supported the same services through the same APIs everywhere, so I hope that is where you were headed. Other random thoughts / complaints: 1. GCP Roadmap - it would be nice to have some nice, clear roadmap on where things are headed. Right now, I restrict myself to only what is available and supported right now because I have no idea where you guys are headed. 2. Community - there is not a supportive / coherent community around GCP. Coming from a largely open source background this gives me a lot of culture shock. It would be great if there was at least a set of your engineers out engaging effectively in the various forums. Not just support - talking about best practices, explaining how things work, etc. 3. Stack Overflow - the whole notion of pushing all of the questions from this mailing list to stack overflow is really off putting to me. I understand what you are trying to do but a) stack overflow seems to be where GCP questions go to be completely ignored and b) the way it’s done is pretty heavy handed. Why not at least post a link to the answer back to the list? I’ve always found mailing lists as an effective way to passively be aware of common questions and gain knowledge. Stack overflow is not effective in that role for me. 4. This mailing list - honestly, I keep thinking that I should unsubscribe from this list because so many of the questions are very basic and they are generally just ignored. It’s kind of painful to watch - especially given that one volunteer is handling so much of this single handedly. I think it gives a terrible impression of GCP and makes me feel like very few experienced developers are using GCP. I hope this feedback is helpful. Karl > On Apr 15, 2015, at 1:35 PM, Katie Ball (Google Cloud Support) > <kmrichard...@google.com> wrote: > > > Hi, > > > My name is Katie, and I am on the Google Cloud Platform technical support > team. > > > This message is to Google Cloud Platform community members, especially if you > are newer to GCP. I would like to know what our team can do to help you have > a better and more enjoyable experience during the first days on GCP. > > > Did you need technical support? If so, I’d like to hear all about it. > > > I’d also like to know: > > What did you find most difficult about the first-time user experience? > > > Where did you get stuck? > > > > > Please reply to the group with your answers or any ideas you have on how the > technical support team can help new customers get familiar with GCP. > > > And as a thank you for the great ideas, we will be giving away support > coupons worth $450 (equivalent to 3 months of silver support) to 5 lucky > community members who post a response. Please make sure to reply before April > 22nd. > > > Thanks for your insights, and cloud on! > > Katie > > > > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to google-appengine+unsubscr...@googlegroups.com > . > To post to this group, send email to google-appengine@googlegroups.com > . > Visit this group at http://groups.google.com/group/google-appengine > . > To view this discussion on the web visit > https://groups.google.com/d/msgid/google-appengine/4f59c819-731f-422c-b33d-a68ea4d525fd%40googlegroups.com > . > For more options, visit https://groups.google.com/d/optout > . -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/F744F754-B7A7-4893-99A7-081B74AEDEE5%40rakkoon.com. For more options, visit https://groups.google.com/d/optout.