SlideShare a Scribd company logo
OBSERVABILITY IN A
CONTAINERIZED WORLD
Tim Gross @0x74696d
https://joyent.com/about/careers
@0x74696dgithub.com/tgross/observability-workshop
“We have built mind-bogglingly
complicated systems that we cannot see,
allowing glaring performance problems
to hide in broad daylight in our systems.”
Bryan Cantrill, Joyent CTO
ACM Queue Vol 4, Issue 1, 2006 Feb 23
http://queue.acm.org/detail.cfm?id=1117401
@0x74696dgithub.com/tgross/observability-workshop
“Get used to interacting with your observability
tooling every day. As part of your release cycle, or
just out of curiosity. Honestly, things are broken all
the time — you don’t even know what normal looks
like unless you’re also interacting with your
observability tooling under “normal” circumstances.”
Charity Majors
CEO Honeycomb.io
Building Badass Engineers and Badass Teams
http://ow.ly/IDOs305uN7W
@0x74696dgithub.com/tgross/observability-workshop
OBSERVABILITY
IN CONTAINERS
OBSERVABILITY
OF APPLICATIONS
=
@0x74696dgithub.com/tgross/observability-workshop
$	ssh	ubuntu@${IP}	
Welcome	to	Ubuntu	16.04.1	LTS	(GNU/Linux	4.4.0-45-generic	x86_64)	
Certified	Ubuntu	Cloud	Image	
			__								.																			.	
	_|		|_						|	.-.	.		.	.-.	:--.	|-	
