google app engine - devfest india 2010

156
Google Confidential and Proprietary 1 Google App Engine Feb – March, 2010 Patrick Chanezon Developer Advocate Google Developer Relations [email protected] Monday, March 8, 2010

Upload: patrick-chanezon

Post on 06-May-2015

4.724 views

Category:

Technology


2 download

DESCRIPTION

Intro to Google App Engine, Google's cloud computing platform. Presented at Devfest India 2010 Hyderabad andPune.

TRANSCRIPT

Page 1: Google App Engine -  Devfest India 2010

Google Confidential and Proprietary 1

Google App Engine

Feb – March, 2010Patrick ChanezonDeveloper AdvocateGoogle Developer [email protected]

Monday, March 8, 2010

Page 2: Google App Engine -  Devfest India 2010

Agenda

-App Engine introduction-Why build it?-App Engine tour-What's different?-Wrap up-Questions

2

Monday, March 8, 2010

Page 3: Google App Engine -  Devfest India 2010

Isha Upanishad

3

4. The spirit is unmoving, one, swifter than the mind. The senses do not reach It as It is ever ahead of them. Though Itself standing still It outstrips those who run. In It the all-pervading air supports the activities of beings

Monday, March 8, 2010

Page 4: Google App Engine -  Devfest India 2010

Vayu computing?

4

Public domain image from http://commons.wikimedia.org/wiki/File:Vayu.jpg

Monday, March 8, 2010

Page 5: Google App Engine -  Devfest India 2010

Vayu Computing?

5

7−10 Then they said to Vayu (Air): "O Vayu! Find out who this great Spirit is." "Yes," he said, and hastened to It. Brahman asked him: "Who are you?" He replied "I am known as Vayu; I am also called Matarisva." Brahman said: "What power is in you, who are so well known?" Vayu replied: "I can carry off all−whatever there is on earth." Brahman put a straw before him and said: "Carry this." He rushed toward it with all his ardour but could not move it. Then he returned from the Spirit and said to the gods: "I could not find out who this Spirit is,"

Kena Upanishad

Monday, March 8, 2010

Page 6: Google App Engine -  Devfest India 2010

PlacePostage H

ere

6

IaaSPaaSSaaS

What is cloud computing?

Monday, March 8, 2010

Page 7: Google App Engine -  Devfest India 2010

IaaS value proposition…

7

Monday, March 8, 2010

Page 8: Google App Engine -  Devfest India 2010

IaaS value proposition…

7

Monday, March 8, 2010

Page 9: Google App Engine -  Devfest India 2010

IaaS value proposition…

7

Monday, March 8, 2010

Page 10: Google App Engine -  Devfest India 2010

IaaS value proposition…

7

Monday, March 8, 2010

Page 11: Google App Engine -  Devfest India 2010

Google App Engine

8

“We wear pagers so you don’t have to”

pager

Monday, March 8, 2010

Page 12: Google App Engine -  Devfest India 2010

Google App Engine

-Easy to build-Easy to maintain-Easy to scale

9

Monday, March 8, 2010

Page 13: Google App Engine -  Devfest India 2010

By the numbers

- Built 100K apps- Maintained by 250K developers- Scaled to 250M pageviews daily

10

semi-transparent collage of apps

Monday, March 8, 2010

Page 14: Google App Engine -  Devfest India 2010

gigya Socialize

11

Monday, March 8, 2010

Page 15: Google App Engine -  Devfest India 2010

gigya Socialize - traffic

12

Monday, March 8, 2010

Page 16: Google App Engine -  Devfest India 2010

gigya Socialize - traffic

12

Monday, March 8, 2010

Page 17: Google App Engine -  Devfest India 2010

Gigya Socialize - traffic

13

Monday, March 8, 2010

Page 18: Google App Engine -  Devfest India 2010

App Engine

14

Monday, March 8, 2010

Page 19: Google App Engine -  Devfest India 2010

App Engine

15

Monday, March 8, 2010

Page 20: Google App Engine -  Devfest India 2010

Time.com

16

