Tops for Lean Startup

19
TIPS FOR LEAN STARTUP How we use google cloud platform to achieve cost efficiency David Chen @ TAGTOO

Transcript of Tops for Lean Startup

Page 1: Tops for Lean Startup

TIPS FOR LEAN STARTUP How we use google cloud platform to achieve cost efficiency

David Chen @ TAGTOO

Page 2: Tops for Lean Startup

TAGTOO INTRODUCTION

• appWorks first batch.

• Focus on providing EC advertisement solution

• Built Modern Ad Service to Taiwan Market

• Real Time Bidding (RTB)

• Demand Side Platform (DSP)

• http://www.tagtoo.com.tw/

Page 3: Tops for Lean Startup

TAGTOO SNAPSHOT

Page 4: Tops for Lean Startup

LEAN STARTUP

Page 5: Tops for Lean Startup
Page 7: Tops for Lean Startup
Page 8: Tops for Lean Startup

WE LOVE GOOGLE & PYTHON

• App Engine • Handle (huge) Requests

• Compute Engine • Web Crawler (Scrapy)

• Cloud SQL • Dashboard (django admin)

• Big Query • Log Analysis

App Engine

Compute

Cloud SQL

Big Query

MapReduce

Datastore

Blobstore

Page 9: Tops for Lean Startup
Page 10: Tops for Lean Startup

PRICE

• AppEngine Not free anymore, but still great for startup:

• 28hr free quota for Frontend Instance Hour (class F1)

• Serve 7 * 60 * 60 * 28 ~ 0.7 millions requests for free

• 9hr free quota for Backend Instance Hour

• Discount instance hour (37.5% OFF)

• Charged by month (start at 2013~)

Page 11: Tops for Lean Startup

THANK YOU

Page 12: Tops for Lean Startup

GOOGLE APP ENGINE • Google Cloud Platform

!

• Google App Engine (PaaS)

• “Google Quality”

• Charged by Instance Hour + rpc API

• Easy to Scale, Force to Scale

• Service, Learn how to use them

• taskqueue, memcache, blobstore, CloudEnd...

Page 13: Tops for Lean Startup

GOOGLE APP ENGINE ISSUES

• Platform update roadmap

• https://developers.google.com/appengine/docs/features#Roadmap_Features

• Document (and sample)

• EX: mapreduce DatastoreInputReader

• https://developers.google.com/appengine/docs/python/dataprocessing/readers_writers#DatastoreInputReader

• http://code.google.com/p/appengine-mapreduce/source/browse/trunk/python/src/mapreduce/input_readers.py

Page 14: Tops for Lean Startup

WHERE TO FIND HELP?

• Issue Tracking • http://code.google.com/p/googleappengine/issues/list

• Source Code • http://code.google.com/p/appengine-mapreduce/

• Stackoverflow • Nick Johnson • #lucemia

Page 15: Tops for Lean Startup

WANTED!!• Position:

• Python Developer • Frontend Developer

• CSS, jQuery, HTML • Website Designer

• Soft Skill: • English reading • Problem solving

• mailto: [email protected]

Page 16: Tops for Lean Startup

NEXT MONTH

• How to use google app engine easier/cheaper/smarter

Page 17: Tops for Lean Startup

COMPILE JS WITH DOT.PY

• doT.js • the fastest + concise js template engine • http://olado.github.com/doT/index.html • work with node.js

• doT.py • the python implementation of dot.js • Template > Js Function

Page 18: Tops for Lean Startup

EXAMPLE OF DOT.PY <input id=”name”> {{=it.value}} </input> <input id=”address”> {{=it.address}} </input>

x.thtml

<script type="text/javascript" src="doT.js"></script><script type=”text/javascript”>$.ajax(‘x.thtml’, function(data) { var tempfn = doT.template(data); $(“#form”)[0].innerHTML = tempfn(value);}); </script>

page.html

<html> <div id=”form”> </div> </html>

!!

page.html

Page 19: Tops for Lean Startup

EXAMPLE OF DOT.PY <input id=”name”> {{=it.value}} </input> <input id=”address”> {{=it.address}} </input>

x.thtml

<script type=‘text/javascript’> var pagefn = {{ js_template(“x.thtml”) }}; document.body.innerHTML = pagefn(value); </script> !

page.html

<html> <div id=”form”> </div> </html>

!!

page.htmlfunction anonymous(it) { var out='<input id=”name”> '+(it.value)+'</input><input id=”address”> '+(it.address)+'</input>';return out; }