Business partner of the vendor or vendor's competitor, not included in G2 Crowd scores.
What do you like best?
I've been developing for and deploying to App Engine for 3 years now, developing a wide range of bespoke applications for clients in the Automative and Food industries. App Engine ecosystem is really comprehensive and works very well with Google APIs and third party RESTful services.
Here is what I like best about App Engine
The best about App Engine is the ability to rapidly develop an application and deploy it to production in no time.
No need for infrastructure/platform knowledge or setup:
There is no need for complex infrastructure/platform tuning and installation, simply develop locally and deploy.
What I also like about it is the ability to autoscale your applications to deal with high demand using a simple Admin interface, you can also define deadlines for servicing requests.
Easy data persistence:
Data persistence is also straightforward with the NoSQL datastore, which is ideal for applications that are not transactional heavy, for applications that are transactional heavy it's easy to integrate with Cloud SQL (cloud MySQL).
A wide range of services:
App Engine also offers a wide range of services from identity management to integration with other Google APIs. Notably Cloud Endpoint is an easy to use API that enables the integration of Mobile applications, such that developers can easily develop an App Engine app as a Mobile backend.
Builtin security support:
App Engine has a very good support for Google Accounts, in particular when locking applications to a particular Google Application domain (enterprise or organisation). OAuth2 support works really well with the various Google APIs such as Cloud Storage, Google Drive, Calendar, Gmail, etc...
What do you dislike?
You need to know what is possible and what is not if coming from a Java background:
App Engine runs a customised Java virtual machine so some of the Java builtin functions are not available. For example file access, which means to manipulate or store files you need to use Cloud Storage rather than trying to process them on the server, but as soon as developers are acquainted with what is not possible, development becomes easy.
Heavyweight Java stack might not run:
Heavyweight Java stack might not run or be really slow. For example Spring Framework is really slow, whilst it's not possible to use Hibernate framework. You simply need to check if the library you want to use does play well with App Engine or not. But once you know what runs you can build a stack that works well. For example App Engine apps work really well with Google Guice for dependency injection (lightweight Spring replacement). Also Objectify library works really well as an Object Relational Mapping (ORM or strictly speaking Object to Entity mapping) to use with App Engine.
Tradeoff between response times and cost:
You need to spend time to tune your application to reach an optimal setup for both cost and response times, for example how many instances you are going to have idle waiting for requests. What instance types (CPU/RAM) you are going to use, and if they are sufficient or not.
Recommendations to others considering the product
Do your research and shortlist a technology stack that works well with App Engine.
Spend time tuning the performance parameters after deployment to reach a good balance between cost and performance.
Optimise your architecture using the services (task queues, etc...) provided to reduce the number of instance hours your app consumes.
If you set a daily budget limit ensure this is not going to impact the service availability.
Avoid trying to re-invent the wheel and write your own code, check the docs first, there might already be a service to achieve your goal.
What business problems are you solving with the product? What benefits have you realized?
The clients I've been developing for are not primarily technology companies, hence they don't have/don't want any infrastructure/platform overhead. App Engine cloud based PaaS (Platform as a Service) eliminates the need for any upfront investment on platforms or infrastructure. The ability to scale up and down based on demand also eliminates the need to spend on downsizing or upsizing.
For customers on Google Apps it's a no brainer to use App Engine for running enterprise applications which almost eliminates the cost of integration with mail, calendar and identity management backends. The RESTful service-oriented nature of App Engine also makes it really easy and cost effective to integrate with other enterprise systems.