Monday, March 8, 2010

Page 21: Google App Engine -  Devfest India 2010

Socialwok

17

Monday, March 8, 2010

Page 22: Google App Engine -  Devfest India 2010

Social networking at scale

18

Monday, March 8, 2010

Page 23: Google App Engine -  Devfest India 2010

Social networking at scale

18

>40M Users

Monday, March 8, 2010

Page 24: Google App Engine -  Devfest India 2010

PubSubHubbubhttp://code.google.com/p/pubsubhubbub/

19

The future is distributed: There will be big hubs, many small hubs, and tons of publishers and subscribers.

Publishers, subscribers, and hubs may play multiple roles.

Monday, March 8, 2010

Page 25: Google App Engine -  Devfest India 2010

Hell's Kitchen on facebook

20

Monday, March 8, 2010

Page 26: Google App Engine -  Devfest India 2010

Handling peak traffic: mental_floss

21

Monday, March 8, 2010

Page 27: Google App Engine -  Devfest India 2010

Elastic / redundant capacity

22

Monday, March 8, 2010

Page 28: Google App Engine -  Devfest India 2010

Short term events: earthhour.org

23

Monday, March 8, 2010

Page 29: Google App Engine -  Devfest India 2010

http://www.allforgood.org/

24

Monday, March 8, 2010

Page 30: Google App Engine -  Devfest India 2010

http://www.snapabug.com/

25

Monday, March 8, 2010

Page 31: Google App Engine -  Devfest India 2010

エコポイント

26

Monday, March 8, 2010

Page 32: Google App Engine -  Devfest India 2010

Japan: Q&A for our Future

27

Monday, March 8, 2010

Page 33: Google App Engine -  Devfest India 2010

http://www.google.com/tipjar

28

Monday, March 8, 2010

Page 34: Google App Engine -  Devfest India 2010

Chillingo CrystalGaming meets Social

Cogs

Guerilla Bob

Zombie Dash Angry Birds LITE underground Meltdown

Mission Deep Sea Speed ForgeExtreme

Ravensword:The Fallen King

Angry Birds

Monday, March 8, 2010

Page 35: Google App Engine -  Devfest India 2010

Why build it?

30

Wrench

Monday, March 8, 2010

Page 36: Google App Engine -  Devfest India 2010

It's just too difficult

31

Monday, March 8, 2010

Page 37: Google App Engine -  Devfest India 2010

Hosting means hidden costs

• Idle capacity• Software patches & upgrades• License fees• Lots of maintenance• Traffic & utilization forecasting• Upgrades

32

Monday, March 8, 2010

Page 38: Google App Engine -  Devfest India 2010

Cloud development in a box

33

• SDK & “The Cloud”• Hardware• Networking• Operating system• Application runtime

o Java, Python• Static file serving• Services• Fault tolerance• Load balancing

Monday, March 8, 2010

Page 39: Google App Engine -  Devfest India 2010

Distributed Cloud ComputingReliability and scalability

Monday, March 8, 2010

Page 40: Google App Engine -  Devfest India 2010

Know your Distributed Memes

-Divide & conquer -Sharding-Tolerate / expect failure- Idempotency-Just scale it up

35

Monday, March 8, 2010

Page 41: Google App Engine -  Devfest India 2010

Rocket scienceMonolithic Computing

36

Monday, March 8, 2010

Page 42: Google App Engine -  Devfest India 2010

Rocket scienceMonolithic Computing

36

Hot spare“Just in case”

Monday, March 8, 2010

Page 43: Google App Engine -  Devfest India 2010

Distributed Meme:Expect, tolerate and design for failure

37

MTFB: O(Years)

Monday, March 8, 2010

Page 44: Google App Engine -  Devfest India 2010

Distributed Meme:Expect, tolerate and design for failure

37

MTFB: O(Years)

Monday, March 8, 2010

Page 45: Google App Engine -  Devfest India 2010

Distributed Meme:Expect, tolerate and design for failure

37

MTFB: O(Months)

MTFB: O(Years)