|_				_|					;|			||		|(.-'	|		|	|	
		|__|			`--'		`-'	`;-|	`-'	'		'	`-'	
																			/		;		Instance	(Ubuntu	16.04.1	LTS	20161020)	
																			`-'			https://docs.joyent.com/images/linux/ubuntu-certified	
																									http://www.ubuntu.com/cloud#joyent	
	*	Documentation:		https://help.ubuntu.com	
	*	Management:					https://landscape.canonical.com	
	*	Support:								https://ubuntu.com/advantage	
	Get	cloud	support	with	Ubuntu	Advantage	Cloud	Guest:	
			http://www.ubuntu.com/business/services/cloud	
Last	login:	Wed	Nov		2	14:20:32	2016	from	98.114.23.154	
ubuntu@05ca8420-3b56-43c5-9e28-209bd2eab154:~$
@0x74696dgithub.com/tgross/observability-workshop
ubuntu@05ca8420-3b56-43c5-9e28-209bd2eab154:~$	cd	workshop/	
ubuntu@05ca8420-3b56-43c5-9e28-209bd2eab154:~/workshop$	ls	-lah	
total	68K	
drwxrwxr-x	8	ubuntu	ubuntu	4.0K	Nov		2	14:32	.	
drwxr-xr-x	7	ubuntu	ubuntu	4.0K	Oct	31	19:51	..	
drwxrwxr-x	2	ubuntu	ubuntu	4.0K	Oct	31	18:55	consul	
-rw-rw-r--	1	ubuntu	ubuntu	2.9K	Nov		2	14:32	docker-compose.yml	
drwxrwxr-x	3	ubuntu	ubuntu	4.0K	Nov		1	13:56	fortunes	
drwxrwxr-x	8	ubuntu	ubuntu	4.0K	Nov		1	19:46	.git	
-rw-rw-r--	1	ubuntu	ubuntu			28	Oct	31	18:55	.gitignore	
-rw-rw-r--	1	ubuntu	ubuntu		16K	Oct	31	17:26	LICENSE	
-rw-rw-r--	1	ubuntu	ubuntu	3.1K	Nov		1	19:46	local-compose.yml	
drwxrwxr-x	2	ubuntu	ubuntu	4.0K	Oct	31	18:55	mysql	
drwxrwxr-x	2	ubuntu	ubuntu	4.0K	Nov		1	15:26	nginx	
-rw-rw-r--	1	ubuntu	ubuntu	6.1K	Oct	31	18:55	README.md	
drwxrwxr-x	3	ubuntu	ubuntu	4.0K	Oct	31	20:31	setup
@0x74696dgithub.com/tgross/observability-workshop
ubuntu@05ca8420-3b56-43c5-9e28-209bd2eab154:~/workshop$	docker	images	
REPOSITORY																TAG																	IMAGE	ID												CREATED													SIZE	
workshop_nginx												latest														1e8c5dabd8d5								19	hours	ago								249.6	MB	
workshop_fortunes									latest														c94501cbbf3b								25	hours	ago								61.42	MB	
workshop_mysql												latest														504d8ce0ff06								44	hours	ago								491.8	MB	
workshop_consul											latest														a52cbd2b8c03								44	hours	ago								54.69	MB	
alpine																				3.4																	baa5d63471ea								2	weeks	ago									4.799	MB	
autopilotpattern/nginx				1-r6.1.0												50ff23913232								2	weeks	ago									249.6	MB	
autopilotpattern/mysql				5.6r3.1.0											d9709015cd62								4	weeks	ago									491.8	MB	
autopilotpattern/consul			0.7r0.7													224d9f7134fa								6	weeks	ago									54.69	MB
@0x74696dgithub.com/tgross/observability-workshop
ubuntu@05ca8420-3b56-43c5-9e28-209bd2eab154:~/workshop$	docker-compose	up	-d	
Creating	workshop_mysql_1	
Creating	workshop_consul_1	
Creating	workshop_nginx_1	
Creating	workshop_fortunes_1	
ubuntu@05ca8420-3b56-43c5-9e28-209bd2eab154:~/workshop$	docker-compose	ps	
							Name																						Command															State			Ports	
--------------------------------------------------------------------	
workshop_consul_1					/usr/local/bin/containerpi	...			Up	
workshop_fortunes_1			/bin/containerpilot	-confi	...			Up	
workshop_mysql_1						containerpilot	mysqld	--co	...			Up	
workshop_nginx_1						/usr/local/bin/containerpi	...			Up
@0x74696dgithub.com/tgross/observability-workshop
Nginx
Consul
MySQL

Primary
MySQL

Replica
ES

Master
ES

Data
Kibana
Prometheus
Service B
Logstash
Service A
@0x74696dgithub.com/tgross/observability-workshop
Nginx
Consul
MySQL
Elastic

search
Kibana
Prometheus
Fortunes
Logstash
Consul

Agent
@0x74696dgithub.com/tgross/observability-workshop
Nginx
Consul
MySQL
Elastic

search
Kibana
Prometheus
Fortunes
Logstash
Consul

Agent
@0x74696dgithub.com/tgross/observability-workshop
Nginx
Consul
MySQL
Elastic

search
Kibana
Prometheus
Fortunes
Logstash
Consul

Agent
@0x74696dgithub.com/tgross/observability-workshop
Nginx
Consul
MySQL
Elastic

search
Kibana
Prometheus
Fortunes
Logstash
Consul

Agent
@0x74696dgithub.com/tgross/observability-workshop
Nginx
Consul
MySQL
Elastic

search
Kibana
Prometheus
Fortunes
Logstash
Consul

Agent
@0x74696dgithub.com/tgross/observability-workshop
Nginx
Consul
MySQL
Elastic

search
Kibana
Prometheus
Fortunes
Logstash
Consul

Agent
@0x74696dgithub.com/tgross/observability-workshop
Nginx
Container
Fortunes
Container
(node.js)
Consul
Agent
Container
MySQL
Container
Docker
Your KVM:
▸ Docker Engine
▸ Composed containers
▸ Host networking (shared IP)
Virtual Machine
@0x74696dgithub.com/tgross/observability-workshop
Customer
KVM
Customer
KVM
SmartOS Container Hypervisor
Customer
Container
Customer
Container
Customer
Container
Customer
Container
Customer
Container
Customer
Container
Customer
Container
Customer
Container
Customer
Container
Customer
Container
Triton compute node:
▸ SmartOS
▸ Many customer containers
▸ VXLAN: 1 container =1+ IPs
Bare-metal compute
@0x74696dgithub.com/tgross/observability-workshop
Customer
KVM
SmartOS Container Hypervisor
Customer
Container
Customer
Container
Customer
Container
Customer
Container
Customer
Container
Customer
Container
Customer
Container
Customer
Container
Customer
Container
Customer
Container
Customer
Container
Customer
KVM
Elasticsearch
Prometheus
Logstash
Kibana
Triton Cloud
▸ Many compute nodes
▸ Containers distributed
transparently across DC
Bare-metal compute
@0x74696dgithub.com/tgross/observability-workshop
Docker Log drivers
‣ Captures stdout/stderr; easy for 12-Factor apps
‣ Mangles multi-line logs (stack traces)
‣ Wraps log line in log driver structure: makes
parsing structured logs really messy
@0x74696dgithub.com/tgross/observability-workshop
Logging to File
‣ Mounting volume on host for logging to file isn’t
portable across platforms (e.g. PaaS)
‣ Log shippers as co-process in container can be
arbitrarily smart
@0x74696dgithub.com/tgross/observability-workshop
Structured Logging
‣ Require more storage, less ingest processing
‣ More metadata to search on
‣ Docker log drivers blow away structured logs =(
‣ Consider logging directly from app to collector
@0x74696d
@0x74696dgithub.com/tgross/observability-workshop
<20>Nov	11	2016	14:52:01	nginx/edaac4e19616	[4996]:	[2016-11-04T14:52:01+00:00]	
5c18b677d628d9511818baab9f33ceb3	"GET	/	HTTP/1.1"	200	204	"-"	127.0.0.1	"curl/
7.47.0"
@0x74696dgithub.com/tgross/observability-workshop
<20>Nov	11	2016	14:52:01	nginx/edaac4e19616	[4996]:	[2016-11-04T14:52:01+00:00]	
5c18b677d628d9511818baab9f33ceb3	"GET	/	HTTP/1.1"	200	204	"-"	127.0.0.1	"curl/
7.47.0"
syslog wrapper: added by log driver
@0x74696dgithub.com/tgross/observability-workshop
<20>Nov	11	2016	14:52:01	nginx/edaac4e19616	[4996]:	[2016-11-04T14:52:01+00:00]	
5c18b677d628d9511818baab9f33ceb3	"GET	/	HTTP/1.1"	200	204	"-"	127.0.0.1	"curl/
7.47.0"
container identifier via Compose
hostname flag
@0x74696dgithub.com/tgross/observability-workshop
<20>Nov	11	2016	14:52:01	nginx/edaac4e19616	[4996]:	[2016-11-04T14:52:01+00:00]	
5c18b677d628d9511818baab9f33ceb3	"GET	/	HTTP/1.1"	200	204	"-"	127.0.0.1	"curl/
7.47.0"
Nginx access log timestamp
@0x74696dgithub.com/tgross/observability-workshop
<20>Nov	11	2016	14:52:01	nginx/edaac4e19616	[4996]:	[2016-11-04T14:52:01+00:00]	
5c18b677d628d9511818baab9f33ceb3	"GET	/	HTTP/1.1"	200	204	"-"	127.0.0.1	"curl/
7.47.0"
Nginx $request_id field
@0x74696dgithub.com/tgross/observability-workshop
$	vi	~/workshop/setup/supporting/logstash/logstash.conf	
...	
filter	{	
		#	first	parse	out	the	body	from	the	syslog	format	
		#	we've	added	tags	via	the	Docker	log	drivers	to	identify	the	
		#	specific	container	and	the	service	identifier.	See:	
		#	https://docs.docker.com/engine/admin/logging/log_tags/	
		grok	{	
				match	=>	{	
						"message"	=>	'%{SYSLOG5424PRI:syslog5424_pri}+(?:%
{SYSLOGTIMESTAMP:syslog_timestamp}|-)	%{WORD:serviceid}/+(?:%
{HOSTNAME:containerid}|-)[+(?:%{POSINT:pid}|-)]:	%{GREEDYDATA:msg}'	
						}	
		}	
		syslog_pri	{	}	
...
@0x74696dgithub.com/tgross/observability-workshop
...	
		#	failed	to	match,	so	parse	as	error	
		if	"_grokparsefailure"	in	[tags]	{	
				mutate	{	
						add_tag	=>	"parse_error"	
				}	
		}	else	{	
						mutate	{	
								#	the	raw	message	is	redundant	data	at	this	point	
								remove_field	=>	[	"message",	"@source_host"	]	
						}	
						mutate	{	
								#	once	we've	got	a	valid	syslog	parse	we	can	discard	all	this	rubbish	
								#	because	the	Docker	log	driver	stomped	all	over	anything	useful	
								remove_field	=>	[	
											"syslog_hostname",	"syslog_message",	"syslog_timestamp",	
											"syslog_severity",	"syslog_facility_code",	"syslog_severity_code",	
											"syslog_facility",	"syslog5424_pri"	
								]	
						}	
		}	
...
@0x74696dgithub.com/tgross/observability-workshop
...	
		#	filter	to	get	the	application-specific	log	format.	lots	of	these	have	
		#	their	own	timestamps,	which	we'll	capture	and	overwrite	the	"outermost"	
		#	timestamp	with	
		grok	{	
				#	nginx	access	log	
				match	=>	{	
						"msg"	=>	'[%{TIMESTAMP_ISO8601:log_timestamp}]	%{WORD:req_id}	"%
{WORD:http_method}	%{URIPATHPARAM:http_request}	HTTP/%{NUMBER:http_version}"	%
{NUMBER:http_code}	%{NUMBER:http_bytes_sent}	(?:%{QUOTEDSTRING:http_referer}|-)	%
{IP:client}	(?:%{QUOTEDSTRING:http_user_agent}|-)'	
				}	
				#	nginx	error	msg	
				match	=>	{	
						"msg"	=>	'(?<log_timestamp>%{YEAR}/%{MONTHNUM}/%{MONTHDAY}	%{TIME})	(?
<http_timestamp>%{YEAR}/%{MONTHNUM}/%{MONTHDAY}	%{TIME})?	?%{GREEDYDATA:msg}'	
				}	
...
@0x74696dgithub.com/tgross/observability-workshop
				#	mysql	log	messages	
				match	=>	{	
						"msg"	=>	'%{TIMESTAMP_ISO8601:log_timestamp}	%{NUMBER}	[%{LOGLEVEL:level}]	?%
{GREEDYDATA:msg}'	
				}	
				#	mysql	manage.py	log	messages	
				match	=>	{	
						"msg"	=>	'(?<log_timestamp>%{YEAR}/%{MONTHNUM}/%{MONTHDAY}	%{TIME})?	%
{LOGLEVEL:level}	manage	%{GREEDYDATA:msg}'	
				}	
				#	ContainerPilot	log	format	
				match	=>	{	
						"msg"	=>	'(?<log_timestamp>%{YEAR}/%{MONTHNUM}/%{MONTHDAY}	%{TIME})?	?%
{GREEDYDATA:msg}'	
				}	
				#	catchall	
				match	=>	{	"msg"	=>	"%{GREEDYDATA:msg}"	}	
				overwrite	=>	[	"log_timestamp"	]	
				overwrite	=>	[	"msg"	]	
		}	#	end	grok
@0x74696dgithub.com/tgross/observability-workshop
		#	fortunes	application	
		json	{	
				source	=>	"msg"	
				add_field	=>	[	"log_timestamp",	"%{time}"]	#	overwrites	w/	timestamp	from	app	
				remove_field	=>	[	"time"	]	
		}	
		#	anything	other	than	our	fortunes	application	will	not	be	JSON	
		#	so	we'll	ignore	this	error	
		if	"_jsonparsefailure"	in	[tags]	{	
				mutate	{	remove_tag	=>	"_jsonparsefailure"	}	
		}	
}
@0x74696dgithub.com/tgross/observability-workshop
Metrics
‣ Ephemeral containers == higher dimensionality
‣ Use service discovery to find collector / targets
‣ Pulling metrics safer / more scalable in multi-tenant
environments (tenants can’t DDOS collector)
@0x74696dgithub.com/tgross/observability-workshop
Prometheus
Container
Pilot
Application
Consul
I’m “application” at 192.168.1.100:3000

