This is spot on. Parts of Amplify are aimed at people just getting started with Cloud and Programming, which is good and bad. You can shoot yourself in the foot if you drive the car too fast. I think a lot of more advanced people use Amplify services along with the Amplify client SDKs and then do the provisioning using CDK rather than the Amplify CLI.
Eh their documentation is pretty clear about all this stuff and all the new directives released a couple years back (like the PK and index stuff) clearly guide people towards using indexed queries and not scans: https://docs.amplify.aws/cli/graphql/data-modeling/
Also he mentions the race condition around clients connecting to the backend between queries and mutations, then in the same breath says the DataStore client handles this but also it's mistake is being reliant on Subscriptions? This contradiction doesn't make sense.
There are some legit bugs in this article though that I've seen, like that Analytics one. It's really a Pinpoint issue though when you dig under the covers that I've been waiting for them to solve for years.
In the three years since we introduced AWS Mobile Hub, we’ve spoken to many developers. We listened to the feedback about what was difficult or confusing about developing mobile and web applications within the AWS ecosystem, and distilled that down to two problems:
Provisioning and maintenance of the mobile backend. Solved by using the Amplify CLI.
Secure hosting and continuous deployment of web applications. Solved by using AWS Amplify Console.
We took the great things that AWS Mobile Hub offered and added them to the Amplify CLI and the AWS Amplify Console. All of AWS Mobile Hub’s functionality and much more, are now part of AWS Amplify. Over the coming months, we will be encouraging all our developers to move their apps from AWS Mobile Hub to AWS Amplify."
Amplify CLI is much more than just automation, it's also got an entire toolchain for GraphQL transformation plus a code generation layer for Swift, Java, and TypeScript. It's geared towards mobile and web developers as it can integrate with their local projects and scaffold out the configuration for using different services and plug into Amplify JS library or the AWS mobile SDKs. There are also escape hatches to manage everything yourself. Give it a try for a day before finalizing your decision.
Have you seen the AWS Amplify CLI along with the new GraphQL transform and codegen features? It largely eliminates the "forces you to learn about graphql" downside that you mention. Here is more info: https://aws-amplify.github.io/amplify-js/media/api_guide#usi...