Monday, March 8, 2010

Page 46: Google App Engine -  Devfest India 2010

Distributed Meme:Expect, tolerate and design for failure

37

MTFB: O(Months)

MTFB: O(Years)

Monday, March 8, 2010

Page 47: Google App Engine -  Devfest India 2010

Distributed Meme:Expect, tolerate and design for failure

37

MTFB: O(Months)

MTFB: O(Years)

MTFB: O(Minutes/Seconds)

Monday, March 8, 2010

Page 48: Google App Engine -  Devfest India 2010

Monolithic computing

38

stop watchsmall

stop watchlarge

Monday, March 8, 2010

Page 49: Google App Engine -  Devfest India 2010

Distributed web hosting platform

39

Monday, March 8, 2010

Page 50: Google App Engine -  Devfest India 2010

Distributed web hosting platform

39

X

Monday, March 8, 2010

Page 51: Google App Engine -  Devfest India 2010

Distributed web hosting platform

39

XRetry

Monday, March 8, 2010

Page 52: Google App Engine -  Devfest India 2010

Vertical / horizontal scalability

40

Monday, March 8, 2010

Page 53: Google App Engine -  Devfest India 2010

Vertical / horizontal scalability

40

Monday, March 8, 2010

Page 54: Google App Engine -  Devfest India 2010

Vertical / horizontal scalability

40

Monday, March 8, 2010

Page 55: Google App Engine -  Devfest India 2010

Vertical / horizontal scalability

40

Monday, March 8, 2010

Page 56: Google App Engine -  Devfest India 2010

Vertical / horizontal scalability

40

Monday, March 8, 2010

Page 57: Google App Engine -  Devfest India 2010

Vertical / horizontal scalability

40

Monday, March 8, 2010

Page 58: Google App Engine -  Devfest India 2010

Vertical scalability

41

Monday, March 8, 2010

Page 59: Google App Engine -  Devfest India 2010

Vertical scalability

41

Horizontal scalability

Monday, March 8, 2010

Page 60: Google App Engine -  Devfest India 2010

Vertical scalability

41

Horizontal scalability

Monday, March 8, 2010

Page 61: Google App Engine -  Devfest India 2010

Tolerate, plan for and expect small failures

Monday, March 8, 2010

Page 62: Google App Engine -  Devfest India 2010

Tolerate, plan for and expect small failures

Monday, March 8, 2010

Page 63: Google App Engine -  Devfest India 2010

Tolerate, plan for and expect small failures

Monday, March 8, 2010

Page 64: Google App Engine -  Devfest India 2010

Tolerate, plan for and expect small failures

Monday, March 8, 2010

Page 65: Google App Engine -  Devfest India 2010

Tolerate, plan for and expect small failures

Monday, March 8, 2010

Page 66: Google App Engine -  Devfest India 2010

Tolerate, plan for and expect small failures

Monday, March 8, 2010

Page 67: Google App Engine -  Devfest India 2010

Easy to deploy & scale

43

http://www.yourdomain.com/

1

2

Monday, March 8, 2010

Page 68: Google App Engine -  Devfest India 2010

Thinking about scalability

....the tools, platform and design don't matter too much

Just a few users....

44

Monday, March 8, 2010

Page 69: Google App Engine -  Devfest India 2010

Thinking about scalability

....you must design for scalability

Lots and lots of users...

45

Monday, March 8, 2010

Page 70: Google App Engine -  Devfest India 2010

But the problem is...

When?

http://digg.com/http://slashdot.org/

46

Monday, March 8, 2010

Page 71: Google App Engine -  Devfest India 2010

The real problem is...

When it happens.

Can you afford to puteverything else on hold?

47

Monday, March 8, 2010

Page 72: Google App Engine -  Devfest India 2010

Google App Engine

Leveraging Google'splatform to better serveyour customers

48

Monday, March 8, 2010

Page 73: Google App Engine -  Devfest India 2010

Distributed web hosting platform

49

Monday, March 8, 2010

Page 74: Google App Engine -  Devfest India 2010

