SlideShare a Scribd company logo
TechTalk #3
What	do	people	say
when	they	switch	to	Go?
Vũ Nguyễn
vu.nguyen@will.vn
Go	is	an	optional	language	released	in	2012
(	It	does	not	force	you	to	use	it	like
Java	for	Android	or	Obj-C	for	iOS	)
Why	is	it	popular	today?
03/2015 04/2016
Who	are	using	Go?
Google,	Facebook,	Microsoft,	Amazon,	Mozilla,	
Yahoo,	eBay,	GitHub,	Twitter,	Dropbox,	Docker,	
MongoDB,	Couchbase,	Disqus,	Basecamp,	
CoreOS,	CloudFlare,	…
https://github.com/golang/go/wiki/GoUsers
Google	has	big	softwares and	big	problems.
https://talks.golang.org/2012/splash.article
2012
The	hardware	is	big and	the	software	is	big.	
There	are	many	millions	of	lines	of	software,	
with	servers	mostly	in	C++	and	lots	of	Java	and	Python	
for	the	other	pieces.	
Thousands	of	engineers	work	on	the	code,	at	the	"head"	
of	a	single	tree	comprising	all	the	software.
https://talks.golang.org/2012/splash.article
2012
The	goals	of	the	Go	project	were	to	eliminate	the	slowness	and	
clumsiness of	software	development	at	Google,	
and	thereby	to	make	the	process	more	productive	and	scalable.
The	language	was	designed	by	and	for	people	who	write—and	
read	and	debug	and	maintain—large	software	systems.
https://talks.golang.org/2012/splash.article
2012
2011	We	started	with	Ruby	on	Rails,	quickly	build	first	version.
At	the	end	of	2012,	we	had	200	API	servers	which	serve	3000	
requests	per	second	for	60,000	mobile	apps.
When	our	API	traffic	started	growing	faster,	we	started	having	
to	rapidly	spin	up	more	database	machines.	
The	“one	process	per	request”	started	to	fall	apart.
http://blog.parse.com/learn/how-we-moved-our-api-from-ruby-to-go-and-saved-our-sanity/
2015
After	rewriting	the	EventMachine push	backend	to	Go	we	went	
from	250k	connections	per	node	to	1.5	million	connections	per	
node.	
The	time	it	takes	to	run	our	full	integration	test	suite
dropped	from	25	minutes	to	2	minutes.
The	time	to	do	a	full	API	server	deploy	with	rolling	restarts	
dropped	from	30	minutes	to	3	minutes.
http://blog.parse.com/learn/how-we-moved-our-api-from-ruby-to-go-and-saved-our-sanity/
2015
“The	hardest	part	of	the	rewrite	was	dealing	with	
all	the	undocumented	behaviors	and	magical	
mystery	bits	that	you	get	with	Rails	middleware.”
http://blog.parse.com/learn/how-we-moved-our-api-from-ruby-to-go-and-saved-our-sanity/
2015
“We	love	Go.	We've	found	it	really	fast	to	deploy,	
really	easy	to	instrument,	really	lightweight	and	
inexpensive	in	terms	of	resources.”
http://blog.parse.com/learn/how-we-moved-our-api-from-ruby-to-go-and-saved-our-sanity/
2015
We	need	to	scale	a	company	
from	the	early	days	of	5	engineers	
to	200+	engineers	as	the business	grows.
http://jimplush.com/talk/2015/12/19/moving-a-team-from-scala-to-golang/
2015
[Scala	at	Gravity]
Several	of	us	started	investigating	and	were	able	to	track	the	
source	of	the	issue.
The	only	problem	was	we	had	no	idea	what	the	code	was	doing	
at	first.	
We	came	across	a	strange	symbol	we	hadn’t	seen	in	our	
projects	before.	The	spaceship	operator	<|*|> .	Someone	said	
out	loud	“what	the	hell	is	that?”.
http://jimplush.com/talk/2015/12/19/moving-a-team-from-scala-to-golang/
2015
http://jimplush.com/talk/2015/12/19/moving-a-team-from-scala-to-golang/
2015
While	you	can	have	very	high	performing	small	teams	going	
with	Scala,	trying	to	grow	and	engineering	organization	>	50 is	
an	uphill	battle.
One	of	Go’s	reasons	for	existence	is	to	make	developers	more	
productive.	[…] New	developers	we’ve	hired	are	ramped	up	in	
weeks	vs	months.
http://jimplush.com/talk/2015/12/19/moving-a-team-from-scala-to-golang/
2015
“Wow,	I	read	through	that	[Go]	library once	and	I	knew	exactly	
what	it	was	doing,	
I’ve	read	the	Scala version	of	that	library	four	times	and	I	still	
have	no	idea	what	it	does,	
I	can	see	why	you	guys	like	it	so	much”
http://jimplush.com/talk/2015/12/19/moving-a-team-from-scala-to-golang/
2015
About	a	year	ago,	we	decided	to	migrate	our	performance-
critical	backends from	Python	to	Go	to	leverage	better	
concurrency	support	and	faster	execution	speed.	
This	was	a	massive	effort–around	200,000	lines	of	Go	code–
undertaken	by	a	small	team	of	engineers.	At	this	point,	we	have	
successfully	moved	major	parts	of	our	infrastructure	to	Go.
https://blogs.dropbox.com/tech/2014/07/open-sourcing-our-go-libraries/
2014
Go's	library	is	extensive and	easy to	work	with.
Go	generates	a	single	executable	that	can	be	
distributed	to	our	clients.	There's	no	complex	
dependency	chain	or	layout	of	shared	libraries	to	
worry	about.
https://blog.cloudflare.com/go-at-cloudflare/
2012
1. Static	compilation
2. It’s	not	C++,	not	Python,	not	Ruby,	not	Java
3. It’s	has	good	async,	low-level	interface,	
extensive	library
4. “go	doc”,	“go	get”,	“go	fmt”,	“go	test”,	“go	run”
5. Multi-arch	build
http://www.slideshare.net/jpetazzo/docker-and-go-why-did-we-decide-to-write-docker-in-go
2013
“Go	feels	perfect	for	Ops	work.	
The	error	handling	seems	to	fit	so	naturally	into	the	way	I	want	
to	write	systems	software.	
Deployment	is	really	simple	too,	where	I’d	have	to	think	about	
how	to	package	up	deps and	configure	Ruby	versions	I	can	now	
just	push	an	updated	binary.”
https://signalvnoise.com/posts/3897-go-at-basecamp
2015
When	we	launched	the	CoreOS project	we	knew	from	the	very	
beginning	that	everything	we	built	would	be	written	in	Go.	
This	was	not	to	make	a	fashion	statement,	but	rather	Go	
happened	to	be	the	perfect	platform	for	reaching	our	goals	– to	
build	products	that	make	distributed	computing	as	easy	as	
installing	a	Linux	distro.
https://blog.gopheracademy.com/birthday-bash-2014/go-at-coreos/
2014
Go	is	amazingly	stable	and	awesome.
I	can't	begin	to	list	why	everything	about	it	is	just	great.
https://www.quora.com/Why-did-Koding-switch-from-Node-js-to-Go
2012
TechTalk #3
Thank	you
Vũ Nguyễn
vu.nguyen@will.vn

