Entrepreneurship Tips With HTML5

If you like this presentation – show it...

Slide 0

Slide 1

Entrepreneurship, HTML5 and Google Cloud Platform

Slide 2

Ido Green Developer Advocate http://plus.ly/greenido greenido.wordpress.com

Slide 3


Slide 4

Entrepreneur A person who organizes and operates a business or businesses, taking on greater than normal financial risks in order to do so. #io12

Slide 5

How To Move The Needle? ● Focus - Focus - Focus ● Passion ● Execution ● Plan and have clear strategy ● Find good/great advisors and be willing to listen

Slide 6

Keep in mind ● Companies are doing things in an efficient way. ● Technology is (almost) comodety ● Competition is everywhere ● Real need / Nice to have

Slide 7

Google Cloud Platform

Slide 8

Why Google Cloud? Improve Business Focus Concentrate on your core mission Cost Savings Save on capital and operational costs Powerful Infrastructure Leverage massive, scalable computing power

Slide 9

Why Google Cloud? Improve Business Focus Concentrate on your core mission "If we didn't have Google App Engine, we’d be spending a lot more time figuring out server setup and working on routers. Our ability to focus on the actual product is the benefit of Google App Engine.” – Ben Kamens, Lead Developer, Khan Academy ● Costly and complex to plan, manage infrastructure ● Stay focused on your core business ● Improve developer efficiency, time-tomarket

Slide 10

Why Google Cloud? Cost Savings Save on capital, operational, personnel costs Offload software, hardware, engineering costs "Rather than building your own infrastructure and taking time and resources away from your company, you can use Google’s infrastructure and know that it’s scalable and secure.” – Brigitte Ganter, Director of Product, DNAnexus No up-front expenditure Pay for actual usage, not peak or potential capacity

Slide 11

Why Google Cloud? Powerful Infrastructure Leverage massive, scalable computing Tried and true global infrastructure “Using Google App Engine and Google Cloud SQL make our applications go live in half the time and have provided us with hasslefree control over all processes.” – Yogesh Agarwal, CEO, Daffodil Software Leverage Google's innovation Scalable, reliable and secure with an Enterprise SLA

Slide 12

Integrated Platform Google Cloud Platform: Your Applications an integrated collection of infrastructure, platform and data services. AppEngine Build and run your applications, store and analyze your data. Premium APIs Leveraging Google's Platform Storage & Database Global Data Centre & Comms Network Google Confidential and Proprietary

Slide 13

Hosting Challenges Volatile Demand Fluctuation Inefficiency Steady Demand Growth Traffic Demand Server Capacity Traffic Demand Server Capacity Downtime Inefficiency With App Engine only pay for what you use With App Engine scale with efficiency and reliability

Slide 14

Product Summary Google App Engine Powerful, scalable application development and execution environment. Google Cloud Storage Store, access, and manage your data. Google Big Query Analyze terabytes of data in seconds. Google Confidential and Proprietary

Slide 15

Product Summary Google Cloud SQL Familiar relational database, with cloud benefits. Google Translate API Reach global audience with zero effort Google Prediction API Understand and leverage your data for business insight Google Confidential and Proprietary

Slide 16

Google App Engine Google Confidential and Proprietary

Slide 17

Full Development Platform Hosting APIs App Engine helps reduce development time and speeds time to market. ● Easy to build ● Easy to manage Tools ● Easy to scale Google Confidential and Proprietary

Slide 18

Diverse Use Cases Website Hosting ● ● ● Reach global audiences with ease Efficiently handle heavy, variable, or unpredictable load Serve dynamic content based on business logic Enterprise Applications ● ● ● Intranet, extranet applications Integrate with existing investments Scale geographically on demand with no extra effort

Slide 19

App Engine Model Three Execution Environments Diversity to meet all application development needs Front-end short-lived request handling (30s limit) Task queues Background tasks and scheduled events (10 min limit) Back-end Long-running computation (no time limits, more resource allocation)

Slide 20

Rich APIs App Engine APIs ● ● ● ● ● Datastore: schemaless object store (high replication) Cloud SQL: fully managed SQL database Blobstore: large object blob storage Memcache: distributed in-memory data cache Multitenancy: segregate data to serve multiple customers with one application ● ● ● ● URL Fetch: high-performance http/https requests XMPP: connect to chat services Channel API: persistent connections with other applications Mail: send -- and receive -- email ● ● Users API: integrate with Google Accounts -- including enterprise Google Apps OAuth: industry standard authentication ... and more!

Slide 21

Rich APIs ● And other Google APIs ○ ○ ○ ● Platform: storage, SQL, language, prediction... Apps: email, calendaring, productivity and collaboration for your enterprise Maps: rich geo-location data and mapping And your own APIs ○ ○ Connect to any web service Access your existing investments using the Secure Data Connector

Slide 22

Google Cloud Storage Google Confidential and Proprietary

Slide 23

Storage Challenges Purchase Maintain Patch Fix Replication? Location? Disaster recovery? Performance?

Slide 24

Google Cloud Storage Speed Reliability Scalability Global Network World-Class Reliability Unlimited Objects Lowest latency for rapid access 99.9% SLA There is no limit to # objects Data Center Efficiency Availability of your Data Big Object Size Maximal service at critical need Read-Your-Write-Consistency Up to 5 Terabytes per object Uses Content Delivery & File Sharing Active Archiving Application Storage Computation Google Confidential and Proprietary