Distributed web hosting platform

50

-Great for web apps• Request based, data backed

-Parallel processing-Scales automatically-Available globally-Configuration free-Built-in DoS protections

Monday, March 8, 2010

Page 75: Google App Engine -  Devfest India 2010

Distributed datastore

51

Monday, March 8, 2010

Page 76: Google App Engine -  Devfest India 2010

Distributed datastore

52

Monday, March 8, 2010

Page 77: Google App Engine -  Devfest India 2010

Distributed datastore

52

-Arbitrary horizontal scaling

Monday, March 8, 2010

Page 78: Google App Engine -  Devfest India 2010

Distributed datastore

52

-Arbitrary horizontal scaling-Parallel processing

Monday, March 8, 2010

Page 79: Google App Engine -  Devfest India 2010

Distributed datastore

52

-Arbitrary horizontal scaling-Parallel processing-Scales to 'Internet scale'

Monday, March 8, 2010

Page 80: Google App Engine -  Devfest India 2010

Distributed datastore

52

-Arbitrary horizontal scaling-Parallel processing-Scales to 'Internet scale'-Predictable query performance

Monday, March 8, 2010

Page 81: Google App Engine -  Devfest India 2010

Distributed datastore

52

-Arbitrary horizontal scaling-Parallel processing-Scales to 'Internet scale'-Predictable query performance-No deadlocks

Monday, March 8, 2010

Page 82: Google App Engine -  Devfest India 2010

Distributed datastore

52

-Arbitrary horizontal scaling-Parallel processing-Scales to 'Internet scale'-Predictable query performance-No deadlocks-No global schema

Monday, March 8, 2010

Page 83: Google App Engine -  Devfest India 2010

Distributed memcache

53

Memcache

Monday, March 8, 2010

Page 84: Google App Engine -  Devfest India 2010

Distributed Meme: Divide & ConquerSpecialized services

54

BlobstoreImages

Mail XMPP Task Queue

Memcache Datastore URL Fetch

User Service

Monday, March 8, 2010

Page 85: Google App Engine -  Devfest India 2010

Distributed Meme: Sharding

Single Sharded

55

Counter CounterCounter Counter

Monday, March 8, 2010

Page 86: Google App Engine -  Devfest India 2010

Distributed Meme: Sharding

Single Sharded

55

Counter CounterCounter CounterCounter

Monday, March 8, 2010

Page 87: Google App Engine -  Devfest India 2010

Distributed Meme: Sharding

Single Sharded

55

Counter CounterCounter CounterCounter CounterCounter

Monday, March 8, 2010

Page 88: Google App Engine -  Devfest India 2010

Language runtimes

Duke, the Java mascotCopyright © Sun Microsystems Inc., all rights reserved.

56

Monday, March 8, 2010

Page 89: Google App Engine -  Devfest India 2010

JVM languages

-Scala-JRuby (Ruby)-Groovy-Quercus (PHP)-Rhino (JavaScript)-Jython (Python)

57

Monday, March 8, 2010

Page 90: Google App Engine -  Devfest India 2010

Ensuring portability

58

Monday, March 8, 2010

Page 91: Google App Engine -  Devfest India 2010

Ensuring portability

58

Monday, March 8, 2010

Page 92: Google App Engine -  Devfest India 2010

Complete Java development stack

59

Monday, March 8, 2010

Page 93: Google App Engine -  Devfest India 2010

Google Plugin for Eclipse

60

Monday, March 8, 2010

Page 94: Google App Engine -  Devfest India 2010

Google Plugin for Eclipse

61

Monday, March 8, 2010

Page 95: Google App Engine -  Devfest India 2010

Google Web Toolkit (GWT)

62

Monday, March 8, 2010

Page 96: Google App Engine -  Devfest India 2010

Google Web Toolkit (GWT)

IE

Firefox

SafariChrome

Opera

63

Monday, March 8, 2010

Page 97: Google App Engine -  Devfest India 2010

GWT Debugging in the browser

64

Monday, March 8, 2010

Page 98: Google App Engine -  Devfest India 2010