More Related Content

What's hot (20)

PDF
Go lang
Suelen Carvalho
 
PDF
The Go programming language - Intro by MyLittleAdventure
mylittleadventure
 
PDF
Golang from Scala developer’s perspective
Sveta Bozhko
 
PDF
Lets Go - An introduction to Google's Go Programming Language
Ganesh Samarthyam
 
PPTX
Introduction to go lang
Amal Mohan N
 
PDF
Jumping in Jakarta Open Source Project Everything nobody tells you
Roan Brasil Monteiro
 
PDF
Go language presentation
paramisoft
 
PPTX
Go Lang
Venkata Naga Ravi
 
PDF
An introduction to go programming language
Technology Parser
 
PDF
An Introduction to Go
Imesh Gunaratne
 
PDF
Improving your code design using Java
Roan Brasil Monteiro
 
PDF
Developing for LinkedIn's Application Platform
Taylor Singletary
 
PDF
The Ring programming language version 1.5.1 book - Part 4 of 180
Mahmoud Samir Fayed
 
PDF
Hire golang developers and make the shift to brighter business future (build ...
Katy Slemon
 
PDF
Strategie di testing: Spring Boot loves Kotlin
Marco Fracassi
 
PPTX
Google GO
Ajay Gahlot
 
PPTX
Go Programming language, golang
Basil N G
 
PPTX
ATO 2014 - So You Think You Know 'Go'? The Go Programming Language
John Potocny
 
PDF
When, how &amp; why use golang in 2021 go benefits &amp; use cases
Katy Slemon
 
PPTX
Reactive declarative UI as code - DroidCon Vietnam 2019
oradoe
 
The Go programming language - Intro by MyLittleAdventure
mylittleadventure
 
Golang from Scala developer’s perspective
Sveta Bozhko
 
Lets Go - An introduction to Google's Go Programming Language
Ganesh Samarthyam
 
Introduction to go lang
Amal Mohan N
 
Jumping in Jakarta Open Source Project Everything nobody tells you
Roan Brasil Monteiro
 
Go language presentation
paramisoft
 
An introduction to go programming language
Technology Parser
 
An Introduction to Go
Imesh Gunaratne
 
Improving your code design using Java
Roan Brasil Monteiro
 
Developing for LinkedIn's Application Platform
Taylor Singletary
 
The Ring programming language version 1.5.1 book - Part 4 of 180
Mahmoud Samir Fayed
 
Hire golang developers and make the shift to brighter business future (build ...
Katy Slemon
 
Strategie di testing: Spring Boot loves Kotlin
Marco Fracassi
 
Google GO
Ajay Gahlot
 
Go Programming language, golang
Basil N G
 
ATO 2014 - So You Think You Know 'Go'? The Go Programming Language
John Potocny
 
When, how &amp; why use golang in 2021 go benefits &amp; use cases
Katy Slemon
 
Reactive declarative UI as code - DroidCon Vietnam 2019
oradoe
 

Viewers also liked (6)

PDF
: [INNOVATUBE] Tech Talk #3: Golang - Nguyễn Đăng Minh
Nexus FrontierTech
 
PDF
Innovatube APPRENTICE 2016 - EN
Nexus FrontierTech
 
PDF
[INNOVATUBE] How Do An Investor Makes An Investment Decision? - Hajime Hotta
Nexus FrontierTech
 
PPTX
Growth Hacking strategies used for Code4Startup
Leo Trieu
 
PDF
Founder Fairytale #5 . How To Start A Media Startup
Nexus FrontierTech
 
PDF
Founder Fairytale #4 : Build market launching strategy for education start-up...
Nexus FrontierTech
 
: [INNOVATUBE] Tech Talk #3: Golang - Nguyễn Đăng Minh
Nexus FrontierTech
 
Innovatube APPRENTICE 2016 - EN
Nexus FrontierTech
 
[INNOVATUBE] How Do An Investor Makes An Investment Decision? - Hajime Hotta
Nexus FrontierTech
 
Growth Hacking strategies used for Code4Startup
Leo Trieu
 
Founder Fairytale #5 . How To Start A Media Startup
Nexus FrontierTech
 
Founder Fairytale #4 : Build market launching strategy for education start-up...
Nexus FrontierTech
 
Ad

Similar to [INNOVATUBE] Tech Talk #3: Golang - Vũ Nguyễn (20)

PDF
Introduction to Go
Simon Hewitt
 
PPTX
Scaling applications with go
Vimlesh Sharma
 
PPTX
NodeJS vs Golang - A detailed comparison
Devathon
 
PDF
Getting started with go - Florin Patan - Codemotion Milan 2016
Codemotion
 
PDF
Mphasis Digital - Use Go (gloang) for system programming, distributed systems...
Aniruddha Chakrabarti
 
PPTX
Google developer festival Yangon 2017
Nay Oo Kyaw
 
PDF
Android is going to Go! - Android and goland - Almog Baku
DroidConTLV
 
PDF
Android is going to Go! Android and Golang
Almog Baku
 
PPTX
Top 8 Programming Languages for Beginners to Learn in 2023.pptx
calltutors
 
PDF
Intro to Go
Clarence Bakirtzidis
 
PDF
Let's Go: Introduction to Google's Go Programming Language
Ganesh Samarthyam
 
PDF
WAM: An embedded web runtime history for LG webOS and Automotive Grade Linux
Igalia
 
PDF
Why Golang? Settling the Debate Once and For All
Katy Slemon
 
PDF
Let's Go @ St. Louis CocoaHeads
Paul Balogh
 
PDF
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
Niklas Heidloff
 
PDF
Enterprise 2020
Siarhei Hladkou
 
PPT
Google's Go Programming Language - Introduction
Ganesh Samarthyam
 
PDF
Building Cross-Platform Mobile Apps
Troy Miles
 
PDF
Google’s Internal Memo Leaked "JavaScript is Flawed, Won't Work, and Can't Be...
Stephane Beladaci
 
PPTX
Golang job support.pptx
GSAIdigitalmarketing
 
Introduction to Go
Simon Hewitt
 
Scaling applications with go
Vimlesh Sharma
 
NodeJS vs Golang - A detailed comparison
Devathon
 
Getting started with go - Florin Patan - Codemotion Milan 2016
Codemotion
 
Mphasis Digital - Use Go (gloang) for system programming, distributed systems...
Aniruddha Chakrabarti
 
Google developer festival Yangon 2017
Nay Oo Kyaw
 
Android is going to Go! - Android and goland - Almog Baku
DroidConTLV
 
Android is going to Go! Android and Golang
Almog Baku
 
Top 8 Programming Languages for Beginners to Learn in 2023.pptx
calltutors
 
Let's Go: Introduction to Google's Go Programming Language
Ganesh Samarthyam
 
WAM: An embedded web runtime history for LG webOS and Automotive Grade Linux
Igalia
 
Why Golang? Settling the Debate Once and For All
Katy Slemon
 
Let's Go @ St. Louis CocoaHeads
Paul Balogh
 
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
Niklas Heidloff
 
Enterprise 2020
Siarhei Hladkou
 
Google's Go Programming Language - Introduction
Ganesh Samarthyam
 
Building Cross-Platform Mobile Apps
Troy Miles
 
Google’s Internal Memo Leaked "JavaScript is Flawed, Won't Work, and Can't Be...
Stephane Beladaci
 
Golang job support.pptx
GSAIdigitalmarketing
 
Ad

More from Nexus FrontierTech (20)

PPTX
[Executive Lounge Talk] Digital Transformation Journey
Nexus FrontierTech
 
PDF
[AI series Talk #2] From PoC to Production - A Case Study
Nexus FrontierTech
 
PDF
[AI Series Talk #2] Moving AI from PoC Stage to Production
Nexus FrontierTech
 
PDF
[VFS 2019] Introduction to GANs - Pixta Vietnam
Nexus FrontierTech
 
PPTX
[VFS 2019] Enabling Young Generation for Future - AWS Vietnam User Group
Nexus FrontierTech
 
PPTX
[VFS 2019] Building chatbot with RASA
Nexus FrontierTech
 
PPTX
[VFS 2019] Vietnamese Speech-to-Text: Applications and Product
Nexus FrontierTech
 
PDF
[VFS 2019] How AI Will Innovate Recruitment
Nexus FrontierTech
 
PPTX
[VFS 2019] AI in Finance
Nexus FrontierTech
 
PPTX
[VFS 2019] Preventive Approach to Designing and Selling Healthy AI System
Nexus FrontierTech
 
PDF
[VFS 2019] Phương pháp phát hiện bất thường bằng học máy
Nexus FrontierTech
 
PDF
[VFS 2019] OCR Techniques for Digital Transformation Evolution
Nexus FrontierTech
 
PPTX
[VFS 2019] Human Activity Recognition Approaches
Nexus FrontierTech
 
PPTX
[VFS 2019] Aimesoft Solutions
Nexus FrontierTech
 
PPTX
[VFS 2019] Datamart Introduction (brief)
Nexus FrontierTech
 
PDF
[VFS 2019] Data Strategy for Vietnamese Businesses to Levarage AI
Nexus FrontierTech
 
PPTX
[VFS 2019] AI for Banks
Nexus FrontierTech
 
PDF
[VFS 2019] Digital Solution for Enterprises: 24/7 A.I English Speaking Coach
Nexus FrontierTech
 
PDF
[VFS 2019] Project Management for AI-based Product - A Better Approach
Nexus FrontierTech
 
PDF
[VFS 2019] AI Ecosystem transition from zero to hero - case study by rubikAI
Nexus FrontierTech
 
[Executive Lounge Talk] Digital Transformation Journey
Nexus FrontierTech
 
[AI series Talk #2] From PoC to Production - A Case Study
Nexus FrontierTech
 
[AI Series Talk #2] Moving AI from PoC Stage to Production
Nexus FrontierTech
 
[VFS 2019] Introduction to GANs - Pixta Vietnam
Nexus FrontierTech
 
[VFS 2019] Enabling Young Generation for Future - AWS Vietnam User Group
Nexus FrontierTech
 
[VFS 2019] Building chatbot with RASA
Nexus FrontierTech
 
[VFS 2019] Vietnamese Speech-to-Text: Applications and Product
Nexus FrontierTech
 
[VFS 2019] How AI Will Innovate Recruitment
Nexus FrontierTech
 
[VFS 2019] AI in Finance
Nexus FrontierTech
 
[VFS 2019] Preventive Approach to Designing and Selling Healthy AI System
Nexus FrontierTech
 
[VFS 2019] Phương pháp phát hiện bất thường bằng học máy
Nexus FrontierTech
 
[VFS 2019] OCR Techniques for Digital Transformation Evolution
Nexus FrontierTech
 
[VFS 2019] Human Activity Recognition Approaches
Nexus FrontierTech
 
[VFS 2019] Aimesoft Solutions
Nexus FrontierTech
 
[VFS 2019] Datamart Introduction (brief)
Nexus FrontierTech
 
[VFS 2019] Data Strategy for Vietnamese Businesses to Levarage AI
Nexus FrontierTech
 
[VFS 2019] AI for Banks
Nexus FrontierTech
 
[VFS 2019] Digital Solution for Enterprises: 24/7 A.I English Speaking Coach
Nexus FrontierTech
 
[VFS 2019] Project Management for AI-based Product - A Better Approach
Nexus FrontierTech
 
[VFS 2019] AI Ecosystem transition from zero to hero - case study by rubikAI
Nexus FrontierTech
 

Recently uploaded (20)

PDF
How to Download and Install ADT (ABAP Development Tools) for Eclipse IDE | SA...
SAP Vista, an A L T Z E N Company
 
PPTX
TRAVEL APIs | WHITE LABEL TRAVEL API | TOP TRAVEL APIs
philipnathen82
 
PDF
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
PDF
Protecting the Digital World Cyber Securit
dnthakkar16
 
PPTX
Employee salary prediction using Machine learning Project template.ppt
bhanuk27082004
 
PDF
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
PDF
SAP GUI Installation Guide for Windows | Step-by-Step Setup for SAP Access
SAP Vista, an A L T Z E N Company
 
PDF
New Download MiniTool Partition Wizard Crack Latest Version 2025
imang66g
 
PPTX
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
PDF
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
PDF
Step-by-Step Guide to Install SAP HANA Studio | Complete Installation Tutoria...
SAP Vista, an A L T Z E N Company
 
PDF
WatchTraderHub - Watch Dealer software with inventory management and multi-ch...
WatchDealer Pavel
 
PDF
Enhancing Security in VAST: Towards Static Vulnerability Scanning
ESUG
 
PDF
10 posting ideas for community engagement with AI prompts
Pankaj Taneja
 
PPTX
Explanation about Structures in C language.pptx
Veeral Rathod
 
PPTX
Role Of Python In Programing Language.pptx
jaykoshti048
 
PDF
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
PDF
Salesforce Pricing Update 2025: Impact, Strategy & Smart Cost Optimization wi...
GetOnCRM Solutions
 
PDF
AWS_Agentic_AI_in_Indian_BFSI_A_Strategic_Blueprint_for_Customer.pdf
siddharthnetsavvies
 
PDF
Virtual Threads in Java: A New Dimension of Scalability and Performance
Tier1 app
 
How to Download and Install ADT (ABAP Development Tools) for Eclipse IDE | SA...
SAP Vista, an A L T Z E N Company
 
TRAVEL APIs | WHITE LABEL TRAVEL API | TOP TRAVEL APIs
philipnathen82
 
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
Protecting the Digital World Cyber Securit
dnthakkar16
 
Employee salary prediction using Machine learning Project template.ppt
bhanuk27082004
 
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
SAP GUI Installation Guide for Windows | Step-by-Step Setup for SAP Access
SAP Vista, an A L T Z E N Company
 
New Download MiniTool Partition Wizard Crack Latest Version 2025
imang66g
 
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
Step-by-Step Guide to Install SAP HANA Studio | Complete Installation Tutoria...
SAP Vista, an A L T Z E N Company
 
WatchTraderHub - Watch Dealer software with inventory management and multi-ch...
WatchDealer Pavel
 
Enhancing Security in VAST: Towards Static Vulnerability Scanning
ESUG
 
10 posting ideas for community engagement with AI prompts
Pankaj Taneja
 
Explanation about Structures in C language.pptx
Veeral Rathod
 
Role Of Python In Programing Language.pptx
jaykoshti048
 
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
Salesforce Pricing Update 2025: Impact, Strategy & Smart Cost Optimization wi...
GetOnCRM Solutions
 
AWS_Agentic_AI_in_Indian_BFSI_A_Strategic_Blueprint_for_Customer.pdf
siddharthnetsavvies
 
Virtual Threads in Java: A New Dimension of Scalability and Performance
Tier1 app
 

[INNOVATUBE] Tech Talk #3: Golang - Vũ Nguyễn