Spring School Cloud Computing, IoT, and Big Data

[email protected] Launching and growing a startup on the Cloud Platform

Jerome Mouton - CTO at SnapEngage

Google Developer Expert for the

Back to early 2008... Spring 2008 Early 2009 Mid 2009 September 2009

SDK / Deploy Auto-scaling Connectivity

+ capacity scales to infinity + data replicated + copies geographically distributed

- eventual consistency - performance - cost

+ Easy auth. AppEngine-CloudStorage

+ Web serving: https://storage.googleapis.com/{bucket}/{file}

- Need a real CDN GcsFilename filename = new GcsFilename("mybucket", "myfile.txt");

GcsFileOptions options = new GcsFileOptions.Builder() .mimeType(...).acl(...).cacheControl(...).build;

GcsService fs = GcsServiceFactory.createGcsService(); GcsOutputChannel wc = fs.createOrReplace(filename, opts); wc.waitForOutstandingWrites(); wc.write(ByteBuffer.wrap(bytes)); wc.close();

@Api(name = "myApi", namespace = @ApiNamespace(ownerDomain = "awesome.com", ownerName = "GDG"), version = "v1", clientIds = {...} ) public class YourFirstAPI { @ApiMethod(name = "sayHi") public String sayHi(@Named("name") String name) { return "Hi, " + name; } }

SnapEngage Analytics v1

AppEngine DataStore cron for counting visualization in HTML

+ scalability - not extensible

circa 2010 SnapEngage Analytics v2

ReportGrid / Precog - haproxy, kafka, zookeeper - mongoDB + shard file DB - svg + phantomJS

+ very powerful - complex, fragile

circa 2014 SnapEngage Analytics v3

Requirements: - hosted (PaaS) - supporting 2x the current client load - data visualization - data export - multi-tenancy - reasonably priced SnapEngage Analytics v3

BI: Tableau, Jaspersoft, Pentaho, Bime, etc. Cloud Analytics: Keen.io

Data: BigQuery, CloudSQL, Redshift Visualization: D3.js, Highcharts, Raphael, etc. SnapEngage Analytics v3

BI: Tableau, Jaspersoft, Pentaho, Bime, etc. Cloud Analytics: Keen.io

Data: BigQuery, CloudSQL, Redshift Visualization: D3.js, Highcharts, Raphael, etc. SnapEngage Analytics v3

BI: Tableau, Jaspersoft, Pentaho, Bime, etc. Cloud Analytics: Keen.io

Data: BigQuery, CloudSQL, Redshift Visualization: D3.js, Highcharts, Raphael, etc.

[email protected]