I’m “telemetry” at 192.168.1.100:9090
Application

container
Sensor
@0x74696dgithub.com/tgross/observability-workshop
Prometheus
Container
Pilot
Application
Consul
Where is
telemetry?
Application

container
192.168.1.100:9090
@0x74696dgithub.com/tgross/observability-workshop
Prometheus
Container
Pilot
Application
Consul
/metrics
scrape
Application

container
@0x74696dgithub.com/tgross/observability-workshop
Container Design
‣ Large containers == slower deploys
‣ Mount common tooling read-only from the host
@0x74696dgithub.com/tgross/observability-workshop
Distributed Request Tracing
‣ Zipkin / Open Tracing looks promising; little
support outside app code (load balancers, DB)
‣ Nginx can inject request ID field
‣ Carry request ID in your logging
OBSERVABILITY IN A
CONTAINERIZED WORLD
Tim Gross @0x74696d

More Related Content

PPTX
Extending human capabilities: Design for people, not around
PDF
Pushing the hassle from production to developers. Easily
PDF
Mongodb meetup
PDF
Modern Monitoring - devopsdays Cuba
PPTX
Monitoring docker containers and dockerized applications
PDF
Trace everything, when APM meets SysAdmins
PPTX
Monitoring Docker containers - Docker NYC Feb 2015
PDF
Measuring Micro-services. Richard Rodger
Extending human capabilities: Design for people, not around
Pushing the hassle from production to developers. Easily
Mongodb meetup
Modern Monitoring - devopsdays Cuba
Monitoring docker containers and dockerized applications
Trace everything, when APM meets SysAdmins
Monitoring Docker containers - Docker NYC Feb 2015
Measuring Micro-services. Richard Rodger