Quotes to remember

“The fastest code is thatwhich does not run.”

Joel WebberGWT co-creator

65

Monday, March 8, 2010

Page 99: Google App Engine -  Devfest India 2010

Google's scalable serving architecture

Google Apps + your apps

Your custom applicationsOur Google Apps

66

Monday, March 8, 2010

Page 100: Google App Engine -  Devfest India 2010

Google Apps integration

http://appid.appspot.com/

http://yourapp.yourdomain.com/

67

Monday, March 8, 2010

Page 101: Google App Engine -  Devfest India 2010

2. Log in to your Google Apps domain as an admin

68

Monday, March 8, 2010

Page 102: Google App Engine -  Devfest India 2010

3. Accept terms and specify web address

69

Monday, March 8, 2010

Page 103: Google App Engine -  Devfest India 2010

4. The new feature is available in your control panel

70

Monday, March 8, 2010

Page 104: Google App Engine -  Devfest India 2010

5. Additional configuration is available for each feature

71

Monday, March 8, 2010

Page 105: Google App Engine -  Devfest India 2010

Google Apps + App Engine

72

Monday, March 8, 2010

Page 106: Google App Engine -  Devfest India 2010

Federate your on-premise data

73

Monday, March 8, 2010

Page 107: Google App Engine -  Devfest India 2010

Secure Data Connector (SDC)

74

Monday, March 8, 2010

Page 108: Google App Engine -  Devfest India 2010

Secure Data Connector

75

Monday, March 8, 2010

Page 109: Google App Engine -  Devfest India 2010

Secure Data Connector

and 50+ more...

76

Monday, March 8, 2010

Page 110: Google App Engine -  Devfest India 2010

Using Secure Data Connector

77

Monday, March 8, 2010

Page 111: Google App Engine -  Devfest India 2010

Using Secure Data Connector

Installation- Determine access rules- Configure and install SDC

77

Monday, March 8, 2010

Page 112: Google App Engine -  Devfest India 2010

Using Secure Data Connector

Installation- Determine access rules- Configure and install SDC

Getting ready to serve- SDC opens SSL tunnel

77

Monday, March 8, 2010

Page 113: Google App Engine -  Devfest India 2010

Using Secure Data Connector

Installation- Determine access rules- Configure and install SDC

Getting ready to serve- SDC opens SSL tunnel

Serving- User request sent to App Engine- User authenticated- App makes request through tunnel- SDC performs access checks- Results returned

77

Monday, March 8, 2010

Page 114: Google App Engine -  Devfest India 2010

Database export / import

78

Monday, March 8, 2010

Page 115: Google App Engine -  Devfest India 2010

Cron support

- clean-up DB- prepare reports - batch mail

- perform calcs- call mom

79

Monday, March 8, 2010

Page 116: Google App Engine -  Devfest India 2010

<?xml version="1.0" encoding="UTF-8"?><cronentries>  <cron>    <url>/recache</url>    <description>Repopulate the cache every 2 minutes</description>    <schedule>every 2 minutes</schedule>  </cron>  <cron>    <url>/weeklyreport</url>    <description>Mail out a weekly report</description>    <schedule>every monday of month 08:30</schedule>    <timezone>America/New_York</timezone>  </cron></cronentries>

("every"|ordinal) (days) "of" (monthspec) (time)

every 5 minutesevery 12 hours2nd,third mon,wed,thu of march 17:00every monday of month 09:001st monday of sep,oct,nov 17:00

Cron support

80

Monday, March 8, 2010

Page 117: Google App Engine -  Devfest India 2010

Distributed Meme: Divide & ConquerTask Queues

81

Brett SlatkinMay, 2009

Offline Processing onApp Engine: A Look Ahead

Task 12 Task 67 Task 42 Task 2 Task 91 Task 16 Task 7

Monday, March 8, 2010

Page 118: Google App Engine -  Devfest India 2010

Tasks Queues - Motivation

• Why do background processing? oDo work continuously without user requestso Incrementally process data, compute resultsoSmooth out load patterns, lower user latency

