Just as a personal note (I'm a Googler but also help maintain App Engine
non-profit sites in my spare time etc), I enthusiastically agree that the
migration suddenly validated my own long-standing obsession with more and
more (automated, esp. unit) testing -- suddenly, that boring test activity
became a life-saver, catching most glitches well before moving into
staging, much less prod.

Unsurprisingly the main exceptions (which we had to catch over time) were
about code hidden in Jinjia templates, which I had never thought of
subjecting to the same ambitious, aspirational standards of coverage I hold
Python code in .py files to.

There ARE ways to unit test code hidden in Jinja, and I plan to research
and apply them, but the error I made as a tech lead in not insisting on
such testing earlier is yet another confirmation of how precious unit tests
ARE!-)

Alex

On Thu, May 7, 2020 at 3:42 PM Ryan B <goo...@ryanb.org> wrote:

> i was also extremely fortunate that pretty much all of these apps had
> solid unit test coverage, which automatically found the vast majority of
> code that needed updating. if i'd had to resort to "rigorous search and
> runtime errors," as joshua mentioned, i'd probably be a lot more frustrated.
>
> On Thursday, May 7, 2020 at 3:38:57 PM UTC-7, Ryan B wrote:
>>
>> hi charlie, thanks for asking!
>>
>> my experience was similar to joshua's, if not quite so extreme. i've
>> migrated seven or so apps now, the largest weighing in at 26kloc. the big
>> differences in API availability and compatibility were the most painful
>> parts, followed by changes and difficulties with local development, as
>> joshua mentioned.
>>
>> here are a handful of threads and issues with details:
>>
>>    - local dev, deployment:
>>    -
>>       
>> https://groups.google.com/d/topic/google-appengine/BJDE8y2KISM/discussion
>>       (fast startup or static assets, choose one?)
>>       - https://issuetracker.google.com/issues/144150446 (dev_appserver
>>       patch to fix this)
>>       - https://issuetracker.google.com/issues/146780347 (Cloud Build
>>       uses stale GitHub clones)
>>       - logging:
>>    -
>>       
>> https://groups.google.com/d/topic/google-appengine/xTDZ-da27ow/discussion
>>       (difficulties reading GAE app logs from the logging API)
>>       -
>>       
>> https://stackoverflow.com/questions/58753378/how-to-deserialize-app-engine-application-logs-from-stackdriver-logging-api
>>       - https://github.com/googleapis/google-cloud-python/issues/2572
>>       - https://github.com/snarfed/bridgy/issues/940 (my app's feature
>>       that uses logging API is now way slower)
>>       -
>>       
>> https://groups.google.com/forum/#!topic/google-stackdriver-discussion/k96EQHCacKM
>>       (can't request increase to logs API read quota)
>>       -
>>       
>> https://stackoverflow.com/questions/59398479/why-is-my-app-engine-app-hitting-the-stackdriver-logging-256kb-limit
>>       - https://github.com/snarfed/bridgy/issues/904 (originally
>>       ingested way more logs than i expected)
>>       - ndb, misc growing pains:
>>    - https://github.com/googleapis/python-ndb/issues/263
>>       - https://github.com/googleapis/python-ndb/issues/238
>>       - https://github.com/googleapis/python-ndb/issues/277
>>       - https://github.com/googleapis/python-ndb/issues/376
>>       - https://github.com/googleapis/python-ndb/issues/267
>>    - cloud tasks missing local emulator, transactional tasks
>>       -
>>       
>> https://cloud.google.com/tasks/docs/migrating#features_in_task_queues_not_yet_available_via
>>    - migration increased our frontend instance usage noticeably, had to
>>    rearchitect and extract out task processing into a separate background
>>    service to get costs back down:
>>    https://github.com/snarfed/bridgy/issues/578
>>    (not entirely sure this was GAE's fault)
>>    - shared memcache got lost entirely, so i had to switch to a runtime
>>    in-memory cache, which isn't as helpful
>>    - https://github.com/GoogleCloudPlatform/webapp2/issues/151 (webapp2
>>    is unmaintained, and its port to Python 3 is a bit rough)
>>    -
>>    https://groups.google.com/d/topic/google-appengine/WHo99Gz1S3g/discussion
>>    (difficulty finding replacement for app_identity module)
>>
>>
>>
>> On Tuesday, May 5, 2020 at 2:06:48 PM UTC-7, Charlie Engelke wrote:
>>>
>>> This is very helpful feedback. Anybody else have comments for us?
>>>
>>> On Tuesday, May 5, 2020 at 1:17:52 PM UTC-7 Charlie Engelke wrote:
>>>
>>>> I'd still like to here anyone's stories involving migrating their App
>>>> Engine apps from Python 2.7 to Python 3.7. Have you migrated yet? Planning
>>>> to do so soon? Not going to move to the new platform?
>>>>
>>>> And any particular pain points? Things that would have helped?
>>>>
>>>> Thanks,
>>>>
>>>> Charlie
>>>>
>>>> On Friday, May 1, 2020 at 2:18:33 PM UTC-7 Charlie Engelke wrote:
>>>>
>>>>> Have you recently migrated from App Engine for Python 2.7 to App
>>>>> Engine for Python 3.7? Are you working on migrating now, or planning to
>>>>> soon? Or maybe you are using App Engine for Python 2.7 and aren't planning
>>>>> such a migration.
>>>>>
>>>>> In each of those cases, I'd like to hear how things went or are going
>>>>> for you, pain points you encounter, things that went easily, and anything
>>>>> else you have to share. I'm working on creating some new code samples to
>>>>> help with this, and your stories will be a big help.
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Charlie
>>>>>
>>>> --
> 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 view this discussion on the web visit
> https://groups.google.com/d/msgid/google-appengine/5f63c9c5-72f3-40f5-a0b5-cd92979cda2d%40googlegroups.com
> <https://groups.google.com/d/msgid/google-appengine/5f63c9c5-72f3-40f5-a0b5-cd92979cda2d%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/CAE46Be-0rKZAyfh-yKqER0xCR07f%3DzfxGM0Swmp%2BLWRZ27vB2A%40mail.gmail.com.

Reply via email to