SlideShare a Scribd company logo
Google’s Go Language for 
Cloud Computing 
Presented By: 
Suby Gopalan 
Yashashwini Adiga 
Hem Singh Chouhan 
Niranjan Singh 
Piyush Mishra
Agenda of the Session 
All about ‘GO’ 
Google App Engine 
App Engine Modules 
Storing data in Go 
Go Service APIs 
A fully functional Go App covered via 
Demo
Subjective Analysis 
Flaws in the existing languages like C++, Java
All about ‘GO’ 
Why one more programming language ? 
Is ‘GO’ an object-oriented language? 
Why do garbage collection? Won't it be too 
expensive? 
Why is the syntax so different from C? 
Why is there no pointer arithmetic?
Features of ‘GO’ at a glance 
Concurreny and Garbage collection 
Has pointers but no pointer arithmatic 
Support for networked and multicore 
programming 
Very fast 
Semicolons are not used
Google App Engine 
Platform as a Service 
Tools you know and Love 
Used by millions 
Build and Deploy 
Scale
Overview of App Engine Features 
General Availability 
Preview 
Experimental 
Third Party
Google App Engine for Go 
Introduction 
Selecting the Go runtime 
Organizing Go apps 
The sandbox 
The Go SDK and tools
App Engine Modules in Go
.yaml files
Instance scaling and class 
Manual, Basic, Automatic 
Uploading modules 
cd simple-sample 
goapp deploy default/app.yaml 
goapp deploy mobile-frontend/mobile-frontend. 
yaml 
goapp deploy static-backend/my-module. 
yaml 
Monitoring resource usage 
Logging
Varaprasad-Go
Storing data in GO
Varaprasad-Go
Storing data in GO 
Highly reliable and covered by the App 
Engine SLA. 
ACID transactions. 
Advanced querying features. 
High availability of reads and writes. 
Strong consistency for reads and ancestor 
queries. 
Eventual consistency for all other queries
Google Cloud SQL 
Is a web service that allows you to create, 
configure, and use relational databases that 
live in Google's cloud. 
 It is a fully-managed service offering the 
capabilities of a MySQL database, allowing 
you to focus on application development. 
Alternative Storage Solutions.. 
BLOBSTORE API Google Cloud Storage is 
recommended over using the Blobstore API.
Go Service APIs
Go Service APIs and Capabilities 
import "appengine/capability“
Important Players 
CHANNEL 
Javascript client 
The server 
Tokens
Life of a typical channel message 
Interaction with Server
Interaction between clients
Tracking Client Connections 
import "appengine/channel" 
POSTs to /_ah/channel/connected/ 
POSTs to /_ah/channel/disconnected/
Examples of API 
 Channel Go API - (channel.Create) 
The Channel API creates a persistent connection 
between your application and Google servers, 
allowing your application to send messages to 
JavaScript clients in real time without the use of 
polling 
 Images Go API 
The Images Go API provides the ability to serve 
images directly from Blobstore, and to optionally 
resize or crop those images on the fly. 
Image formats 
Serving and re-sizing images from the Blobstore
Examples of API 
 Logs Go API 
Request Log, Application Log 
 Mail Go API - import"appengine/mail“ 
App Engine applications can send email messages on 
behalf of the app's administrators, and on behalf of 
users with Google Accounts. 
Apps can receive email at various addresses. 
 Apps send messages using the Mail service and 
receive messages in the form of HTTP requests 
initiated by App Engine and posted to the app.
Examples of API 
 Memcache Go API 
– import appengine/memcache“ 
 NameSpace API 
- The Namespaces API in Google App Engine makes it 
easy to compartmentalize your Google App Engine 
data. This API is implemented via the , 
appengine.Namespacefunction and is incorporated 
in certain namespace-enabled APIs.
OAuth for GO 
 OAuth is a protocol that allows a user to grant a third party limited 
permission to access a web application on her behalf, without sharing 
her credentials (username and password) with the third party. 
 To initiate the authorization process on behalf of a user, a consumer 
calls an OAuth endpoint to get a request token(Valid for 10 mins) 
 Once the consumer has a request token, it must direct the user to sign 
in using Google Accounts and authorize the consumer to access the 
service provider on her behalf. 
 Once authorized, the consumer calls the service provider to get 
