SlideShare ist ein Scribd-Unternehmen logo
1 von 71
+FrancescoMarchitelli85
Google Developer Group Bari
Francesco Marchitelli
 Generally, we talk about cloud computing when
taking applications and running them on other
infrastructure than your own.
 As a developer, think of cloud computing as a service
that provides a resource that your application needs
to work (this resource may be a platform, an
infrastructure (i.e. servers), a framework).
What is Cloud?
Cloud Industry Service Levels
 Google Cloud Platform enables developers to build, test
and deploy applications on Google’s highly-scalable and
reliable infrastructure. Choose from computing, storage
and application services for your web, mobile and backend
solutions.
 Google Cloud Platform is a set of modular cloud-based
services that allow you to create anything from simple
websites to complex applications.
Introduction
Google Cloud Platform Services
Why Google Cloud Platform ?
Build on the same infrastructure that allows Google to
return billions of search results in milliseconds, serve 6
billion hours of YouTube video per month and provide
storage for 425 million Gmail users.
➔ Global Network
➔ Redundancy
➔ Innovative Infrastructure
#1 Run on Google’s Infrastructure
Rapidly develop, deploy and iterate your applications
without worrying about system administration. Google
manages your application, database and storage servers so
you don’t have to.
➔ Managed services
➔ Developer Tools and SDKs
➔ Console and Administration
#2 Focus on your product
 Virtual machines. Managed platform. Blob storage. Block
storage. NoSQL datastore. MySQL database. Big Data
analytics.
 Google Cloud Platform has all the services your application
architecture needs.
➔ Compute
➔ Storage
➔ Services
#3 Mix and Match Services
Applications hosted on Cloud Platform can automatically scale up
to handle the most demanding workloads and scale down when
traffic subsides. You pay only for what you use.
Scale-up: Cloud Platform is designed to scale like Google’s
own products, even when you experience a huge traffic
spike. Managed services such as App Engine or Cloud
Datastore give you auto-scaling that enables your application
to grow with your users.
Scale-down: Just as Cloud Platform allows you to scale-up,
managed services also scale down. You don’t pay for
computing resources that you don’t need.
#4 Scale to millions of users
Google’s compute infrastructure gives you consistent CPU,
memory and disk performance. The network and edge cache
serve responses rapidly to your users across the world.
➔ CPU, Memory and Disk
➔ Global Network
➔ Transparent maintenance
#5 Performance you can count on
With a worldwide community of users, partner ecosystem
and premium support packages, Google provides a full
range of resources to help you get started and grow.
#6 Get the support you need
Hosting + Compute
 Run your applications on a fully-managed Platform-as-a-
Service (PaaS) using built-in services that make you more
productive.
 Use App Engine, when you just want to focus on your
code and not worry about patching or maintenance.
App Engine
 Popular languages and frameworks
 Focus on your code
 Multiple storage options
 Powerful built-in services
 Familiar development tools
 Deploy at Google scale
App Engine Features
Run large-scale workloads on virtual machines hosted on
Google's infrastructure. Choose a VM that fits your needs and
gain the performance of Google’s worldwide fiber network.
Compute Engine
 High-performance virtual machines
 Powered by Google’s global network
 (Really) Pay for what you use
 Global load balancing
 Fast and easy provisioning
 Compliance and security
Compute Engine Features
 The App Engine offers frequently standard Java API's and
App Engine specific API's for the same task. If you want to
be able to port your application from the AppEngine to
other webcontainers, e.g. Tomcat or Jetty, you should
only use Java standard API.
Google App Engine for Java
 App Engine uses the Jetty servlet container to host
applications and supports the Java Servlet API. It provides
access to databases via Java Data Objects (JDO) and
the Java Persistence API (JPA). In the background App
Engine uses Google Bigtable as the distributed storage
system for persisting application data.
Google App Engine for Java
 Google provides Memcache as a caching mechanism.
Developers who want to code against the standard Java
API can use the JCache implementation (based on JSR
107).
Google App Engine for Java
 Google App Engine supports the creation of several
version of your application. In the Admin Console you can
select which version should be active. Your active
application "your-name" will be accessible via the URL
"http://your-name.appspot.com". Each version can also
be accessed for example to test a new version. The
version are accessable via
"http://versionnumber.latest.your-name.appspot.com"
where version is for example "2" and "latest" is a fixed
string.
Google App Engine for Java
 You cannot use Threads or frameworks which uses Threads.
You can also not write to the filesystem and only read files
which are part of your application. Certain "java.lang.System"
actions, e.g. gc() or exit() will do nothing. You can not call JNI
code. Reflection is possible for your own classes and standard
Java classes but your cannot use reflection to access other
classes outside your application.
 A servlet needs also to reply within 30 seconds otherwise a
"com.google.apphosting.api.DeadlineExceededException" is
thrown.
Google App Engine for Java
 Google offers an Eclipse plug-in that provides support for the
development with the Google App Engine as well as GWT
development
 Google lists the currently supported version in its Google Plug-
in for Eclipse page.
 Use Eclipse update manager to install the tools in the version
