Using Google App Engine to build a classic Java Spring MVC application
Overall Satisfaction with Google App Engine
Google App Engine (GAE) is the core engine for a specialized web application in-house product. The web application allows the sales department staff to produce reporting, follow up regarding multiple deposit amounts, do the link between Google Drive (as a hosting cloud) and electronic signatures of clients. The web app is also responsible for the "after sales" process and also allows us to maintain the customers' database.
Pros
- Well suited for doing asynchronous long running process jobs through task queues
- Supports for huge files upload process (fast and efficient)
- Integrates pretty well with Java and Spring MVC technologies
Cons
- Although GAE does support relational databases if you pay for it, developers wanting to try GAE for free are forced to use cloud datastore which is a NoSQL database.
- Logging is recorded and accessible through a web console. However, there is no easy way (I mean through the console) to display a custom log line format like it's possible with slf4j or log4j logging patterns. This makes reading log inefficient.
- The GAE plugins for Eclipse are buggy and inconsistent. Many times we are forced to reboot the local server after a full webapp recompile, and the command line SDK is not intuitive.
- For a small enterprise with appropriate software engineer the ROI is excellent because the cost of GAE usage is very low compare to the quatity of information it can process in a day to day basis.
- GAE allows custom powerful API usage but this can be a double-edged sword because you are binding your application with this particular product.
With GAE it's a matter of "code your app and deploy it". You don't care on what servers or on how many servers it runs. System administration is done for you. With AWS you still have to be a system administrator with good knowledge and undestanding of load balancers, database instances, etc.
Comments
Please log in to join the conversation