Viewers also liked (14)

PDF
Voxxed Days Thessaloniki 2016 - Microservices in production
PDF
Distributed Tracing
PPTX
Monitoring distributed (micro-)services
PPT
2008 "An overview of Methods for analysis of Identifiability and Observabilit...
PDF
BFF Pattern in Action: SoundCloud’s Microservices
PDF
Microservice Architecture
PDF
Tracing 2000+ polyglot microservices at Uber with Jaeger and OpenTracing
PDF
Microservices Application Tracing Standards and Simulators - Adrians at OSCON
PPTX
Monitoring What Matters: The Prometheus Approach to Whitebox Monitoring (Berl...
PDF
Monitoring and observability
PDF
Distributed Tracing with OpenTracing, ZipKin and Kubernetes
PDF
Performance Analysis: The USE Method
PDF
SREcon 2016 Performance Checklists for SREs
PDF
DockerCon EU 2015: Monitoring Docker
Voxxed Days Thessaloniki 2016 - Microservices in production
Distributed Tracing
Monitoring distributed (micro-)services
2008 "An overview of Methods for analysis of Identifiability and Observabilit...
BFF Pattern in Action: SoundCloud’s Microservices
Microservice Architecture
Tracing 2000+ polyglot microservices at Uber with Jaeger and OpenTracing
Microservices Application Tracing Standards and Simulators - Adrians at OSCON
Monitoring What Matters: The Prometheus Approach to Whitebox Monitoring (Berl...
Monitoring and observability
Distributed Tracing with OpenTracing, ZipKin and Kubernetes
Performance Analysis: The USE Method
SREcon 2016 Performance Checklists for SREs
DockerCon EU 2015: Monitoring Docker
Ad

Similar to ContainerDays NYC 2016: "Observability and Manageability in a Container Environment" (Tim Gross) (16)

PDF
Chaos Engineering Without Observability ... Is Just Chaos
PPTX
From SLO to GOTY
PDF
Webcast ConSol + Instana: The Observability of Quarkus Applications
PDF
The present and future of Serverless observability (Serverless Computing London)
PDF
The Present and Future of Serverless Observability
PPTX
Solving the Hidden Costs of Kubernetes with Observability
PDF
RedisConf17 - Observability and the Glorious Future
PPTX
James Governor [RedMonk] | Reframing and Retooling for Observability | Influx...
PDF
SRE Topics with Charity Majors and Liz Fong-Jones of Honeycomb
PDF
Logz.io Jenkins Meetup
PDF
How to build observability into Serverless (BuildStuff 2018)
PDF
Cloud Native Applications on Kubernetes: a DevOps Approach
PDF
Predicting Space Weather with Docker
PDF
Cloud Observability in Action MEAP V06 Michael Mh9 Hausenblas
PDF
What is happening with my microservices?
PPTX
Docker, Microservices, and the Service Mesh
Chaos Engineering Without Observability ... Is Just Chaos
From SLO to GOTY
Webcast ConSol + Instana: The Observability of Quarkus Applications
The present and future of Serverless observability (Serverless Computing London)
The Present and Future of Serverless Observability
Solving the Hidden Costs of Kubernetes with Observability
RedisConf17 - Observability and the Glorious Future
James Governor [RedMonk] | Reframing and Retooling for Observability | Influx...
SRE Topics with Charity Majors and Liz Fong-Jones of Honeycomb
Logz.io Jenkins Meetup
How to build observability into Serverless (BuildStuff 2018)
Cloud Native Applications on Kubernetes: a DevOps Approach
Predicting Space Weather with Docker
Cloud Observability in Action MEAP V06 Michael Mh9 Hausenblas
What is happening with my microservices?
Docker, Microservices, and the Service Mesh
Ad

More from DynamicInfraDays (17)

PDF
ContainerDays NYC 2016: "From Hello World to Real World: Building a Productio...
PDF
ContainerDays NYC 2016: "Securing Your Docker Image Registry for Production" ...
PDF
ContainerDays NYC 2016: "OpenWhisk: A Serverless Computing Platform" (Rodric ...
PDF
ContainerDays NYC 2016: "State of the Persistence Art: Present Best Practices...
PDF
ContainerDays NYC 2016: "The Secure Introduction Problem: Getting Secrets Int...
PDF
ContainerDays NYC 2016: "Containers in Azure: Understanding the Microsoft Con...
PDF
ContainerDays NYC 2016: "Introduction to Application Automation with Habitat"...
PDF
ContainerDays Boston 2016: "Docker For the Developer" (Borja Burgos)
PDF
ContainerDays Boston 2016: "Hiding in Plain Sight: Managing Secrets in a Cont...
PDF
ContainerDays Boston 2016: "Autopilot: Running Real-world Applications in Con...
PDF
ContainerDays NYC 2015: "Container Orchestration Compared: Kubernetes and Doc...
PDF
ContainerDays NYC 2015: "What It Really Takes to Build a Container Platform" ...
PDF
ContainerDays NYC 2015: "How Yodle Cleaned Up the Mess Using Containers and M...
PDF
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...
PDF
ContainerDays Boston 2015: "CoreOS: Building the Layers of the Scalable Clust...
PDF
ContainerDays Boston 2015: "Continuous Delivery with Containers" (Nick Gauthier)
PDF
ContainerDays Boston 2015: "A Brief History of Containers" (Jeff Victor & Kir...
ContainerDays NYC 2016: "From Hello World to Real World: Building a Productio...
ContainerDays NYC 2016: "Securing Your Docker Image Registry for Production" ...
ContainerDays NYC 2016: "OpenWhisk: A Serverless Computing Platform" (Rodric ...
ContainerDays NYC 2016: "State of the Persistence Art: Present Best Practices...
ContainerDays NYC 2016: "The Secure Introduction Problem: Getting Secrets Int...
ContainerDays NYC 2016: "Containers in Azure: Understanding the Microsoft Con...
ContainerDays NYC 2016: "Introduction to Application Automation with Habitat"...
ContainerDays Boston 2016: "Docker For the Developer" (Borja Burgos)
ContainerDays Boston 2016: "Hiding in Plain Sight: Managing Secrets in a Cont...
ContainerDays Boston 2016: "Autopilot: Running Real-world Applications in Con...
ContainerDays NYC 2015: "Container Orchestration Compared: Kubernetes and Doc...
ContainerDays NYC 2015: "What It Really Takes to Build a Container Platform" ...
ContainerDays NYC 2015: "How Yodle Cleaned Up the Mess Using Containers and M...
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...
ContainerDays Boston 2015: "CoreOS: Building the Layers of the Scalable Clust...
ContainerDays Boston 2015: "Continuous Delivery with Containers" (Nick Gauthier)
ContainerDays Boston 2015: "A Brief History of Containers" (Jeff Victor & Kir...

Recently uploaded (20)

PDF
Advanced IT Governance
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Machine learning based COVID-19 study performance prediction
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Electronic commerce courselecture one. Pdf
PPTX
Cloud computing and distributed systems.
PDF
KodekX | Application Modernization Development
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
PPT
Teaching material agriculture food technology
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Modernizing your data center with Dell and AMD
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
Advanced IT Governance
Reach Out and Touch Someone: Haptics and Empathic Computing
Machine learning based COVID-19 study performance prediction
Per capita expenditure prediction using model stacking based on satellite ima...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Diabetes mellitus diagnosis method based random forest with bat algorithm
Electronic commerce courselecture one. Pdf
Cloud computing and distributed systems.
KodekX | Application Modernization Development
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Advanced methodologies resolving dimensionality complications for autism neur...
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
Teaching material agriculture food technology
The Rise and Fall of 3GPP – Time for a Sabbatical?
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
20250228 LYD VKU AI Blended-Learning.pptx
Spectral efficient network and resource selection model in 5G networks
Modernizing your data center with Dell and AMD
Mobile App Security Testing_ A Comprehensive Guide.pdf

ContainerDays NYC 2016: "Observability and Manageability in a Container Environment" (Tim Gross)