an access token 
 The consumer includes this token with all requests to the application's 
web service endpoints.
Users GO API 
import"appengine/user" 
package user provides a client for app 
engine's user authentication service. 
user represents a user of the application. 
func (*User) String 
String returns a displayable name for the user
XMPP GO API 
 An App Engine application can send and receive chat messages to and 
from any XMPP-compatible chat messaging service, such as Google Talk. 
 An app can send and receive chat messages, send chat invites, request a 
user's chat presence and status, and provide a chat status. Incoming XMPP 
messages are handled by request handlers, similar to web requests. 
 Sending chat messages 
 /_AH/XMPP/MESSAGE/CHAT/ 
 Receiving chat messages 
 app engine makes an http post request to the following url path when 
your app receives a chat 
 -MESSAGE:/_AH/XMPP/MESSAGE/CHAT/ 
 -to handle incoming messages, you simply create a request handler that 
accepts post requests at this url path.
Handling User Presence 
Enabling the xmpp_presence inbound service allows your 
application to detect changes to a user's chat presence. When you 
enable xmpp_presence, your application receives posts to the 
following URL paths: 
-Posts to /_ah/xmpp/presence/available/ signal that the user is 
available and provide the user's chat status. 
-Posts to /_ah/xmpp/presence/unavailable/ signal that the user is 
unavailable. 
-Posts to /_ah/xmpp/presence/probe/ request a user's current 
presence.
Other Important Parts of Go 
Configuration 
Tools
DEMO

More Related Content

PDF
Introduction to OAuth 2.0 - Part 2
PPT
Google App Engine - Overview #1
PPTX
Rest With Raml
PDF
LINE developers site the tech behind the docs
PPTX
Basic auth implementation using raml in mule
PPTX
Consuming raml
PDF
App engine devfest_mexico_10
Introduction to OAuth 2.0 - Part 2
Google App Engine - Overview #1
Rest With Raml
LINE developers site the tech behind the docs
Basic auth implementation using raml in mule
Consuming raml
App engine devfest_mexico_10

What's hot (7)

PPTX
Mule integration with linkedin
PDF
Progressive Web Application by Citytech
ODP
Kt 15 07-2013
PPTX
Mule groovy
PPTX
Web API testing : A quick glance
PDF
Line Messaging API Integration with Spring-Boot
PPTX
Mockoon - Create mock APIs in seconds
Mule integration with linkedin
Progressive Web Application by Citytech
Kt 15 07-2013
Mule groovy
Web API testing : A quick glance
Line Messaging API Integration with Spring-Boot
Mockoon - Create mock APIs in seconds
Ad

Viewers also liked (17)

DOC
Materialen erresistentzia
PDF
Ted Baker Invite3 (1) (1)
PDF
#etiche2016: Innovazione e Qualità: gli ingredienti che nutrono le aziende
KEY
Vitality 2011: A ViSalus National Event
PDF
Four Murals Created by AAA Volunteers for Children's Hospitals
PPTX
Happy day
PPT
Unit 3 lesson 1
PPTX
The 7 Surprising Ways to Succeed with Social Media For Event Planners
PDF
Travel Hacking 101
DOCX
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...
PDF
Steps toward bright way - Updated
PPTX
Ley de la cultura 1984
PDF
Role of Social Media in Event Marketing
DOCX
Perencanaan sistem informasi
PPTX
ORIGEN Y EXPANNSION DEL QUECHUA
PDF
Nova Weng - %22Early Breast Cancer Awareness & Prevention in China%22 (2016)
Materialen erresistentzia
Ted Baker Invite3 (1) (1)
#etiche2016: Innovazione e Qualità: gli ingredienti che nutrono le aziende
Vitality 2011: A ViSalus National Event
Four Murals Created by AAA Volunteers for Children's Hospitals
Happy day
Unit 3 lesson 1
The 7 Surprising Ways to Succeed with Social Media For Event Planners
Travel Hacking 101
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...
Steps toward bright way - Updated
Ley de la cultura 1984
Role of Social Media in Event Marketing
Perencanaan sistem informasi
ORIGEN Y EXPANNSION DEL QUECHUA
Nova Weng - %22Early Breast Cancer Awareness & Prevention in China%22 (2016)
Ad

Similar to Varaprasad-Go (20)