for your Eclipse IDE.
 The installation will also setup the GWT and App Engine SDK
into your Eclipse preferences.
 To check this use Window →Preferences → Google
→ App Engine / Web Toolkit.
Installation of the Google Tools
for Eclipse
Calendar App Engine Sample Java
package com.google.api.services.samples.calendar.appengine.server;
import com.google.api.client.auth.oauth2.AuthorizationCodeFlow;
import com.google.api.client.extensions.appengine.auth.oauth2.AbstractAppEngineAuthorizationCodeServlet;
import com.google.appengine.api.users.UserService;
import com.google.appengine.api.users.UserServiceFactory;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
Calendar App Engine Sample Java
public class CalendarAppEngineSample extends AbstractAppEngineAuthorizationCodeServlet {
static final String APP_NAME = "Google Calendar Data API Sample Web Client";
static final String GWT_MODULE_NAME = "calendar";
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException {
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
Calendar App Engine Sample Java
PrintWriter writer = response.getWriter();
writer.println("<!doctype html><html><head>");
writer.println("<meta http-equiv="content-type" content="text/html; charset=UTF-8">");
writer.println("<title>" + APP_NAME + "</title>");
writer.println(
"<link type="text/css" rel="stylesheet" href="" + GWT_MODULE_NAME + ".css">");
writer.println("<script type="text/javascript" language="javascript" " + "src=""
+ GWT_MODULE_NAME + "/" + GWT_MODULE_NAME + ".nocache.js"></script>");
writer.println("</head><body>");
Calendar App Engine Sample Java
UserService userService = UserServiceFactory.getUserService();
writer.println("<div class="header"><b>" + request.getUserPrincipal().getName() + "</b> | "
+ "<a href="" + userService.createLogoutURL(request.getRequestURL().toString())
+ "">Log out</a> | "
+ "<a href="http://code.google.com/p/google-api-java-client/source/browse"
+ "/calendar-appengine-sample?repo=samples">See source code for "
+ "this sample</a></div>");
writer.println("<div id="main"/>");
writer.println("</body></html>");
Calendar App Engine Sample Java
@Override
protected String getRedirectUri(HttpServletRequest req) throws ServletException, IOException {
return Utils.getRedirectUri(req);
}
@Override
protected AuthorizationCodeFlow initializeFlow() throws IOException {
return Utils.newFlow();
}
 Visit the Google Cloud console.
 If necessary, sign in to your Google Account, select or create
a project, and agree to the terms of service. Click Continue.
 Select the "Web Application" platform, and click Register.
 Within "OAuth 2.0 Client ID", click on "Download JSON".
Register Your Application
 Later on, after you check out the sample project, you will
copy this downloaded file
(e.g. ~/Downloads/client_secrets.json) to
src/main/resources/client_secrets.json. If you skip this step,
when trying to run the sample you will get a 400
INVALID_CLIENT error in the browser.
 Within "OAuth 2.0 Client ID", in the "Redirect URI" field
enter some redirect URIs, for example
"https://yourappname.appspot.com/oauth2callback" and
"http://localhost:8888/oauth2callback".
Register Your Application
cd [someDirectory]
hg clone https://code.google.com/p/google-api-java-client.samples/
google-api-java-client-samples
cd google-api-java-client-samples/calendar-appengine-sample
cp ~/Downloads/client_secrets.json
src/main/resources/client_secrets.json
mvn clean package
Checkout Instructions
 To run your application locally on a development server:
mvn appengine:devserver
 To deploy your application to appspot.com:
If this is the first time you are deploying your application to
appspot.com, you will to perform the following steps first.
 Go to https://appengine.google.com and create an application.
 Edit src/main/webapp/WEB-INF/appengine-web.xml, and enter the
unique application identifier (you chose it in the prior step)
between the <application> tags.
Running and Deploying Your
Application
 If you've done the above, you can deploy at any time:
mvn appengine:update
 If this is the first time you have run "update" on the project, a
browser window will open prompting you to log in. Log in with
the same Google account the app is registered with.
Running and Deploying Your
Application
 Setup Eclipse Preferences
 Window > Preferences... (or on Mac, Eclipse > Preferences...)
 Select Maven
 check on "Download Artifact Sources"
 check on "Download Artifact JavaDoc"
Setup Project in Eclipse
 Import calendar-appengine-sample project
 File > Import...
 Select "General > Existing Project into Workspace" and click "Next"
 Click "Browse" next to "Select root directory",
find [someDirectory]/google-api-java-client-samples/calendar-
appengine-sample and click "Next"
 Click "Finish"
 NOTE: please ignore the "The App Engine SDK JAR * is missing in
the WEB-INF/lib directory" error messages.
Setup Project in Eclipse
 Run
 Right-click on project calendar-appengine-sample
 Run As > Web Application
Setup Project in Eclipse
Storage
 Use a durable and highly available object storage service.
With global edge-caching, your users have fast access to
your app’s data from any location.
Cloud Storage
 Secure and safe
 Competitive and flexible pricing
 Object storage with a fully-featured API
 Flexible access
Cloud Storage Features
 Use a managed, NoSQL, schemaless database for storing
non-relational data. Cloud Datastore automatically scales
as you need it and supports transactions as well as robust,
SQL-like queries.
Cloud Datastore
 Schemaless access, with SQL-like querying
 Managed database
 Autoscale with your users
 ACID transactions
 Built-in redundancy
 Local development tools
 Access your data from anywhere
Cloud Datastore Features
Store and manage data using a fully-managed, relational
MySQL database. Google handles replication, patch
management and database management to ensure
availability and performance.
Cloud SQL
 Familiar Infrastructure
 Flexible Charging
 Security, Availability, Durability
 Easier Migration; No Lock-in
 Control
 Fully managed
Cloud SQL Features
Big Data
 Analyze Big Data in the cloud with BigQuery.
 Run fast, SQL-like queries against multi-terabyte datasets
in seconds.
 Scalable and easy to use, BigQuery gives you real-time
insights about your data.
 Flexible Access (ReST APIs, JSON-RPC, Google Apps Script).
Big Query
Why Big Query?
 All behind the scenes
 Import data with ease
 Affordable big data
 The right interface
Big Query Features
Many Use Cases
Using Big Query
Compact subset of SQL
SELECT ... FROM ...
WHERE ...
GROUP BY ... ORDER BY ...
LIMIT ...;
Writing Queries
 Common functions
Math, String, Time, ...
 Statistical approximations
TOP
COUNT DISTINCT
GET /bigquery/v1/tables/{table name}
GET /bigquery/v1/query?q={query}
Sample JSON Reply:
{
"results": {
"fields": { [
{"id":"COUNT(*)","type":"uint64"}, ... ]
},
"rows": [
{"f":[{"v":"2949"}, ...]},
{"f":[{"v":"5387"}, ...]}, ... ]
}
}
Also supports JSON-RPC
Big Query via ReST
 Standard Google Authentication
● Client Login
● OAuth
● AuthSub
 HTTPS support
● protects your credentials
● protects your data
 Relies on Google Storage to manage access
Big Query Security and Privacy
Services
Create ReSTful services and make them accessible to iOS,
Android and Javascript clients. Automatically generate
client libraries to make wiring up the frontend easy. Built-in
features include denial-of-service protection, OAuth 2.0
support and client key management.
Cloud Endpoints
 One tool, multiple clients
 Extending App Engine infrastructure
 Low maintenance client-server
 Flexible client-side integration
Cloud Endpoints Features
Quickly and dynamically translate between thousands of
available language pairs within your app, integrating with
Google Translate.
Translate API
 Dynamically access languages
 Accessible with Google API
 Affordable, easy pricing
Translate API Features
Use Google’s machine learning algorithms to analyze data
and predict future outcomes using a familiar ReSTful
interface.
Prediction API
 Put your data to use
 Fast and reliable
 Cloud integration
 Powerful development tools
 Examples and support
 Flexible pricing
Prediction API Features
Prediction API: a simple example
How does it work?
Using the Prediction API
 Upload your training data to Google Storage
● Training data: outputs and input features
● Data format: comma separated value format (CSV)
"english","To err is human, but to really ..."
"spanish","No hay mal que por bien no venga."
...
 Upload to Google Storage
gsutil cp ${data} gs://yourbucket/${data}
Step 1: Upload
 Create a new model by training on data
 To train a model:
POST prediction/v1.3/training
{"id":"mybucket/mydata"}
Training runs asynchronously.
To see if it has finished:
GETprediction/v1.3/training/mybucket%2Fmydata
{"kind": "prediction#training", ... ,"training
status": "DONE"}
Step 2: Train
 Apply the trained model to make predictions on new data
POST
prediction/v1.3/training/mybucket%2Fmydata/predict
{ "data":{
"input": { "text" : [
"J'aime X! C'est le meilleur" ]}}}
Step 3: Predict
 Apply the trained model to make predictions on new data
{ data : {
"kind" : "prediction#output",
"outputLabel":"French",
"outputMulti" :[
{"label":"French", "score": x.xx}
{"label":"English", "score": x.xx}
{"label":"Spanish", "score": x.xx}]}}
Step 3: Predict
import httplib
// put new data in JSON format in params variable
header = {"Content-Type" : "application/json"}#...
conn =
httplib.HTTPConnection("www.googleapis.com")conn.request
("POST", "/prediction/v1.3/query/bucket%2Fdata/predict",
params, header) print conn.getresponse()
Step 3: Predict
 Google Cloud Platform offer $300 in credit to spend on all
Cloud Platform products for your first 60 days. Your trial is
absolutely free and you will not be billed unless you decide to
upgrade to a paid account.
 During free trial, there are some product limitations. Compute
Engine is limited to eight concurrent cores at a time.
 Free trial is for anyone new to Cloud Platform. Existing
customers that have paid for Cloud Platform in the past are
not eligible.
Pricing: free trial
Pricing: App Engine
• Google Cloud Platform Developers Portal:
https://cloud.google.com/developers
• Google Developers Global Portal:
https://developers.google.com
• Google Cloud Platform Products list:
https://cloud.google.com/products/
• Google App Engine
http://code.google.com/apis/storage
• Google Storage for Developers
http://code.google.com/apis/storage
• Google Prediction API
http://code.google.com/apis/predict
• Google BigQuery
http://code.google.com/apis/bigquery
Useful links
Thank You!
please leave a feedback
Francesco Marchitelli
marchitelli.francesco@gmail.com
@marcyborg

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to Amazon Web Services
Introduction to Amazon Web ServicesIntroduction to Amazon Web Services
Introduction to Amazon Web ServicesAmazon Web Services
 
Google cloud platform introduction
Google cloud platform introductionGoogle cloud platform introduction
Google cloud platform introductionSimon Su
 
Introduction to Google Cloud Platform
Introduction to Google Cloud PlatformIntroduction to Google Cloud Platform
Introduction to Google Cloud Platformdhruv_chaudhari
 
Introduction to AWS Cloud Computing
Introduction to AWS Cloud ComputingIntroduction to AWS Cloud Computing
Introduction to AWS Cloud ComputingAmazon Web Services
 
Introduction to Amazon Web Services (AWS)
Introduction to Amazon Web Services (AWS)Introduction to Amazon Web Services (AWS)
Introduction to Amazon Web Services (AWS)Garvit Anand
 
Microsoft Azure Cloud Services
Microsoft Azure Cloud ServicesMicrosoft Azure Cloud Services
Microsoft Azure Cloud ServicesDavid J Rosenthal
 
Azure App Service
Azure App ServiceAzure App Service
Azure App ServiceBizTalk360
 
AWS 101: Introduction to AWS
AWS 101: Introduction to AWSAWS 101: Introduction to AWS
AWS 101: Introduction to AWSIan Massingham
 
Google Cloud Platform Training | Introduction To GCP | Google Cloud Platform ...
Google Cloud Platform Training | Introduction To GCP | Google Cloud Platform ...Google Cloud Platform Training | Introduction To GCP | Google Cloud Platform ...
Google Cloud Platform Training | Introduction To GCP | Google Cloud Platform ...Edureka!
 
Serverless Computing: build and run applications without thinking about servers
Serverless Computing: build and run applications without thinking about serversServerless Computing: build and run applications without thinking about servers
Serverless Computing: build and run applications without thinking about serversAmazon Web Services
 

Was ist angesagt? (20)

Google cloud platform
Google cloud platformGoogle cloud platform
Google cloud platform
 
Introduction to Amazon Web Services
Introduction to Amazon Web ServicesIntroduction to Amazon Web Services
Introduction to Amazon Web Services
 
Introduction to Amazon EC2
Introduction to Amazon EC2Introduction to Amazon EC2
Introduction to Amazon EC2
 
Google cloud platform introduction
Google cloud platform introductionGoogle cloud platform introduction
Google cloud platform introduction
 
Introduction to Google Cloud Platform
Introduction to Google Cloud PlatformIntroduction to Google Cloud Platform
Introduction to Google Cloud Platform
 
Google Cloud Platform
Google Cloud PlatformGoogle Cloud Platform
Google Cloud Platform
 
Introduction to AWS Cloud Computing
Introduction to AWS Cloud ComputingIntroduction to AWS Cloud Computing
Introduction to AWS Cloud Computing
 
Introduction to Amazon Web Services (AWS)
Introduction to Amazon Web Services (AWS)Introduction to Amazon Web Services (AWS)
Introduction to Amazon Web Services (AWS)
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
Microsoft Azure Cloud Services
Microsoft Azure Cloud ServicesMicrosoft Azure Cloud Services
Microsoft Azure Cloud Services
 
Google App Engine ppt
Google App Engine  pptGoogle App Engine  ppt
Google App Engine ppt
 
Azure App Service
Azure App ServiceAzure App Service
Azure App Service
 
AWS 101: Introduction to AWS
AWS 101: Introduction to AWSAWS 101: Introduction to AWS
AWS 101: Introduction to AWS
 
Google Cloud Platform Training | Introduction To GCP | Google Cloud Platform ...
Google Cloud Platform Training | Introduction To GCP | Google Cloud Platform ...Google Cloud Platform Training | Introduction To GCP | Google Cloud Platform ...
Google Cloud Platform Training | Introduction To GCP | Google Cloud Platform ...
 
AWS Elastic Compute Cloud (EC2)
AWS Elastic Compute Cloud (EC2) AWS Elastic Compute Cloud (EC2)
AWS Elastic Compute Cloud (EC2)
 
Introduction to Microsoft Azure Cloud
Introduction to Microsoft Azure CloudIntroduction to Microsoft Azure Cloud
Introduction to Microsoft Azure Cloud
 
Serverless Computing: build and run applications without thinking about servers
Serverless Computing: build and run applications without thinking about serversServerless Computing: build and run applications without thinking about servers
Serverless Computing: build and run applications without thinking about servers
 
AWS PPT.pptx
AWS PPT.pptxAWS PPT.pptx
AWS PPT.pptx
 
What is Serverless Computing?
What is Serverless Computing?What is Serverless Computing?
What is Serverless Computing?
 
AWS Foundations
AWS FoundationsAWS Foundations
AWS Foundations
 

Ähnlich wie Google Cloud Platform

File Repository on GAE
File Repository on GAEFile Repository on GAE
File Repository on GAElynneblue
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for JavaLars Vogel
 
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App EngineJava Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App EngineIMC Institute
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for JavaLars Vogel
 
Google Cloud Platform (GCP) At a Glance
Google Cloud Platform (GCP)  At a GlanceGoogle Cloud Platform (GCP)  At a Glance
Google Cloud Platform (GCP) At a GlanceCloud Analogy
 
Simple stock market analysis
Simple stock market analysisSimple stock market analysis
Simple stock market analysislynneblue
 
GWT training session 1
GWT training session 1GWT training session 1
GWT training session 1SNEHAL MASNE
 
Java Web Programming Using Cloud Platform: Module 10
Java Web Programming Using Cloud Platform: Module 10Java Web Programming Using Cloud Platform: Module 10
Java Web Programming Using Cloud Platform: Module 10IMC Institute
 
Scale with a smile with Google Cloud Platform At DevConTLV (June 2014)
Scale with a smile with Google Cloud Platform At DevConTLV (June 2014)Scale with a smile with Google Cloud Platform At DevConTLV (June 2014)
Scale with a smile with Google Cloud Platform At DevConTLV (June 2014)Ido Green
 
Hands on App Engine
Hands on App EngineHands on App Engine
Hands on App EngineSimon Su
 
Developing Java Web Applications In Google App Engine
Developing Java Web Applications In Google App EngineDeveloping Java Web Applications In Google App Engine
Developing Java Web Applications In Google App EngineTahir Akram
 
Google App Engine for PHP
Google App Engine for PHP Google App Engine for PHP
Google App Engine for PHP Eric Johnson
 
Azure Functions.pptx
Azure Functions.pptxAzure Functions.pptx
Azure Functions.pptxYachikaKamra
 
GWT Training - Session 1/3
GWT Training - Session 1/3GWT Training - Session 1/3
GWT Training - Session 1/3Faiz Bashir
 
Cannibalising The Google App Engine
Cannibalising The  Google  App  EngineCannibalising The  Google  App  Engine
Cannibalising The Google App Enginecatherinewall
 
A fresh look at Google’s Cloud by Mandy Waite
A fresh look at Google’s Cloud by Mandy Waite A fresh look at Google’s Cloud by Mandy Waite
A fresh look at Google’s Cloud by Mandy Waite Codemotion
 

Ähnlich wie Google Cloud Platform (20)

File Repository on GAE
File Repository on GAEFile Repository on GAE
File Repository on GAE
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App EngineJava Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
 
Google Cloud Platform (GCP) At a Glance
Google Cloud Platform (GCP)  At a GlanceGoogle Cloud Platform (GCP)  At a Glance
Google Cloud Platform (GCP) At a Glance
 
Simple stock market analysis
Simple stock market analysisSimple stock market analysis
Simple stock market analysis
 
GWT training session 1
GWT training session 1GWT training session 1
GWT training session 1
 
Java Web Programming Using Cloud Platform: Module 10
Java Web Programming Using Cloud Platform: Module 10Java Web Programming Using Cloud Platform: Module 10
Java Web Programming Using Cloud Platform: Module 10
 
Scale with a smile with Google Cloud Platform At DevConTLV (June 2014)
Scale with a smile with Google Cloud Platform At DevConTLV (June 2014)Scale with a smile with Google Cloud Platform At DevConTLV (June 2014)
Scale with a smile with Google Cloud Platform At DevConTLV (June 2014)
 
TIAD : Automate everything with Google Cloud
TIAD : Automate everything with Google CloudTIAD : Automate everything with Google Cloud
TIAD : Automate everything with Google Cloud
 
Hands on App Engine
Hands on App EngineHands on App Engine
Hands on App Engine
 
Developing Java Web Applications In Google App Engine
Developing Java Web Applications In Google App EngineDeveloping Java Web Applications In Google App Engine
Developing Java Web Applications In Google App Engine
 
Google App Engine for PHP
Google App Engine for PHP Google App Engine for PHP
Google App Engine for PHP
 
Azure Functions.pptx
Azure Functions.pptxAzure Functions.pptx
Azure Functions.pptx
 
GWT Training - Session 1/3
GWT Training - Session 1/3GWT Training - Session 1/3
GWT Training - Session 1/3
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
Cannibalising The Google App Engine
Cannibalising The  Google  App  EngineCannibalising The  Google  App  Engine
Cannibalising The Google App Engine
 
Gdsc muk - innocent
Gdsc   muk - innocentGdsc   muk - innocent
Gdsc muk - innocent
 
A fresh look at Google’s Cloud by Mandy Waite
A fresh look at Google’s Cloud by Mandy Waite A fresh look at Google’s Cloud by Mandy Waite
A fresh look at Google’s Cloud by Mandy Waite
 

Kürzlich hochgeladen

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 

Kürzlich hochgeladen (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

Google Cloud Platform

  • 2.  Generally, we talk about cloud computing when taking applications and running them on other infrastructure than your own.  As a developer, think of cloud computing as a service that provides a resource that your application needs to work (this resource may be a platform, an infrastructure (i.e. servers), a framework). What is Cloud?
  • 4.  Google Cloud Platform enables developers to build, test and deploy applications on Google’s highly-scalable and reliable infrastructure. Choose from computing, storage and application services for your web, mobile and backend solutions.  Google Cloud Platform is a set of modular cloud-based services that allow you to create anything from simple websites to complex applications. Introduction
  • 6. Why Google Cloud Platform ?
  • 7. Build on the same infrastructure that allows Google to return billions of search results in milliseconds, serve 6 billion hours of YouTube video per month and provide storage for 425 million Gmail users. ➔ Global Network ➔ Redundancy ➔ Innovative Infrastructure #1 Run on Google’s Infrastructure
  • 8. Rapidly develop, deploy and iterate your applications without worrying about system administration. Google manages your application, database and storage servers so you don’t have to. ➔ Managed services ➔ Developer Tools and SDKs ➔ Console and Administration #2 Focus on your product
  • 9.  Virtual machines. Managed platform. Blob storage. Block storage. NoSQL datastore. MySQL database. Big Data analytics.  Google Cloud Platform has all the services your application architecture needs. ➔ Compute ➔ Storage ➔ Services #3 Mix and Match Services
  • 10. Applications hosted on Cloud Platform can automatically scale up to handle the most demanding workloads and scale down when traffic subsides. You pay only for what you use. Scale-up: Cloud Platform is designed to scale like Google’s own products, even when you experience a huge traffic spike. Managed services such as App Engine or Cloud Datastore give you auto-scaling that enables your application to grow with your users. Scale-down: Just as Cloud Platform allows you to scale-up, managed services also scale down. You don’t pay for computing resources that you don’t need. #4 Scale to millions of users
  • 11. Google’s compute infrastructure gives you consistent CPU, memory and disk performance. The network and edge cache serve responses rapidly to your users across the world. ➔ CPU, Memory and Disk ➔ Global Network ➔ Transparent maintenance #5 Performance you can count on
  • 12. With a worldwide community of users, partner ecosystem and premium support packages, Google provides a full range of resources to help you get started and grow. #6 Get the support you need
  • 14.  Run your applications on a fully-managed Platform-as-a- Service (PaaS) using built-in services that make you more productive.  Use App Engine, when you just want to focus on your code and not worry about patching or maintenance. App Engine
  • 15.  Popular languages and frameworks  Focus on your code  Multiple storage options  Powerful built-in services  Familiar development tools  Deploy at Google scale App Engine Features
  • 16. Run large-scale workloads on virtual machines hosted on Google's infrastructure. Choose a VM that fits your needs and gain the performance of Google’s worldwide fiber network. Compute Engine
  • 17.  High-performance virtual machines  Powered by Google’s global network  (Really) Pay for what you use  Global load balancing  Fast and easy provisioning  Compliance and security Compute Engine Features
  • 18.  The App Engine offers frequently standard Java API's and App Engine specific API's for the same task. If you want to be able to port your application from the AppEngine to other webcontainers, e.g. Tomcat or Jetty, you should only use Java standard API. Google App Engine for Java
  • 19.  App Engine uses the Jetty servlet container to host applications and supports the Java Servlet API. It provides access to databases via Java Data Objects (JDO) and the Java Persistence API (JPA). In the background App Engine uses Google Bigtable as the distributed storage system for persisting application data. Google App Engine for Java
  • 20.  Google provides Memcache as a caching mechanism. Developers who want to code against the standard Java API can use the JCache implementation (based on JSR 107). Google App Engine for Java
  • 21.  Google App Engine supports the creation of several version of your application. In the Admin Console you can select which version should be active. Your active application "your-name" will be accessible via the URL "http://your-name.appspot.com". Each version can also be accessed for example to test a new version. The version are accessable via "http://versionnumber.latest.your-name.appspot.com" where version is for example "2" and "latest" is a fixed string. Google App Engine for Java
  • 22.  You cannot use Threads or frameworks which uses Threads. You can also not write to the filesystem and only read files which are part of your application. Certain "java.lang.System" actions, e.g. gc() or exit() will do nothing. You can not call JNI code. Reflection is possible for your own classes and standard Java classes but your cannot use reflection to access other classes outside your application.  A servlet needs also to reply within 30 seconds otherwise a "com.google.apphosting.api.DeadlineExceededException" is thrown. Google App Engine for Java
  • 23.  Google offers an Eclipse plug-in that provides support for the development with the Google App Engine as well as GWT development  Google lists the currently supported version in its Google Plug- in for Eclipse page.  Use Eclipse update manager to install the tools in the version for your Eclipse IDE.  The installation will also setup the GWT and App Engine SDK into your Eclipse preferences.  To check this use Window →Preferences → Google → App Engine / Web Toolkit. Installation of the Google Tools for Eclipse
  • 24. Calendar App Engine Sample Java package com.google.api.services.samples.calendar.appengine.server; import com.google.api.client.auth.oauth2.AuthorizationCodeFlow; import com.google.api.client.extensions.appengine.auth.oauth2.AbstractAppEngineAuthorizationCodeServlet; import com.google.appengine.api.users.UserService; import com.google.appengine.api.users.UserServiceFactory; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
  • 25. Calendar App Engine Sample Java public class CalendarAppEngineSample extends AbstractAppEngineAuthorizationCodeServlet { static final String APP_NAME = "Google Calendar Data API Sample Web Client"; static final String GWT_MODULE_NAME = "calendar"; private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { response.setContentType("text/html"); response.setCharacterEncoding("UTF-8");
  • 26. Calendar App Engine Sample Java PrintWriter writer = response.getWriter(); writer.println("<!doctype html><html><head>"); writer.println("<meta http-equiv="content-type" content="text/html; charset=UTF-8">"); writer.println("<title>" + APP_NAME + "</title>"); writer.println( "<link type="text/css" rel="stylesheet" href="" + GWT_MODULE_NAME + ".css">"); writer.println("<script type="text/javascript" language="javascript" " + "src="" + GWT_MODULE_NAME + "/" + GWT_MODULE_NAME + ".nocache.js"></script>"); writer.println("</head><body>");
  • 27. Calendar App Engine Sample Java UserService userService = UserServiceFactory.getUserService(); writer.println("<div class="header"><b>" + request.getUserPrincipal().getName() + "</b> | " + "<a href="" + userService.createLogoutURL(request.getRequestURL().toString()) + "">Log out</a> | " + "<a href="http://code.google.com/p/google-api-java-client/source/browse" + "/calendar-appengine-sample?repo=samples">See source code for " + "this sample</a></div>"); writer.println("<div id="main"/>"); writer.println("</body></html>");
  • 28. Calendar App Engine Sample Java @Override protected String getRedirectUri(HttpServletRequest req) throws ServletException, IOException { return Utils.getRedirectUri(req); } @Override protected AuthorizationCodeFlow initializeFlow() throws IOException { return Utils.newFlow(); }
  • 29.  Visit the Google Cloud console.  If necessary, sign in to your Google Account, select or create a project, and agree to the terms of service. Click Continue.  Select the "Web Application" platform, and click Register.  Within "OAuth 2.0 Client ID", click on "Download JSON". Register Your Application
  • 30.  Later on, after you check out the sample project, you will copy this downloaded file (e.g. ~/Downloads/client_secrets.json) to src/main/resources/client_secrets.json. If you skip this step, when trying to run the sample you will get a 400 INVALID_CLIENT error in the browser.  Within "OAuth 2.0 Client ID", in the "Redirect URI" field enter some redirect URIs, for example "https://yourappname.appspot.com/oauth2callback" and "http://localhost:8888/oauth2callback". Register Your Application
  • 31. cd [someDirectory] hg clone https://code.google.com/p/google-api-java-client.samples/ google-api-java-client-samples cd google-api-java-client-samples/calendar-appengine-sample cp ~/Downloads/client_secrets.json src/main/resources/client_secrets.json mvn clean package Checkout Instructions
  • 32.  To run your application locally on a development server: mvn appengine:devserver  To deploy your application to appspot.com: If this is the first time you are deploying your application to appspot.com, you will to perform the following steps first.  Go to https://appengine.google.com and create an application.  Edit src/main/webapp/WEB-INF/appengine-web.xml, and enter the unique application identifier (you chose it in the prior step) between the <application> tags. Running and Deploying Your Application
  • 33.  If you've done the above, you can deploy at any time: mvn appengine:update  If this is the first time you have run "update" on the project, a browser window will open prompting you to log in. Log in with the same Google account the app is registered with. Running and Deploying Your Application
  • 34.  Setup Eclipse Preferences  Window > Preferences... (or on Mac, Eclipse > Preferences...)  Select Maven  check on "Download Artifact Sources"  check on "Download Artifact JavaDoc" Setup Project in Eclipse
  • 35.  Import calendar-appengine-sample project  File > Import...  Select "General > Existing Project into Workspace" and click "Next"  Click "Browse" next to "Select root directory", find [someDirectory]/google-api-java-client-samples/calendar- appengine-sample and click "Next"  Click "Finish"  NOTE: please ignore the "The App Engine SDK JAR * is missing in the WEB-INF/lib directory" error messages. Setup Project in Eclipse
  • 36.  Run  Right-click on project calendar-appengine-sample  Run As > Web Application Setup Project in Eclipse
  • 38.  Use a durable and highly available object storage service. With global edge-caching, your users have fast access to your app’s data from any location. Cloud Storage
  • 39.  Secure and safe  Competitive and flexible pricing  Object storage with a fully-featured API  Flexible access Cloud Storage Features
  • 40.  Use a managed, NoSQL, schemaless database for storing non-relational data. Cloud Datastore automatically scales as you need it and supports transactions as well as robust, SQL-like queries. Cloud Datastore
  • 41.  Schemaless access, with SQL-like querying  Managed database  Autoscale with your users  ACID transactions  Built-in redundancy  Local development tools  Access your data from anywhere Cloud Datastore Features
  • 42. Store and manage data using a fully-managed, relational MySQL database. Google handles replication, patch management and database management to ensure availability and performance. Cloud SQL
  • 43.  Familiar Infrastructure  Flexible Charging  Security, Availability, Durability  Easier Migration; No Lock-in  Control  Fully managed Cloud SQL Features
  • 45.  Analyze Big Data in the cloud with BigQuery.  Run fast, SQL-like queries against multi-terabyte datasets in seconds.  Scalable and easy to use, BigQuery gives you real-time insights about your data.  Flexible Access (ReST APIs, JSON-RPC, Google Apps Script). Big Query
  • 47.  All behind the scenes  Import data with ease  Affordable big data  The right interface Big Query Features
  • 50. Compact subset of SQL SELECT ... FROM ... WHERE ... GROUP BY ... ORDER BY ... LIMIT ...; Writing Queries  Common functions Math, String, Time, ...  Statistical approximations TOP COUNT DISTINCT
  • 51. GET /bigquery/v1/tables/{table name} GET /bigquery/v1/query?q={query} Sample JSON Reply: { "results": { "fields": { [ {"id":"COUNT(*)","type":"uint64"}, ... ] }, "rows": [ {"f":[{"v":"2949"}, ...]}, {"f":[{"v":"5387"}, ...]}, ... ] } } Also supports JSON-RPC Big Query via ReST
  • 52.  Standard Google Authentication ● Client Login ● OAuth ● AuthSub  HTTPS support ● protects your credentials ● protects your data  Relies on Google Storage to manage access Big Query Security and Privacy
  • 54. Create ReSTful services and make them accessible to iOS, Android and Javascript clients. Automatically generate client libraries to make wiring up the frontend easy. Built-in features include denial-of-service protection, OAuth 2.0 support and client key management. Cloud Endpoints
  • 55.  One tool, multiple clients  Extending App Engine infrastructure  Low maintenance client-server  Flexible client-side integration Cloud Endpoints Features
  • 56. Quickly and dynamically translate between thousands of available language pairs within your app, integrating with Google Translate. Translate API
  • 57.  Dynamically access languages  Accessible with Google API  Affordable, easy pricing Translate API Features
  • 58. Use Google’s machine learning algorithms to analyze data and predict future outcomes using a familiar ReSTful interface. Prediction API
  • 59.  Put your data to use  Fast and reliable  Cloud integration  Powerful development tools  Examples and support  Flexible pricing Prediction API Features
  • 60. Prediction API: a simple example
  • 61. How does it work?
  • 63.  Upload your training data to Google Storage ● Training data: outputs and input features ● Data format: comma separated value format (CSV) "english","To err is human, but to really ..." "spanish","No hay mal que por bien no venga." ...  Upload to Google Storage gsutil cp ${data} gs://yourbucket/${data} Step 1: Upload
  • 64.  Create a new model by training on data  To train a model: POST prediction/v1.3/training {"id":"mybucket/mydata"} Training runs asynchronously. To see if it has finished: GETprediction/v1.3/training/mybucket%2Fmydata {"kind": "prediction#training", ... ,"training status": "DONE"} Step 2: Train
  • 65.  Apply the trained model to make predictions on new data POST prediction/v1.3/training/mybucket%2Fmydata/predict { "data":{ "input": { "text" : [ "J'aime X! C'est le meilleur" ]}}} Step 3: Predict
  • 66.  Apply the trained model to make predictions on new data { data : { "kind" : "prediction#output", "outputLabel":"French", "outputMulti" :[ {"label":"French", "score": x.xx} {"label":"English", "score": x.xx} {"label":"Spanish", "score": x.xx}]}} Step 3: Predict
  • 67. import httplib // put new data in JSON format in params variable header = {"Content-Type" : "application/json"}#... conn = httplib.HTTPConnection("www.googleapis.com")conn.request ("POST", "/prediction/v1.3/query/bucket%2Fdata/predict", params, header) print conn.getresponse() Step 3: Predict
  • 68.  Google Cloud Platform offer $300 in credit to spend on all Cloud Platform products for your first 60 days. Your trial is absolutely free and you will not be billed unless you decide to upgrade to a paid account.  During free trial, there are some product limitations. Compute Engine is limited to eight concurrent cores at a time.  Free trial is for anyone new to Cloud Platform. Existing customers that have paid for Cloud Platform in the past are not eligible. Pricing: free trial
  • 70. • Google Cloud Platform Developers Portal: https://cloud.google.com/developers • Google Developers Global Portal: https://developers.google.com • Google Cloud Platform Products list: https://cloud.google.com/products/ • Google App Engine http://code.google.com/apis/storage • Google Storage for Developers http://code.google.com/apis/storage • Google Prediction API http://code.google.com/apis/predict • Google BigQuery http://code.google.com/apis/bigquery Useful links
  • 71. Thank You! please leave a feedback Francesco Marchitelli marchitelli.francesco@gmail.com @marcyborg