kartelj@matf.bg.ac.rs Google App Engine • Web application hosting service • Designed for real-time dynamic apps • Many simultaneous users • Scalable • Paying resources monthly • Free account (5 million page views a month)
20.1.2020. Aleksandar Kartelj 2/14
kartelj@matf.bg.ac.rs Sandboxing • App can only read its own files • App cannot manipulate environment variables • App cannot access network facilities • Distributing request non-deterministically • Consequence: run multiple apps on the same server, or one app on multiple servers safely 20.1.2020. Aleksandar Kartelj 3/14 kartelj@matf.bg.ac.rs Architecture overview
20.1.2020. Aleksandar Kartelj 4/14
kartelj@matf.bg.ac.rs Features • The static file servers • The Datastore – Not join-query database – Most resembling to object database • Entities and properties – Entity has 1..* properties – Not to be confused with rows in RDBMS
20.1.2020. Aleksandar Kartelj 5/14
kartelj@matf.bg.ac.rs Features • Queries and indexes – Index in made for every simple query – Query performance affected only by the size of the result set • Transactions – Optimistic concurrency control – Entity groups (entities updated in one trans.) • Services: memcache, URL fetch , Mail, … 20.1.2020. Aleksandar Kartelj 6/14 kartelj@matf.bg.ac.rs App Engine’s request handling
20.1.2020. Aleksandar Kartelj 7/14
kartelj@matf.bg.ac.rs Building applications
20.1.2020. Aleksandar Kartelj 8/14
kartelj@matf.bg.ac.rs App engine dashboard
20.1.2020. Aleksandar Kartelj 9/14
kartelj@matf.bg.ac.rs App engine dashboard
20.1.2020. Aleksandar Kartelj 10/14
kartelj@matf.bg.ac.rs Clustering search results
20.1.2020. Aleksandar Kartelj 11/14
kartelj@matf.bg.ac.rs Clustering search results
20.1.2020. Aleksandar Kartelj 12/14
kartelj@matf.bg.ac.rs EC2 vs GAE vs Azure
20.1.2020. Aleksandar Kartelj 13
kartelj@matf.bg.ac.rs EC2 vs GAE vs Azure
20.1.2020. Aleksandar Kartelj 14
kartelj@matf.bg.ac.rs Thank you.
Aleksandar Kartelj Faculty of Mathematics, University of Belgrade kartelj@matf.bg.ac.rs www.matf.bg.ac.rs/~kartelj