• Simple idea in general:1.Describe the work you want to do now2.Save the description somewhere3.Have something else execute the work later

• Work executed in the order received (best-effort FIFO)• If execution fails, work will be retried until successful

Task 12 Task 67 Task 42 Task 2 Task 91 Task 16 Task 7

Monday, March 8, 2010

Page 119: Google App Engine -  Devfest India 2010

Task Queue Benefits

• BenefitsoAsynchronous

Why do work now when we can do it later?o Low-latency (for users)

Tasks are light-weight; ~3x faster than DatastoreoReliable

Once written, a task will eventually complete oScalable

Storage of new tasks has no contentionParallelizable with multiple workers

• Many features can extend this basic concept

Task 12 Task 67 Task 42 Task 2 Task 91 Task 16 Task 7

Monday, March 8, 2010

Page 120: Google App Engine -  Devfest India 2010

How do traditional task queues work?

Monday, March 8, 2010

Page 121: Google App Engine -  Devfest India 2010

How do traditional task queues work? (2)

• Polling has problems:oWorker sits in a loop polling the front of the queue

Not event driven; wasted work oWorkers stay resident when there's no work to do

Wastes machine resourcesoFixed number of workers

Admins must manually add more workers to keep up or queue will grow without bounds

• Limited optimization possible

oMany systems fake a polling interface with something event-driven under the hood

o Long-lived, hanging connections

Monday, March 8, 2010

Page 122: Google App Engine -  Devfest India 2010

How does our Task Queue API work? (2)

Monday, March 8, 2010

Page 123: Google App Engine -  Devfest India 2010

How does our Task Queue API work? (3)

Monday, March 8, 2010

Page 124: Google App Engine -  Devfest India 2010

Your application's health

88

Monday, March 8, 2010

Page 125: Google App Engine -  Devfest India 2010

App Engine's health history

89

Monday, March 8, 2010

Page 126: Google App Engine -  Devfest India 2010

creative commons licensed photograph from cote

Scalable serving architecture

90

Monday, March 8, 2010

Page 127: Google App Engine -  Devfest India 2010

Distributed frontends

91

Monday, March 8, 2010

Page 128: Google App Engine -  Devfest India 2010

Distributed frontends

-Edge Caching

91

Monday, March 8, 2010

Page 129: Google App Engine -  Devfest India 2010

Distributed frontends

-Edge Caching-Priority routing

91

Monday, March 8, 2010

Page 130: Google App Engine -  Devfest India 2010

Distributed frontends

-Edge Caching-Priority routing-Geographically close

connection endpoint91

Monday, March 8, 2010

Page 131: Google App Engine -  Devfest India 2010

Life of a request

UserApp

EngineFrontend

App'sRuntime

92

Monday, March 8, 2010

Page 132: Google App Engine -  Devfest India 2010

Life of a request

UserApp

EngineFrontend

App'sRuntime

93

Monday, March 8, 2010

Page 133: Google App Engine -  Devfest India 2010

Scales dynamically / automatically

UserApp

EngineFrontend

App'sRuntime

User

UserUser

User

94

Monday, March 8, 2010

Page 134: Google App Engine -  Devfest India 2010

Scales dynamically / automatically

App'sRuntime

App'sRuntime

UserApp

EngineFrontend

App'sRuntime

User

UserUser

User

95

Monday, March 8, 2010

Page 135: Google App Engine -  Devfest India 2010

Multiple versions

UserApp

EngineFrontend

Version 1.1

Version 2.1

Datastore

http://2.1.fredsa.appspot.com/

http://fredsa.appspot.com/

96

Monday, March 8, 2010

Page 136: Google App Engine -  Devfest India 2010

Distributed datastore

http://labs.google.com/papers/bigtable.html97

Monday, March 8, 2010

Page 137: Google App Engine -  Devfest India 2010

Bigtable :A distributed, sharded, sorted array

 Row key    Row data

98

Monday, March 8, 2010

Page 138: Google App Engine -  Devfest India 2010

