Using Google Cloud Infrastructure for twindly

Preview:

Citation preview

Google Cloud Infrastructurefor

twindly

ASTRID PARAMITA MOCHTARRAMI. ABIYASA SUHARDI

Saturday, November 22, 14

BEFORE WE START

Saturday, November 22, 14

WHO ARE YOU?

WHY ARE YOU HERE?

Saturday, November 22, 14

THE DREAM

Saturday, November 22, 14

twindly is a web application for beauty geeks

to find their beauty twins anddiscover products and looks

Saturday, November 22, 14

FINDING YOUR BEAUTY TWINS

Photography by Gianni Cumbo (http://www.flickr.com/photos/gianni_cumbo)

Saturday, November 22, 14

SOCIAL:connects geek to geek

Saturday, November 22, 14

geek to productsSaturday, November 22, 14

RECOMMENDATIONSaturday, November 22, 14

WHICH ONE SUITS YOU BEST?

Saturday, November 22, 14

WHO ARE WE?

Saturday, November 22, 14

ASTRIDFounder + Dev 1

ABICo-Founder + Dev 2

Saturday, November 22, 14

Saturday, November 22, 14

TAKING OFF

Saturday, November 22, 14

PRE-CLOUD

Saturday, November 22, 14

Pre-Cloud > LAMP Stack

Saturday, November 22, 14

(Hopefully) quicker to prototype

Familiar stack - LAMP(+)

Pre-Cloud > LAMP Stack

Saturday, November 22, 14

Recommendation implementation

Problems in scaling(-)

Pre-Cloud > LAMP Stack

Saturday, November 22, 14

Maybe Node.JS?

• (+) Comfortable in node.js

• (-) HeroKu didn’t support Asian region

Saturday, November 22, 14

GOOGLE CLOUD

Saturday, November 22, 14

NO DEVOPS NO PROBLEM?

Saturday, November 22, 14

Google AppEngine

• App Engine (Platform as a Service)

• Supports Java, PHP, Python, Go

• Go !!

Saturday, November 22, 14

AppEngine + Go

• Backend: AppEngine, Go, BeeGo

• Frontend: AngularJS

• Build tools: Grunt, LESS, Twitter Bootstrap

• Database: Google Datastore

Saturday, November 22, 14

Saturday, November 22, 14

Google Startup Package

• For Small Startups

• $20K credits for 1 year for Google Cloud Platform

• Exploring Google Compute Engine

Saturday, November 22, 14

Google Compute Engine + Node.JS

• Go is really nice but we're more productive in Node.js

• Full stack development using JavaScript, sharing codes between server, frontend client, and build tools.

• More libraries (web server, database drivers, frontend)

Saturday, November 22, 14

Google Compute Engine + Node.JS

• (+) More control: install anything, click-to-deploy

• (-) Setting up things manually: scaling, firewall, deployment

• Back then, we didn’t have Managed VM

Saturday, November 22, 14

Current stack

• Backend: Google Compute Engine, Node.js, KrakenJS

• Frontend: Backbone, Marionette

• Build tools: Grunt, LESS, Twitter Bootstrap, Browserify

• Google Datastore and Google Cloud Storage

• GraphDB through Google Compute Engine

Saturday, November 22, 14

Saturday, November 22, 14

RECOMMENDATIONSaturday, November 22, 14

Recommendation ≈ Big Data?

Saturday, November 22, 14

•Google BigQuery: not suitable for twindly’s use case

•Google Prediction API: maybe suitable, for later date

•Apache Mahout: maybe suitable, for later date

Saturday, November 22, 14

Saturday, November 22, 14

SQLNoSQL

GraphDB+ Gremlin

Saturday, November 22, 14

GraphDB : OrientDB | Neo4j

•Limited available library

•Back to node.js

•OrientDB + Docker on Google Compute Engine

Saturday, November 22, 14

CURRENT TWINDLY STACK

Saturday, November 22, 14

Saturday, November 22, 14

WHAT’S NEXT?Saturday, November 22, 14

•Polymer

•Managed VM and Node.js

•Google Container Engine

Saturday, November 22, 14

QUESTIONS

?

Saturday, November 22, 14

Stay in touch :)http://www.twindly.com

Astrid Paramita Mochtarram | @astridparamita

I. Abiyasa Suhardi | @abiyasasuhardi

Saturday, November 22, 14

Recommended