google cloud lightning talk

27
Google Cloud Lightning Talk Magnus Jern, CEO London 8 October 2013

Upload: golden-gekko-a-dmi-company

Post on 15-Jul-2015

21.620 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Google Cloud Lightning Talk

Google Cloud Lightning Talk Magnus Jern, CEOLondon 8 October 2013

Page 2: Google Cloud Lightning Talk

Content !   About myself and Golden Gekko !   Why GAE? !   Four case studies !   Forecasting GAE cost !   Summary

2

Page 3: Google Cloud Lightning Talk

Who am I?

!   Programmer since childhood

!   Bulletin Boards

!   University

! Framfab

! Driftbolaget

! Blokks

!   Vodafone

!   Golden Gekko

! NComVA

Software engineer, entrepreneur, CEO and SVP

Page 4: Google Cloud Lightning Talk

4

200 brands and agency clients. 160+ people that love and breathe mobile technology.

Page 5: Google Cloud Lightning Talk

5

Part of DMI Group

Key Partnerships

Awards

Global Footprint ..............................................................

•  Bethesda, MD (HQ) •  New York, NY •  Barcelona, Spain •  London, United Kingdom •  Pune, India •  Washington, DC

Growth ..............................................................

•  $250 Million Revenue •  1,600 Employees •  Inc 500/5000 Six years in

a row •  Top 5 Enterprise Mobility

provider in the world

Certifications ..............................................................

•  ISO 9001: 2008 Certified •  ISO 27001: 2005 Certified •  ISO 20000-1: 2011

Certified •  CMMI Level 3 Appraised:

Development and Services

Page 6: Google Cloud Lightning Talk

6

Local Offers, Product and store locator incl front-end apps, middleware and backoffice Strategy, development framework and long term solution for Anheuser-Busch InBev, managing all mobile services across 200 brands in 50 countries. Sales enterprise solution powering one of UK’s most recognizable food brands. All mobile services for 6 airports across the UK and Scotland, including London’s Heathrow. Mobile media solution providing intelligent pespectives on news

Used Google App Engine since 2010 Other Examples .............................................................................................................. •  Telenor SoBazar

Social mCommerce platform mixing online and instore experiences

•  NokadiPutting all your loyalty cards on a mobile device.

•  Unilever Smartswap Intelligent recommendations of healthier and better products based on shopping

•  TwoForOnePreviously a paper based coupon book company, that has now gone mobile.

•  OvivoFree mobile MVNO in the UK

•  Yellow PagesPowering the Yellow Pages in 8 countries

•  O2 HealthyEncouraging walking, biking and more through social

Page 7: Google Cloud Lightning Talk

Helps avoid common pitfalls incl. file system, time outs and threading

Page 8: Google Cloud Lightning Talk

8

Runtime Helps avoid common pitfalls incl. file system, time outs and threading

?

Page 9: Google Cloud Lightning Talk

9

Boot-strapping Up and running in hours.

?

Page 10: Google Cloud Lightning Talk

Consolidation Several years of dev created fragmented environment and hosting approach.

?

Page 11: Google Cloud Lightning Talk

Scale Small team with BIG ambitions.

Page 12: Google Cloud Lightning Talk

Reliability High availability solution.

?

Page 13: Google Cloud Lightning Talk

Operations Managing monitoring and maintenance

?

Page 14: Google Cloud Lightning Talk

14

Spring

Mardao

GAE

Base Services

Component Library Our d

ev st

ack

Page 15: Google Cloud Lightning Talk

15

For build and project management.

For continuous integration.

For storing and distributing built SW.

For monitoring of 24/7 operations.

Toolbox

Page 16: Google Cloud Lightning Talk

16

1 Pre-trip

2 At the airport

3 On-board

4 At the destination

5 Post-trip

§  Business critical §  Peak traffic with

weather, strikes, etc

Heathrow Airport

Page 17: Google Cloud Lightning Talk

!   BAA will update status file for each airport once every 5 minutes using FTP

!   The Ingestion Daemon get all the flights and the related information

!   Updated flights information is send to the Status Service

!   For each flight received from the ingestion Daemon, If the flight already exists it will merge the existing status with the new status, if it is a new status it will added

!   The status service request all arrival and departure flights for a specific airport from FlightStats during the next 14 hours (one single request that can be slow and contain a lot of data)

!   For each of the received statues (from BAA) the service try to find the same flight in the response from FlightStats. If it is found the service will, first update the status with the information from FlightStats and then If the status from FlightStats indicate that the flight have coflights this information will be added to the status.

!   Updated status are stored to be usedfor the next 5 min

ESB Integration - Overview"

FlightInfo Service

Status Service

Controllers

Apps

BAA CSV File

Ingestion Daemon

1 per airport

Persistence Manager

1

2

1 2

3

3

4

5

6

7

5

6 7

4

17

Page 18: Google Cloud Lightning Talk

18

Track180

§  The “Flipboard” of getting different perspectives §  Using GAE as CMS and content delivery platform

Page 19: Google Cloud Lightning Talk

19

One of UK’s most recognizable brands who’s retail team is responsible for visiting 20.000 stores across the UK.

§  Business critical Enterprise solution

Page 20: Google Cloud Lightning Talk

20

Architecture Overview

Page 21: Google Cloud Lightning Talk

21

Datastore Diagram

Page 22: Google Cloud Lightning Talk

22

§  Scale to handle between 10-100M active users during World Cup §  Peak bursts of 5-30 min during football game

Budweiser – Man of The Match

Page 23: Google Cloud Lightning Talk

How to calculate GAE cost?

1.  Type of service 2.  System Design 3.  Supporting Services 4.  Usage

23

Page 24: Google Cloud Lightning Talk

Summary 1

!   Super fast bootstrapping and template projects - developer can get up and running in a few hours.

!   Run-time will support and lead developers into good habits, especially dealing with resources (files, requests etc).

!   Small operations team can mange a large number of services - everything in one place.

!   Auto-scaling is nice and important BUT less then the items above.

GAE is a fantastic service for complex, high availability and scalable service for demanding customers

24

Page 25: Google Cloud Lightning Talk

Summary 2

!   Hire or grow an internal datastore champion that can police/help projects.

!   Invest in sharing best practices, internal tech talks/workshops to spread the knowledge.

!   Denormalise, duplicate properties between entities to avoid an extra read, always use queries that run a list of results, never request single result on a loop. Rule of thumb is to do max 1 read per request.

!   Memcache is your best friend, use it well.

Good understanding and strategy for using the datastore is fundamental for achieving a good service

25

Page 26: Google Cloud Lightning Talk

26

Contributors

Contact me on [email protected] if you have more questions.

Mattias Levin, Head of Production Ola Sandstrom, CTO Mardao - database mapper and domain generator that hides many of the complexities of the datastore and provide automatic cachinghttps://github.com/sosandstrom/mardao Open services - A set of base services for rapid development of web services on GAE and Spring. Take a look at the CRUD controller, combine it with Mardao and and it will reduce your boilerplate coding with 80-90%, its awesomehttps://github.com/sosandstrom/open-server Gaelic - a light weight web service framework tailored for GAE, supporting dynamic scaling by offering support fast startup times (in the range of seconds). Will replace Spring in future projects https://github.com/sosandstrom/gaelic Ricotta - A neat service for managing a projects translations, no more Excel files. Let you customer translate token online and use Maven to pull down your localised resource at build time. https://github.com/sosandstrom/ricotta And many more https://github.com/sosandstromhttps://github.com/mattiaslevin

Page 27: Google Cloud Lightning Talk

Thank You