Shard 1

Shard 2 . .

Shard n

Bigtable :A distributed, sharded, sorted array

 Row key    Row data

99

Monday, March 8, 2010

Page 139: Google App Engine -  Devfest India 2010

Datastore design

-Distributed-Bigtable + entity groups-ACID transactions-Optimistic concurrency-Entities + indexes-Protobuf encoded entities

100

Monday, March 8, 2010

Page 140: Google App Engine -  Devfest India 2010

Datastore properties

-Core value types-List properties-Text & binary blobs-Reference

101

Monday, March 8, 2010

Page 141: Google App Engine -  Devfest India 2010

What's different?

102

Monday, March 8, 2010

Page 142: Google App Engine -  Devfest India 2010

Datastore - what's new

-Distributed-Scales to 'internet scale'-No deadlocks-Predictable query performance

103

Monday, March 8, 2010

Page 143: Google App Engine -  Devfest India 2010

Datastore - what's different

-No inner/outer/natural joins-Dense index scans-Per entity metadata-Soft schema-No more DDL

104

Monday, March 8, 2010

Page 144: Google App Engine -  Devfest India 2010

Datastore - what's familiar

- Indexes-ACID transactions-GQLSELECT * FROM StoryWHERE title = 'App Engine Launch'AND author = :current_userAND rating >= 10ORDER BY rating, created DESC

105

Monday, March 8, 2010

Page 145: Google App Engine -  Devfest India 2010

The new ACID

AssociativeCommutativeIdempotentDistributed

AtomicConsistentIsolatedDurable

106

Monday, March 8, 2010

Page 146: Google App Engine -  Devfest India 2010

Entities

107

Monday, March 8, 2010

Page 147: Google App Engine -  Devfest India 2010

Entity groups

108

Monday, March 8, 2010

Page 148: Google App Engine -  Devfest India 2010

Amortizing costs

Customer Order

Count(COUNT)

SUM(Order Amount)Transaction

CreateUpdateDelete

109

Monday, March 8, 2010

Page 149: Google App Engine -  Devfest India 2010

An evolving platform

110

Monday, March 8, 2010

Page 150: Google App Engine -  Devfest India 2010

Apr 2008 Python launchMay 2008 Memcache, Images APIJul 2008 Logs exportAug 2008 Batch write/deleteOct 2008 HTTPS supportDec 2008 Status dashboard, quota detailsFeb 2009 Billing, larger filesApr 2009 Java launch, DB import, cron support, SDCMay 2009 Key-only queriesJun 2009 Task queuesAug 2009 Kindless queriesSep 2009 XMPPOct 2009 Incoming emailDec 2009 BlobstoreFeb 2010 Datastore cursors, Async Urlfetch

23 months in review

111

Monday, March 8, 2010

Page 151: Google App Engine -  Devfest India 2010

- Support for mapping operations across datasets

- Alerting system for exceptions in your application

- Datastore dump and restore facility112

App Engine Roadmap

Monday, March 8, 2010

Page 152: Google App Engine -  Devfest India 2010

Wrap up

113

Monday, March 8, 2010

Page 153: Google App Engine -  Devfest India 2010

Always free to get started

~5M pageviews/month• 6.5 CPU hrs/day• 1 GB storage• 650K URL Fetch calls/day• 2,000 recipients emailed• 1 GB/day bandwidth• 100,000 tasks enqueued• 650K XMPP messages/day

114

Monday, March 8, 2010

Page 154: Google App Engine -  Devfest India 2010

Purchase additional resources *

* free monthly quota of ~5 million page views still in full effect115

Monday, March 8, 2010

Page 155: Google App Engine -  Devfest India 2010

Thank you

Read morehttp://code.google.com/appengine/

Contact infoPatrick ChanezonDeveloper [email protected]://twitter.com/chanezon

Questions?

116

Monday, March 8, 2010

Page 156: Google App Engine -  Devfest India 2010

ThanksTo Alon Levi, Fred Sauer, Brett Slatkin and others for their slides

Monday, March 8, 2010