Google App Engine for Business - Sydney Devfest
-
Upload
patrick-chanezon -
Category
Technology
-
view
2.870 -
download
2
description
Transcript of Google App Engine for Business - Sydney Devfest
App Engine for Business
2
Patrick ChanezonDeveloper [email protected]://twitter.com/chanezon
#devfestau SydneyJune 29 2010
Wednesday, June 30, 2010
The benefits of Cloud Computing
Economics Pay for only what you use TCO OPEX vs CAPEXOperations Day to day: no maintenance Fighting fires: no PagersElasticityFocus on your Business
2
Wednesday, June 30, 2010
Build your own
Google App Enginefor Business
Buy from others
Google Apps Marketplace
Enterprise Firewall
Enterprise Data Authentication Enterprise Services User Management
Google Apps Platform
Buy from Google
Google Apps for Business
Build and Buy all your enterprise cloud apps...
3
Wednesday, June 30, 2010
Customers want more Apps
4
GoogleApps
Businessin the cloud
Wednesday, June 30, 2010
Leveraging Google's Leadership in Cloud Computing• Massive data center operations• Purpose built hardware• Multi tenant software platform at Internet scale
5
Wednesday, June 30, 2010
0.5B+ daily Pageviews
250,000+ Developers
100,000+ Apps
By the numbers
6
Wednesday, June 30, 2010
App Engine
7
Wednesday, June 30, 2010
Socialwok
8
Wednesday, June 30, 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
9
Wednesday, June 30, 2010
gigy Socialize
10
Wednesday, June 30, 2010
gigy Socialize - traffic
11
Wednesday, June 30, 2010
gigy Socialize - traffic
11
Wednesday, June 30, 2010
App Engine
12
Wednesday, June 30, 2010
エコポイント
13
Wednesday, June 30, 2010
Build your Enterprise Apps on Google
• Easy to Build - Java standards
• Easy to Deploy - push-button deployment
• Easy to Scale - from small apps to millions of users
14
Wednesday, June 30, 2010
Google App Engine for Business
• Centralized administration - controls
• Reliability and support - SLA, Premium support
• Secure by default - only your users
• Pricing that makes sense - pay only for what you use
• Enterprise features - hosted SQL, SSL on your domain
15
Wednesday, June 30, 2010
Understanding the Cloud Computing Landscape
IaaS
PaaS
SaaS
Source: Gartner AADI Summit Dec 2009
16
Wednesday, June 30, 2010
Google Storage for DevsMachine Learning
BigQuery
Google App Engine
Google's Cloud Offerings
IaaS
PaaS
SaaS
1. Our Apps2. 3rd party Apps: Google Apps Marketplace3. ________
17
Wednesday, June 30, 2010
Google Storage for DevsMachine Learning
BigQuery
Google App Engine
Google's Cloud Offerings
IaaS
PaaS
SaaS
Your Apps
1. Our Apps2. 3rd party Apps: Google Apps Marketplace3. ________
17
Wednesday, June 30, 2010
Domain Console
18
Wednesday, June 30, 2010
Domain Console
Like the regular admin consoleDesigned to manage enterprises with a portfolio of apps• Keep track of all apps in a domain• Access Control: view apps, deploy• Global Settings: apply to all apps in the domain • Billing rolling up to single account• DNS configuration done only once: *.ext.example.com• All apps by default for logged in users from domain
19
Wednesday, June 30, 2010
Google Apps Integration• SSO/SSO delegation• APIs for most Google Apps for integration
20
Wednesday, June 30, 2010
Federate your on-premise data
21
Wednesday, June 30, 2010
Secure Data Connector (SDC)
22
Wednesday, June 30, 2010
Using Secure Data Connector
23
Wednesday, June 30, 2010
Using Secure Data Connector
Installation- Determine access rules- Configure and install SDC
23
Wednesday, June 30, 2010
Using Secure Data Connector
Installation- Determine access rules- Configure and install SDC
Getting ready to serve- SDC opens SSL tunnel
23
Wednesday, June 30, 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
23
Wednesday, June 30, 2010
App Engine for Business Pricing
Intranet apps:Each app costs $8 / active user / monthCapped at $1,000 / month (i.e. users above 125 are free)Apps are auth-restricted to domain usersDevelopment is freeOverage charges on Background Analysis/Storage
Non intranet apps (external/public/ISV apps):Pricing TBD Postpaid (i.e. billed at the end of month)
24
Wednesday, June 30, 2010
App Engine for Business Support and SLAPaid Support Email based 1000$/month 1h response time on operational issues 8h on development issues SLA 99.9% uptime Service credits from 10% to 100% refund of monthly bill
25
Wednesday, June 30, 2010
Gadgets JS Maps APISearch KML 3DApp Engine
Google Developer Qualification
Chrome Extensions
26
Wednesday, June 30, 2010
Distributed Cloud ComputingReliability and scalability memes
27
A “meme” is a term coined by Richard Dawkins, referring to a unit of cultural information transferable from one mind to another.
Wednesday, June 30, 2010
Know your Distributed MemesDistribute it. Tolerate it. Tune it. Scale it!
28
Wednesday, June 30, 2010
Know your Distributed MemesDistribute it. Tolerate it. Tune it. Scale it!
Distribute it• Divide & conquer; parallelize work• Sharding• Amortize work / pre-compute values
28
Wednesday, June 30, 2010
Know your Distributed MemesDistribute it. Tolerate it. Tune it. Scale it!
Distribute it• Divide & conquer; parallelize work• Sharding• Amortize work / pre-compute values
Tolerate it• Tolerate, expect and plan for small failures• Idempotency, idempotency
28
Wednesday, June 30, 2010
Know your Distributed MemesDistribute it. Tolerate it. Tune it. Scale it!
Distribute it• Divide & conquer; parallelize work• Sharding• Amortize work / pre-compute values
Tolerate it• Tolerate, expect and plan for small failures• Idempotency, idempotency
Tune it• Memcache• Denormalization isn’t a bad word
28
Wednesday, June 30, 2010
Know your Distributed MemesDistribute it. Tolerate it. Tune it. Scale it!
Distribute it• Divide & conquer; parallelize work• Sharding• Amortize work / pre-compute values
Tolerate it• Tolerate, expect and plan for small failures• Idempotency, idempotency
Tune it• Memcache• Denormalization isn’t a bad word
Scale it• Statelessness; retries• Just scale it up
28
Wednesday, June 30, 2010
How not to succeed…
29
Wednesday, June 30, 2010
How not to succeed…
Begin
29
Wednesday, June 30, 2010
How not to succeed…
Plan PartyBegin
29
Wednesday, June 30, 2010
Send Invitations
How not to succeed…
Plan PartyBegin
29
Wednesday, June 30, 2010
Can EVERYONE
Come?
Send Invitations
How not to succeed…
Plan PartyBegin
29
Wednesday, June 30, 2010
True Have party
End
Can EVERYONE
Come?
Send Invitations
How not to succeed…
Plan PartyBegin
29
Wednesday, June 30, 2010
False
Just one person says
“No”
True Have party
End
Can EVERYONE
Come?
Send Invitations
How not to succeed…
Plan PartyBegin
29
Wednesday, June 30, 2010
False
Just one person says
“No”
EndCancel party
True Have party
End
Can EVERYONE
Come?
Send Invitations
How not to succeed…
Plan PartyBegin
29
Wednesday, June 30, 2010
Rocket science“Monolithic Computing” era
30
Wednesday, June 30, 2010
Rocket science“Monolithic Computing” era
Hot spare“Just in case”
30
Wednesday, June 30, 2010
Distributed Meme:Tolerate, expect and design for failure
MTFB: O(Years)
31
Wednesday, June 30, 2010
Distributed Meme:Tolerate, expect and design for failure
MTFB: O(Years)
31
Wednesday, June 30, 2010
Distributed Meme:Tolerate, expect and design for failure
MTFB: O(Months)
MTFB: O(Years)
31
Wednesday, June 30, 2010
Distributed Meme:Tolerate, expect and design for failure
MTFB: O(Months)
MTFB: O(Years)
31
Wednesday, June 30, 2010
Distributed Meme:Tolerate, expect and design for failure
MTFB: O(Months)
MTFB: O(Years)
MTFB: O(Minutes/Seconds)
31
Wednesday, June 30, 2010
Distributed ComputingAnti-Pattern: Batch processing
32
Wednesday, June 30, 2010
Distributed ComputingAnti-Pattern: Batch processing
32
Wednesday, June 30, 2010
Distributed ComputingAnti-Pattern: Batch processing
32
Wednesday, June 30, 2010
Distributed ComputingAnti-Pattern: Batch processing
32
Wednesday, June 30, 2010
Distributed ComputingAnti-Pattern: Batch processing
32
Wednesday, June 30, 2010
Distributed ComputingAnti-Pattern: Batch processing
32
Wednesday, June 30, 2010
Distributed ComputingAnti-Pattern: Batch processing
32
Wednesday, June 30, 2010
Distributed Meme:Divide and Conquer
33
Wednesday, June 30, 2010
Distributed Meme:Divide and Conquer
X33
Wednesday, June 30, 2010
Distributed Meme:Divide and Conquer
XRetry
33
Wednesday, June 30, 2010
Vertical scalability
34
Wednesday, June 30, 2010
Vertical scalability
34
Wednesday, June 30, 2010
Vertical scalability
34
Wednesday, June 30, 2010
Vertical scalability
34
Wednesday, June 30, 2010
Horizontal Scalability
Vertical scalability
34
Wednesday, June 30, 2010
Horizontal Scalability
Vertical scalability
34
Wednesday, June 30, 2010
Horizontal Scalability
Just scale it up
Vertical scalability
34
Wednesday, June 30, 2010
Vertical scalability
35
Wednesday, June 30, 2010
Vertical scalability
Horizontal scalability
Tolerate small failures35
Wednesday, June 30, 2010
Vertical scalability
Horizontal scalability
Tolerate small failures35
Wednesday, June 30, 2010
Tolerate, expect and plan for small rate of failures
Wednesday, June 30, 2010
Tolerate, expect and plan for small rate of failures
Wednesday, June 30, 2010
Tolerate, expect and plan for small rate of failures
Wednesday, June 30, 2010
Tolerate, expect and plan for small rate of failures
Wednesday, June 30, 2010
Tolerate, expect and plan for small rate of failures
Wednesday, June 30, 2010
Tolerate, expect and plan for small rate of failures
Wednesday, June 30, 2010
Distributed web hosting platform
Great for enterprise web apps•Request based, data backed
Parallel processingScales automaticallyAvailable globallyConfiguration freeBuilt-in DoS protections
37
Wednesday, June 30, 2010
Distributed datastore
Arbitrary horizontal scalingParallel processingScales to 'Internet scale'Predictable query performance•Independent of number of entities
No deadlocksNo global schema
38
Wednesday, June 30, 2010
Distributed Meme: Divide & ConquerSpecialized services
BlobstoreImages
Mail XMPP Task Queue
Memcache Datastore URL Fetch
User Service
39
Wednesday, June 30, 2010
Wrap up
40
Wednesday, June 30, 2010
Two years in review
41
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, AppstatsMar 2010 Read policies, IPv6May 2010 App Engine for Business
Wednesday, June 30, 2010
An evolving platform
42
Wednesday, June 30, 2010
App Engine Roadmap
43
SSL for your domainBackground servers
Reserved instances
Control datastore availability vs. latency trade-offs
Mapping operations across datasetsDatastore dump and restore facility
Raise request/response size limits for some APIs
Improved monitoring/alerting
Channel APIBuilt-in support for OAuth & OpenID
Wednesday, June 30, 2010
Acknowledgement
Thanks to many member of the App Engine team for their slides, especially Fred Sauer and Chris Schalk
44
Wednesday, June 30, 2010
Thank you
Read morehttp://code.google.com/appengine/
Contact infoPatrick ChanezonDeveloper [email protected]://twitter.com/chanezon
Questions?
45
Wednesday, June 30, 2010