Slide 25

Data Collaboration Control and Share Data ● User and Group ACLs ● Authenticated and anonymous browser-based downloads ● OAuth 2.0 • Widely adopted open standard • Authorize web apps without sharing login/password • Authorize different apps with separate tokens • No request signing needed ● Share with anyone, anywhere Google Confidential and Proprietary

Slide 26

Global, Scalable Infrastructure Less is more Google Confidential and Proprietary

Slide 27

Use Cases Value Time to Adoption Analyze terabytes of data with just a click of a button Google Confidential and Proprietary

Slide 28

Google Big Query Google Confidential and Proprietary

Slide 29

Instant Data Analysis “a few seconds” Google BigQuery Billions of rows of data Interactive Tools Spam Trends Detection Analysis Web Dashboards Google Confidential and Proprietary Network Optimization

Slide 30

Google Premium APIs Google Confidential and Proprietary

Slide 31

Google Prediction API Classify, predict, and find patterns in data Input: “No hay mal que por bien no venga” Inputs Google Prediction API Output: “Spanish” Predictive Model Output Google Confidential and Proprietary

Slide 32

Google Prediction API Machine learning in 4 simple steps: 1. Create training data 2. Upload data 3. Run Prediction API against data 4. Issue prediction queries ○ Optionally, send additional data

Slide 33

Modern Web Applications

Slide 34

Modern Web Applications ● Self Contained & Functional ● "Offline First" ● Client Side Architecture & MVC Frameworks ● Device Aware / 60fps #io12

Slide 35

http://goo.gl/5cJwH #io12

Slide 36

http://goo.gl/Y6AG1 #io12

Slide 37

Client Side Frameworks ● Ember.js - Don't waste time making trivial choices ● Backbone.js - Gives structure to web applications by providing models with binding, collections and views ● Angular.js - AngularJS lets you extend HTML vocabulary for your application More: addyosmani.github.com/todomvc/ #io12

Slide 38

Offline - Why? ● Airplane, road trip, deserted island ● Flaky connections (e.g. cafes, car) ● Better performance ● Consolidates the concept of permanent app you will have always available * We will use: Lawnchair for our demo. #io12

Slide 39

Offline - How? ● Storing assets: AppCache ● Storing data: localStorage, IndexedDB, File API. ● Offline first: ○ Pretend that there's no internet connection ○ Implement a sync layer that works only when online. navigator.onLine & window.(ononline|onoffline) #io12

Slide 40

Do More For Your Users Web Intents is a framework for client-side service discovery and inter-application communication #io12

Slide 41

Google Chrome Frame Chrome Frame is an open source plug-in that seamlessly brings Google Chrome's open web technologies and speedy JavaScript engine to IE <meta http-equiv="X-UA-Compatible" content="chrome=1"> X-UA-Compatible: chrome=1 #io12

Slide 42

Modern Web Apps and The Server Conundrum All modern web apps have to deal with a "home" server ○ Offload Computation ○ Sharing and Collaboration But who wants to run a server ○ Spikey traffic ○ Client Server communication ○ Serialization ○ OAuth Dance #io12

Slide 43

App engine to the rescue ● ● Easy to run and manage ● Easy to scale ● Free to get started, pay for what you use ● #io12 Make it easy to build Not just for web serving, but also data persistence

Slide 44

u Tr ed st Google Cloud Endpoints: APIs for Mobile and Web Backends Made Easy! st Te er Storage Endpoints (DataStore, SQL, Drive, etc) Business Logic Web APIs

Slide 45

Demo https://github.com/greenido/backbone-bira

Slide 46

Google Cloud Endpoints for Beer! Beer Rating and Review Application Storage Endpoints NoSql Datastore Business Logic Access Control, Sort, Filter Client UI for managing Beers

Slide 47

Demo! Beers On!

Slide 48

Load Test Results - From laptop wifi % ab -n9000 -c100 http://birra-io2012.appspot.com/ Percentage of the requests served within a certain time (ms) 50% 263 low be 66% 321 sts 75% 370 que e 80% 390 f r o sec 0% 90% 449 2 a 1/ > 9 95% 536 98% 649 99% 715 100% 3858 (longest request)

Slide 49

Load Test Results - From Compute Engine % ab -n1000000 -c10 http://birra-io2012.appspot.com/ Percentage of the requests served within a certain time (ms) 50% 6 ms 66% 6 n 7 tha 75% 6 less 80% 6 95% 90% 7 > 95% 7 98% 11 99% 17 100% 3019 (longest request)

Slide 50

> 6k QPS!! Screen shot of admin console

Slide 51

Key Take Aways Building modern applications with HTML5 and App Engine AppEngine makes for easy deployment at scale Build interactivity by leveraging Cloud Endpoints Use JavaScript Client Library Exploit Modern Browser Features: Offline Geo Web Intents #io12 ○ ○ ○

Slide 52

Questions? Ido Green Developer Relations Google Chrome Platform plus.ly/greenido Access: http://endpoints-trusted-tester.appspot.com App:: http://birra-io2012.appspot.com/ Code: https://github.com/greenido/ Slides: ido-green.appspot.com

Slide 53

Thank you!

Slide 54

Credits ● Offline - http://www.flickr.com/photos/11384441@N06/5102925749/ ● Road - http://www.flickr.com/photos/95572727@N00/4848088053/ #io12

Slide 55