SlideShare uma empresa Scribd logo
1 de 56
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Java	9:	Tips	on	MigraDon	and	
Upgradability	
Bernard	Traversat	
Vice	President	of	Development	
Java	SE	PlaJorm		
Oracle	
	
	
November,	2017	
ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 1
InfoQ.com: News & Community Site
• Over 1,000,000 software developers, architects and CTOs read the site world-
wide every month
• 250,000 senior developers subscribe to our weekly newsletter
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• 2 dedicated podcast channels: The InfoQ Podcast, with a focus on
Architecture and The Engineering Culture Podcast, with a focus on building
• 96 deep dives on innovative topics packed as downloadable emags and
minibooks
• Over 40 new content items per week
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
java-9-migrate
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
Presented at QCon San Francisco
www.qconsf.com
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Safe	Harbor	Statement	
The	following	is	intended	to	outline	our	general	product	direcDon.	It	is	intended	for	
informaDon	purposes	only,	and	may	not	be	incorporated	into	any	contract.	It	is	not	a	
commitment	to	deliver	any	material,	code,	or	funcDonality,	and	should	not	be	relied	upon	
in	making	purchasing	decisions.	The	development,	release,	and	Dming	of	any	features	or	
funcDonality	described	for	Oracle’s	products	remains	at	the	sole	discreDon	of	Oracle.	
ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 2
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Agenda	
Upgradability		
JDK	9	migraDon	Dps	
Why	Java	9	New	Module	really	maZers	for	upgradability	?		
Why	all	the	above	maZer	even	more	for	the	cloud	and	
microservices!	
1	
2	
3	
4	
ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 3
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 4	
Upgradability
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 5	
So`ware	Upgradability
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Managing	and	Securing	the	Cloud	at	Scale	
•  Massive	cloud	buildup	over	the	past	few	years	means	compounding	
risks	if	a	patch	or	update	is	not	applied	
– 	Equifax	failed	to	patch	a	known	security	vulnerability	
•  Through	2020,	99%	of	vulnerabili8es	exploited	will	conDnue	to	be	the	
ones	known	by	security	and	IT	professionals	for	at	least	one	year	
(Gartner)	
•  The	2016	Microso`	Security	Intelligence	Report	states	that	5,000	to	
6,000	new	vulnerabiliDes	surface	each	year.	That	works	out	to	an	
average	of	15	per	day.	
•  ExponenDal	complexity	to	manage	n	different	versions	of	the	same	
so`ware	(nm)	
•  The	Cloud	is	demanding	conDnuous	upgradability!	
ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 6
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Why	Upgrading?	
•  Security	fixes	
•  Regressions	fixes	
•  New	release	or	a	new	feature	
•  More	performance	
•  More	robustness	
•  Because	the	layer	underneath	or	above	you	just	upgraded	(OS’s,	Hardware)	
•  Reduce	cost	of	operaDon	via	uniformity	
ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 7
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Why	Not	Upgrading?	
ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 8	
It	is	going	to	cost	me	a	lot	of	money	if		
something	goes	wrong!	
Something	is	going	to	go	wrong!	
It	is	work.	I	need	to	modify	my	app!
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 Oracle	ConfidenDal	–	Internal/Restricted/Highly	Restricted	 9	
JavaScript	Upgradability	
h4ps://trends.builtwith.com/javascript/compa=bility	
30%
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 Oracle	ConfidenDal	–	Internal/Restricted/Highly	Restricted	 10	
JavaScript	Upgradability	
h4ps://trends.builtwith.com/javascript/compa=bility	
64%
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Golang	Upgradability	
ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 11
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Python	Upgradability	
ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 12	
Surgery	is	good,	but	painful!
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
C#	and	.Net	Upgradability	
ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 13
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Java	Upgradability	
There	are	three	kinds	of	compaDbility	explicitly	managed	in	the	Java	
PlaJorm:	
•  Binary:	will	exisDng	libraries	and	applicaDons	sDll	link?	
•  Source:	will	exisDng	source	bases	sDll	compile?	If	the	source	bases	sDll	
compile,	will	the	resulDng	class	file	have	equivalent	semanDcs?	
•  Behavioral:	at	runDme,	will	exisDng	libraries	and	applicaDons	behave	in	a	
sufficiently	similar	way?	
Oracle	ConfidenDal	–	Internal/Restricted/Highly	Restricted	 14
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Categories	of	APIs	in	the	Java	PlaJorm	
•  Most	of	the	APIs	shipped	in	the	JDK	(java.*,	javax.*)	have	specificaDons	
managed	under	the	JCP	(Java	Community	Process)	
– Million	and	millions	of	tests	to	ensure	compaDbility	and	upgradeability	
– Vast	ecosystem	of	exisDng	OSS	libraries	we	can	use	to	test	compaDbility	
•  To	update	the	specificaDon	of	such	an	API,	a	JCP	process	is	required	
– Rigorous	JSR	&	OpenJDK	technical	review	and	assessment	process	
Oracle	ConfidenDal	 15
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
A	Java	compaDbility	review	includes,	but	is	not	limited	to…	
•  Overall	suitability	for	the	plaJorm	
– Recommended	use	of	language	features	and	other	libraries	
– Following	JDK	API	convenDons	
– Compliance	with	standing	technical	policies,	including	general	evoluDon	policy	
– “Have	you	considered	yesterday,	today	and	tomorrow	impacts”	
•  Verify	proper	technical	reviewer	is	present	
•  Help	make	connecDons	to	other	areas	
•  For	some	security	fixes	with	behavioral	changes	we	are	working	hard	to	
find	a	fix	that	meets	security	and	compaDbility	requirements	
Oracle	ConfidenDal	 16
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Java	PlaJorm	CompaDbility	Commitment		
ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 17	
A	big	reason	for	Java	being	the	#1		
Development	PlaJorm	over	the		
past	10	years!
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JDK	9	MigraDon:	First	Impression	
ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 18	
You	guys	are	breaking	everything!
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JDK	9	MigraDon:	Acknowledgment	
ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 19	
No,	I	don’t	want	to	hear	that	I	need		
to	modify	my	app!
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JDK	9	MigraDon:	Reality	
ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 20	
I	migrated	my	app,	it	was	not	that	bad!
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JDK	9	The	good	news	
•  The	class	path	has	not	changed	
•  Class	loading	has	not	changed	
•  You	are	not	forced	to	migrate	your	code	to	modules	
•  sun.misc.Unsafe	works	as	before	
•  Most	exisDng	code	should	work	as	before	
•  The	IDEs,	Maven,	…	all	have	support	for	JDK	9	already	
21
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
The	not	so	good	news	
•  You	will	have	to	upgrade	the	libraries	and	tools	that	you	use	
•  If	you	use	any	of	the	components	that	are	shared	between	Java	SE	and	Java	
EE	then	you	may	need	to	adjust	your	build	or	deployment	
•  A	small	number	of	supported	APIs	have	been	removed	
•  A	number	of	non-API	features	and	tools	have	been	removed		
•  You	may	see	some	warnings	from	the	libraries	that	you	use	
22
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 23
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 24
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 25
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 26
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 27
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 28
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 29
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 30
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 31
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 32
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 33
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 34
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 35
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JDK	Faster	Cadence:	6-month	Release	Cycle	
•  Java	has	developed	9	Major	releases	over	the	past	21	years	(every	~2.5	
Years)	
•  The	Cloud	is	changing	the	pace	of	innovaDon.	Developers	want	quicker	
access	to	new	features.		
•  Under	our	current	model	JDK	10	would	GA	around	2020	
– This	is	forever	in	Cloud	Years!	
•  From	feature	bound	to	Dme-bound	–	Every	6	months!	
•  Uptake	of	new	releases	is	less	of	an	issue,	because	less	content	and	cloud	
operators	will	do	this	at	scale	for	you	J	
Oracle	ConfidenDal	–	Internal	 36
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Simplify	the	JDK	DistribuDon:	OpenJDK	vs	Oracle	JDK	
•  Large	ecosystem	with	many	different	consDtuent	profiles	
–  Developers	--	focused	on	the	bleeding	edge,	want	to	see	faster	
innovaDon	
–  Installed	base	--	maintaining	legacy	systems,	want	stability	and	security	
•  Need	to	simplify	our	distribuDon	
–  Open	sourcing	commercial	features	(one	code	base)	
–  Two	distribuDon	trains:	
•  OpenJDK	–			Focused	on	delivering	innovaDons	at	a	faster	cadence	
•  Oracle	JDK	–	Stability	and	criDcal	bug	fixes		
Oracle	ConfidenDal	–	Internal	 37
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 38
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Why	Is	It	Hard	to	Uptake	a	New	Java	Release	
•  20%	-	Removed	deprecated	APIs	
– Obsolete	APIs	that	have	been	tagged	for	deprecaDon	for	some	Dme	
– Trade-off	of	compaDbility	vs	innovaDon	
•  30%	Changed	in	a	public	API	behavior	
– Either	the	implementaDon	of	the	spec	was	wrong,	or	the	spec	was	wrong	and	we	
needed	to	change	the	implementaDon	
– A	security	fix	required	to	change	an	unspecified	behavior	
•  50%	Use	of	internal/non-public	APIs	
– We	told	you	that	these	APIs	may	change	and	they	indeed	changed	
ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 39
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 40	
Edsger	Dijkstra	wrote	in	1988,	
	
“We	have	to	be	able	to	think	in	terms	of	
conceptual	hierarchies	that	are	much	deeper	
than	a	single	mind	ever	needed	to	face	
before.”
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Can	We	Learn	from	the	Hardware	Guys	
ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 41	
10-15	Years	Ago	L	 Data	Center	Architecture	Today		J
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
	A	few	Golden	Rules		
ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 42	
Uniformity	 Modularity
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
So`ware	Modularity	&	Uniformity	For	the	Cloud		
ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 43	
•  Docker	provides	an	uniform	wrapper	around	a	so`ware	
	package		“Build,	Ship	and	Run	Any	App,	Anywhere”	
•  The	container	is	always	the	same,	regardless	of	the	
	contents	and	thus	fits	on	all	trucks,	cranes,	ships,	…	
	
•  But,	Docker	and	Kubernetes	do	not	address	app	modularity		
inside	the	container.	This	is	why	the	Java	9	new	module		
system	is	so	important!	
		
	
•  Kubernetes	provides	an	elasDc	deployment	and		
management
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JDK	9	Module	
ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 44	
Code	Re-Usability	and	Informa8on	Hiding	
Class	to	reuse	behaviors	
Interface	to	re-use	abstracDons
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JDK	9	Module	
ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 45	
Code	Re-Usability	
JDK	217	Packages
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JDK	9	Module	
ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 46	
Java	9	Module	
Module	is	a	new	fundamental	abstracDon	designed	explicitly	for	encapsulaDon	and	reuse
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Java	9	Module	–	A	beZer	FoundaDon	for	CompaDbility	
ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 47	
Access	Control	Enforced	by	the	JVM
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Java	9	Module	–	A	beZer	FoundaDon	for	CompaDbility	
ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 48
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JDK	7	Internal	dependencies		
ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 49
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Java	9	Module	–	A	beZer	FoundaDon	for	CompaDbility	
ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 50
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Summary	
•  The	cloud	is	puxng	increasing	demands	on	upgradeability			(minute/week		vs	
month/year)	
– To	reduce	complexity	and	cost	(uDlity	compuDng)	
– To	address	vulnerability	and	sustaining	upgrades	as	o`en	as	needed	
•  Upgradeability	is	significant	issues	to	manage	Cloud	services	at	scale	
•  JDK	9	Module	and	strong	encapsulaDon	at	the	JVM	level	is	moving	the	bar	
beyond	what	any	other	developer	runDme	is	providing	to	improve	upgradability	
and	guarantee	compaDbility	
•  Uptaking	9	may	be	some	is	not	that	scary!	
•  Please	uptake	9	and	assemble	your	services	as	module	for	the	sake	of	our	
industry	J	
ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 51
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Q&A	
ConfidenDal	–	Oracle	Internal/Restricted/Highly	Restricted	 52
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
java-9-migrate

