Deploying applications in Google App Engine is free, within limited usage. Thusapplications can be developed and tried out free and begin to obtain cost onlywhen accessed by a sufficient volume of requests. The PaaS model enablesGoogle to provide such a free service because applications do not run ondedicated virtual machines. A deployed application that is not accessed justconsumes storage for its code and data and expends no CPU cycles.GAE applications are served by a large number of web servers in Google’s datacenters that execute requests from end-users across the globe. The web serversload code from the GFS into memory and serve these requests. Each request to aparticular application is served by any one of GAE’s web servers. There is noguarantee that the same server will serve requests to any two requests, evenfrom the same HTTP session. Applications can also specify some functions to beexecuted as batch jobs which are run by a scheduler.While this architecture is able to ensure that applications scale naturally as loadincreases, it also means that application code cannot easily rely on in-memorydata. A distributed in-memory cache called Memcache is made available topartially solve this issue. In particular HTTP sessions are implemented usingMemcache so that even if requests from the same session go to different serversthey can retrieve their session data.
B. Sc. (SE)/BCA TY V Sem CBCSCloud Computing (S5.CC.5)9 |College of Computer Science & Information Technology, LaturPrepared By: Arun S Shinde3.2.1 Google DatastoreApplications store data in the Google Datastore, which is also a non-relationaldatabase. The Datastore allows applications to define structured types (called‘kinds’) and store their instances (called ‘entities’) in a distributed manner on theGFS file system. While one can view Datastore ‘kinds’ as table structures andentities as records. There are important differences between a relational modeland the Datastore, some of which are also shown in Figure 4.3.Figure 3.3 Google DatastoreIn a relational schema, all rows in a table have the same set of columns but allentities of a ‘kind’ need not have the same properties. Additional properties canbe added to any entity. This feature is particularly useful in situations where onecannot predict all the potential properties in a model.
B. Sc. (SE)/BCA TY V Sem CBCSCloud Computing (S5.CC.5)10 |College of Computer Science & Information Technology, LaturPrepared By: Arun S ShindeFor example,a model storing ‘products’ of different types (shows, books, etc.)would need to allow each product to have a different set of features. In arelational model, this would probably be implemented using a separateFEATURES table, as shown on the bottom left of Figure 3.3. Using the Datastore,this table (‘kind’) is not required; instead, each product entity can be assigned adifferent set of properties at runtime.
Upload your study docs or become a
Course Hero member to access this document
Upload your study docs or become a
Course Hero member to access this document
End of preview. Want to read all 14 pages?
Upload your study docs or become a
Course Hero member to access this document
Term
Fall
Professor
NoProfessor
Tags
Amazon Web Services, TY V Sem CBCS