PDF
What's new in App Engine and intro to App Engine for Business
PDF
App engine cloud_comp_expo_nyc
PDF
Google App Engine Overview - BarCamp Phnom Penh 2011
PDF
What is Google App Engine
PDF
Lessons Learned from Building a REST API on Google App Engine
PDF
App Engine Overview Cloud Futures Publish
PPTX
Using Google App Engine Python
PDF
Google app-engine-cloudcamplagos2011
PDF
Introduction to Google App Engine
PDF
GDD Brazil 2010 - What's new in Google App Engine and Google App Engine For B...
PDF
Google App Engine
PDF
App Engine Presentation @ SFJUG Sep 2010
PDF
App Engine Overview @ Google Hackathon SXSW 2010
PDF
Javaedge 2010-cschalk
PDF
App Engine Meetup
PPTX
CloudPlatforms-Cloud PLatforms evaluation
PDF
Introduction to Google's Cloud Technologies
PDF
Complete Download (Ebook) Go: Building Web Applications by Nathan Kozyra, M...
PPTX
Google App Engine
PDF
Google App Engine
What's new in App Engine and intro to App Engine for Business
App engine cloud_comp_expo_nyc
Google App Engine Overview - BarCamp Phnom Penh 2011
What is Google App Engine
Lessons Learned from Building a REST API on Google App Engine
App Engine Overview Cloud Futures Publish
Using Google App Engine Python
Google app-engine-cloudcamplagos2011
Introduction to Google App Engine
GDD Brazil 2010 - What's new in Google App Engine and Google App Engine For B...
Google App Engine
App Engine Presentation @ SFJUG Sep 2010
App Engine Overview @ Google Hackathon SXSW 2010
Javaedge 2010-cschalk
App Engine Meetup
CloudPlatforms-Cloud PLatforms evaluation
Introduction to Google's Cloud Technologies
Complete Download (Ebook) Go: Building Web Applications by Nathan Kozyra, M...
Google App Engine
Google App Engine

Recently uploaded (20)

PDF
Insiders guide to clinical Medicine.pdf
PDF
TR - Agricultural Crops Production NC III.pdf
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PDF
RMMM.pdf make it easy to upload and study
PPTX
Cell Structure & Organelles in detailed.
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
VCE English Exam - Section C Student Revision Booklet
PPTX
Pharma ospi slides which help in ospi learning
PDF
01-Introduction-to-Information-Management.pdf
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
Basic Mud Logging Guide for educational purpose
PPTX
Institutional Correction lecture only . . .
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
Insiders guide to clinical Medicine.pdf
TR - Agricultural Crops Production NC III.pdf
Pharmacology of Heart Failure /Pharmacotherapy of CHF
RMMM.pdf make it easy to upload and study
Cell Structure & Organelles in detailed.
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
VCE English Exam - Section C Student Revision Booklet
Pharma ospi slides which help in ospi learning
01-Introduction-to-Information-Management.pdf
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Supply Chain Operations Speaking Notes -ICLT Program
Anesthesia in Laparoscopic Surgery in India
Basic Mud Logging Guide for educational purpose
Institutional Correction lecture only . . .
102 student loan defaulters named and shamed – Is someone you know on the list?
2.FourierTransform-ShortQuestionswithAnswers.pdf
Module 4: Burden of Disease Tutorial Slides S2 2025
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
human mycosis Human fungal infections are called human mycosis..pptx
O5-L3 Freight Transport Ops (International) V1.pdf