Mais conteúdo relacionado

Mais de C4Media

Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDC4Media
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine LearningC4Media
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at SpeedC4Media
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsC4Media
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsC4Media
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerC4Media
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleC4Media
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeC4Media
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereC4Media
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing ForC4Media
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data EngineeringC4Media
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreC4Media
 
Navigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsNavigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsC4Media
 
High Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechHigh Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechC4Media
 
Rust's Journey to Async/await
Rust's Journey to Async/awaitRust's Journey to Async/await
Rust's Journey to Async/awaitC4Media
 
Opportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven UtopiaOpportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven UtopiaC4Media
 
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/DayDatadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/DayC4Media
 
Are We Really Cloud-Native?
Are We Really Cloud-Native?Are We Really Cloud-Native?
Are We Really Cloud-Native?C4Media
 
CockroachDB: Architecture of a Geo-Distributed SQL Database
CockroachDB: Architecture of a Geo-Distributed SQL DatabaseCockroachDB: Architecture of a Geo-Distributed SQL Database
CockroachDB: Architecture of a Geo-Distributed SQL DatabaseC4Media
 
A Dive into Streams @LinkedIn with Brooklin
A Dive into Streams @LinkedIn with BrooklinA Dive into Streams @LinkedIn with Brooklin
A Dive into Streams @LinkedIn with BrooklinC4Media
 

Mais de C4Media (20)

Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
 
Navigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsNavigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery Teams
 
High Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechHigh Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in Adtech
 
Rust's Journey to Async/await
Rust's Journey to Async/awaitRust's Journey to Async/await
Rust's Journey to Async/await
 
Opportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven UtopiaOpportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven Utopia
 
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/DayDatadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
 
Are We Really Cloud-Native?
Are We Really Cloud-Native?Are We Really Cloud-Native?
Are We Really Cloud-Native?
 
CockroachDB: Architecture of a Geo-Distributed SQL Database
CockroachDB: Architecture of a Geo-Distributed SQL DatabaseCockroachDB: Architecture of a Geo-Distributed SQL Database
CockroachDB: Architecture of a Geo-Distributed SQL Database
 
A Dive into Streams @LinkedIn with Brooklin
A Dive into Streams @LinkedIn with BrooklinA Dive into Streams @LinkedIn with Brooklin
A Dive into Streams @LinkedIn with Brooklin
 

Último

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 

Último (20)

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 

Java 9: Tips on Migration and Upgradability