Varaprasad-Go

  • 1. Google’s Go Language for Cloud Computing Presented By: Suby Gopalan Yashashwini Adiga Hem Singh Chouhan Niranjan Singh Piyush Mishra
  • 2. Agenda of the Session All about ‘GO’ Google App Engine App Engine Modules Storing data in Go Go Service APIs A fully functional Go App covered via Demo
  • 3. Subjective Analysis Flaws in the existing languages like C++, Java
  • 4. All about ‘GO’ Why one more programming language ? Is ‘GO’ an object-oriented language? Why do garbage collection? Won't it be too expensive? Why is the syntax so different from C? Why is there no pointer arithmetic?
  • 5. Features of ‘GO’ at a glance Concurreny and Garbage collection Has pointers but no pointer arithmatic Support for networked and multicore programming Very fast Semicolons are not used
  • 6. Google App Engine Platform as a Service Tools you know and Love Used by millions Build and Deploy Scale
  • 7. Overview of App Engine Features General Availability Preview Experimental Third Party
  • 8. Google App Engine for Go Introduction Selecting the Go runtime Organizing Go apps The sandbox The Go SDK and tools
  • 11. Instance scaling and class Manual, Basic, Automatic Uploading modules cd simple-sample goapp deploy default/app.yaml goapp deploy mobile-frontend/mobile-frontend. yaml goapp deploy static-backend/my-module. yaml Monitoring resource usage Logging
  • 15. Storing data in GO Highly reliable and covered by the App Engine SLA. ACID transactions. Advanced querying features. High availability of reads and writes. Strong consistency for reads and ancestor queries. Eventual consistency for all other queries
  • 16. Google Cloud SQL Is a web service that allows you to create, configure, and use relational databases that live in Google's cloud.  It is a fully-managed service offering the capabilities of a MySQL database, allowing you to focus on application development. Alternative Storage Solutions.. BLOBSTORE API Google Cloud Storage is recommended over using the Blobstore API.
  • 18. Go Service APIs and Capabilities import "appengine/capability“
  • 19. Important Players CHANNEL Javascript client The server Tokens
  • 20. Life of a typical channel message Interaction with Server
  • 22. Tracking Client Connections import "appengine/channel" POSTs to /_ah/channel/connected/ POSTs to /_ah/channel/disconnected/
  • 23. Examples of API  Channel Go API - (channel.Create) The Channel API creates a persistent connection between your application and Google servers, allowing your application to send messages to JavaScript clients in real time without the use of polling  Images Go API The Images Go API provides the ability to serve images directly from Blobstore, and to optionally resize or crop those images on the fly. Image formats Serving and re-sizing images from the Blobstore
  • 24. Examples of API  Logs Go API Request Log, Application Log  Mail Go API - import"appengine/mail“ App Engine applications can send email messages on behalf of the app's administrators, and on behalf of users with Google Accounts. Apps can receive email at various addresses.  Apps send messages using the Mail service and receive messages in the form of HTTP requests initiated by App Engine and posted to the app.
  • 25. Examples of API  Memcache Go API – import appengine/memcache“  NameSpace API - The Namespaces API in Google App Engine makes it easy to compartmentalize your Google App Engine data. This API is implemented via the , appengine.Namespacefunction and is incorporated in certain namespace-enabled APIs.
  • 26. OAuth for GO  OAuth is a protocol that allows a user to grant a third party limited permission to access a web application on her behalf, without sharing her credentials (username and password) with the third party.  To initiate the authorization process on behalf of a user, a consumer calls an OAuth endpoint to get a request token(Valid for 10 mins)  Once the consumer has a request token, it must direct the user to sign in using Google Accounts and authorize the consumer to access the service provider on her behalf.  Once authorized, the consumer calls the service provider to get an access token  The consumer includes this token with all requests to the application's web service endpoints.
  • 27. Users GO API import"appengine/user" package user provides a client for app engine's user authentication service. user represents a user of the application. func (*User) String String returns a displayable name for the user
  • 28. XMPP GO API  An App Engine application can send and receive chat messages to and from any XMPP-compatible chat messaging service, such as Google Talk.  An app can send and receive chat messages, send chat invites, request a user's chat presence and status, and provide a chat status. Incoming XMPP messages are handled by request handlers, similar to web requests.  Sending chat messages  /_AH/XMPP/MESSAGE/CHAT/  Receiving chat messages  app engine makes an http post request to the following url path when your app receives a chat  -MESSAGE:/_AH/XMPP/MESSAGE/CHAT/  -to handle incoming messages, you simply create a request handler that accepts post requests at this url path.
  • 29. Handling User Presence Enabling the xmpp_presence inbound service allows your application to detect changes to a user's chat presence. When you enable xmpp_presence, your application receives posts to the following URL paths: -Posts to /_ah/xmpp/presence/available/ signal that the user is available and provide the user's chat status. -Posts to /_ah/xmpp/presence/unavailable/ signal that the user is unavailable. -Posts to /_ah/xmpp/presence/probe/ request a user's current presence.
  • 30. Other Important Parts of Go Configuration Tools