SlideShare une entreprise Scribd logo
1  sur  23
It Works On Dev,[object Object],ByMarcel Esser,[object Object],Code Samurai, CROSCON,[object Object],Contact,[object Object],+1 202 730 9728,[object Object],+49 176 785 69729,[object Object],marcel.esser@croscon.com,[object Object]
The Many Faces of Bugs,[object Object],What are bugs, really?,[object Object],On dev, a bug is an oversight or human error. We’ve used x or y incorrectly, or our flow control is incorrect.,[object Object],On test, a bug is a failed assertion; x does not equal y, although it’s supposed to.,[object Object],On stage, a bug is handbrake. You can recover gracefully and roll back.,[object Object],On live, any problem is a bug. It prevents the normal course of business operations.,[object Object]
Prevention,[object Object],An apple a day…,[object Object]
Prevention: Overview,[object Object],How do I prevent live bugs?,[object Object],Practice pre-emptive warfare.Encourage behavior and practices that detect bugs early.,[object Object],Automate processes to prevent human error.If an action can be automated with reasonable effort, do so.,[object Object],Monitor the eco-system.Your application is not just PHP; it’s the entire platform.,[object Object],Work smarter.Identify where investing more time yields greater rewards.,[object Object]
Prevention: Pre-emptive Warfare,[object Object],Things you should do:,[object Object],Write unit tests (and preferably, follow TDD).,[object Object],K.I.S.S. Complicated code is hard to maintain.,[object Object],Develop functional tests (for example, Selenium IDE).,[object Object],Re-factor often.,[object Object],Maintain automatic documentation (for example, phpdoc).,[object Object],Ask someone stupid.,[object Object],Know your tools.,[object Object]
Prevention: Automation,[object Object],Automation Examples,[object Object],Write scripts to push your configuration and application files to your staging and production machines. rsync and ssh work great.,[object Object],Test upgrades and reconfigurations on dev->test and script them for dev->stage. This is your test for pushing to production.,[object Object],Run customized functional test suites against live after pushes to ensure that your code works as expected.,[object Object]
Prevention: Automation,[object Object],Production Push from SVN,[object Object],#!/bin/sh,[object Object],sshroot@prod "/etc/init.d/apache2 stop",[object Object],rm -rf /tmp/x; mkdir -p /tmp/x,[object Object],svn export https://devs/svn/repo/tags/STABLE /tmp/x/,[object Object],rsync -avz /tmp/x/ root@prod:/var/www/app/,[object Object],sshroot@prod "/etc/init.d/apache2 start",[object Object]
Prevention: Monitoring,[object Object],Monitoring: Best effort to lazy time ratio,[object Object],Sometimes bugs aren’t bugs; monitor your application servers to keep track of resource usage and predict load situations. For example, Munin or Zabbix.,[object Object],Use a service-monitoring tool such as Nagios or Zabbix to script actions that ensure your application is available.,[object Object],If you are doing background processing, develop scripts to monitor the status of your custom daemons.,[object Object]
Prevention: Be Smarter,[object Object],Working a little smarter,[object Object],Don’t fix problems twice.,[object Object],Keep a log.,[object Object],When you think of a potential problem, make a note.,[object Object],Don’t assume.,[object Object],Create incentives for bug killers.,[object Object],Schedule time for preventative work.,[object Object]
Debugging on live?,[object Object],Surely, you jest.,[object Object]
Debugging on live?,[object Object],Where do live bugs come from?,[object Object],Very common causes:,[object Object],Differences between dev/test/stage/live platforms.,[object Object],Differences in application state (for example, the database).,[object Object],Differences in configuration.,[object Object],Differences in hardware.,[object Object],Poor quality assurance.,[object Object],Incorrect assumptions.,[object Object]
Debugging on live?,[object Object],How to Gather Intelligence on Live,[object Object],Your objectives:,[object Object],Bug reports,[object Object],Profiling,[object Object],Tracing,[object Object],Remote debugging,[object Object],Identifying bugs in your application server,[object Object]
Debugging on live: Bug reports,[object Object],What’s a good bug report?,[object Object],Ideally, you have:,[object Object],The account of the user that experienced the error.,[object Object],The page that generated the error.,[object Object],What the user was doing before the error occurred.,[object Object],The user’s client software.,[object Object],Competent support personnel.,[object Object]
Debugging on live: Profiling,[object Object],What is Xdebug?,[object Object],PHP debugging extension written by DerickRethans.,[object Object],It profiles.,[object Object],It traces.,[object Object],It breakpoints.,[object Object],It has good client support (Eclipse/NetBeans).,[object Object],Zend Debugger is also good – but not everyone has it.,[object Object]
Debugging on live: Profiling with Xdebug,[object Object],# load as a ZE extensionzend_extension=/path/xdebug.so# enable debugging trigger,[object Object],# i.e. XDEBUG_PROFILE=1 in GET, POST,# or cookie,[object Object],xdebug.profiler_enable_trigger = 1,[object Object],# where to save profile output,[object Object],xdebug.profiler_output_dir = /tmp,[object Object],# filename specifier; <path>.<time>.out,[object Object],xdebug.profiler_output_name = %s.%t.out,[object Object]
Debugging on live: Profiling with Xdebug,[object Object],Visit your URL:http://127.0.0.1/cake_1.2.5/?XDEBUG_PROFILE=1,[object Object],2) Grab the profile dump from the server.,[object Object],3) Fire up KCacheGrind.,[object Object],4) Profit.,[object Object]
Debugging on live: Tracing with Xdebug,[object Object],# load as a ZE extensionzend_extension=/path/xdebug.so,[object Object],# turn on automatic tracing,[object Object],xdebug.auto_trace=On,[object Object],# where to store the tracedumps,[object Object],xdebug.trace_output_dir=/tmp/,[object Object],# more memory reporting, please,[object Object],xdebug.show_mem_delta=On,[object Object]
Debugging on live: Tracing with Xdebug,[object Object],Visit your URL:http://127.0.0.1/worksondev/index.php,[object Object],2) Grab the trace dump from the server.,[object Object],3) Fire up a text editor.,[object Object],4) Profit.,[object Object]
Debugging on live: Debugging with Xdebug,[object Object],# load as a ZE extensionzend_extension=/path/xdebug.so,[object Object],# turn on automatic tracing,[object Object],xdebug.remote_enable = on,[object Object],# debugger protocolxdebug.remote_handler=dbgp,[object Object],# debugger client hostxdebug.remote_host=localhost,[object Object],# debugger client portxdebug.remote_port=9000,[object Object]
Debugging on live: A Word of Caution,[object Object],Before you get ahead of yourself…,[object Object],A couple of notes about remote debugging:,[object Object],There is a performance penalty. Enable it only when you need to, and turn it off after you get your data.,[object Object],Remember that debugging information is extremely sensitive and should be kept confidential.,[object Object],Use automatic scripts to turn debug extensions/settings on/off automatically so you don’t accidentally leave “leavings”.,[object Object]
Debugging on live: Identifying Server Bugs,[object Object],When All Else Fails,[object Object],Remember that you are computer programmers and:,[object Object],Take the problem machine out of rotation.,[object Object],Setup Apache/Yourwebserver to spawn 1 worker process.,[object Object],Attach a tracer to that process, like strace or dtrace.,[object Object],Figure out where it dies.,[object Object],Map that to the appropriate PHP code or extension.,[object Object],Don’t do whatever you did.,[object Object]
Oh, and btw.,[object Object],In case you forgot…,[object Object]
Shameless Plug,[object Object],Hi, my name is Marcel Esser. I work for CROSCON.,[object Object],We do: ,[object Object],Bespoke application development,[object Object],Customized service monitoring,[object Object],MyCourt productivity software,[object Object],Info?,[object Object],marcel.esser@croscon.com,[object Object],202.730.9728,[object Object]

Contenu connexe

Tendances

JDK, the not so hidden treasures
JDK, the not so hidden treasuresJDK, the not so hidden treasures
JDK, the not so hidden treasuresAndrzej Grzesik
 
Webinar: Node.js Transaction Tracing & Root Cause Analysis with StrongLoop Arc
Webinar: Node.js Transaction Tracing & Root Cause Analysis with StrongLoop ArcWebinar: Node.js Transaction Tracing & Root Cause Analysis with StrongLoop Arc
Webinar: Node.js Transaction Tracing & Root Cause Analysis with StrongLoop Arcjguerrero999
 
JDK not so hidden treasures
JDK not so hidden treasuresJDK not so hidden treasures
JDK not so hidden treasuresAndrzej Grzesik
 
Hands on - JetBrains IDE Rider C# 01-GetStarted r01.00
Hands on - JetBrains IDE Rider C# 01-GetStarted r01.00Hands on - JetBrains IDE Rider C# 01-GetStarted r01.00
Hands on - JetBrains IDE Rider C# 01-GetStarted r01.00YouheiYamada
 
Testing and updating WordPress - Advanced techniques for avoiding regressions
Testing and updating WordPress - Advanced techniques for avoiding regressionsTesting and updating WordPress - Advanced techniques for avoiding regressions
Testing and updating WordPress - Advanced techniques for avoiding regressionsOtto Kekäläinen
 

Tendances (7)

Mangling
Mangling Mangling
Mangling
 
JDK, the not so hidden treasures
JDK, the not so hidden treasuresJDK, the not so hidden treasures
JDK, the not so hidden treasures
 
Webinar: Node.js Transaction Tracing & Root Cause Analysis with StrongLoop Arc
Webinar: Node.js Transaction Tracing & Root Cause Analysis with StrongLoop ArcWebinar: Node.js Transaction Tracing & Root Cause Analysis with StrongLoop Arc
Webinar: Node.js Transaction Tracing & Root Cause Analysis with StrongLoop Arc
 
JDK not so hidden treasures
JDK not so hidden treasuresJDK not so hidden treasures
JDK not so hidden treasures
 
Web pack and friends
Web pack and friendsWeb pack and friends
Web pack and friends
 
Hands on - JetBrains IDE Rider C# 01-GetStarted r01.00
Hands on - JetBrains IDE Rider C# 01-GetStarted r01.00Hands on - JetBrains IDE Rider C# 01-GetStarted r01.00
Hands on - JetBrains IDE Rider C# 01-GetStarted r01.00
 
Testing and updating WordPress - Advanced techniques for avoiding regressions
Testing and updating WordPress - Advanced techniques for avoiding regressionsTesting and updating WordPress - Advanced techniques for avoiding regressions
Testing and updating WordPress - Advanced techniques for avoiding regressions
 

Similaire à It Works On Dev

5 Bare Minimum Things A Web Startup CTO Must Worry About
5 Bare Minimum Things A Web Startup CTO Must Worry About5 Bare Minimum Things A Web Startup CTO Must Worry About
5 Bare Minimum Things A Web Startup CTO Must Worry AboutIndus Khaitan
 
Passing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldPassing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldLorna Mitchell
 
Porting Rails Apps to High Availability Systems
Porting Rails Apps to High Availability SystemsPorting Rails Apps to High Availability Systems
Porting Rails Apps to High Availability SystemsMarcelo Pinheiro
 
Lightning Talk: JavaScript Error Handling
Lightning Talk: JavaScript Error HandlingLightning Talk: JavaScript Error Handling
Lightning Talk: JavaScript Error HandlingNick Burwell
 
PyCon AU 2012 - Debugging Live Python Web Applications
PyCon AU 2012 - Debugging Live Python Web ApplicationsPyCon AU 2012 - Debugging Live Python Web Applications
PyCon AU 2012 - Debugging Live Python Web ApplicationsGraham Dumpleton
 
44CON London 2015 - How to drive a malware analyst crazy
44CON London 2015 - How to drive a malware analyst crazy44CON London 2015 - How to drive a malware analyst crazy
44CON London 2015 - How to drive a malware analyst crazy44CON
 
How to drive a malware analyst crazy
How to drive a malware analyst crazyHow to drive a malware analyst crazy
How to drive a malware analyst crazyMichael Boman
 
debugging (1).ppt
debugging (1).pptdebugging (1).ppt
debugging (1).pptjerlinS1
 
An important characteristic of a test suite that is computed by a dynamic ana...
An important characteristic of a test suite that is computed by a dynamic ana...An important characteristic of a test suite that is computed by a dynamic ana...
An important characteristic of a test suite that is computed by a dynamic ana...jeyasrig
 
JavaScript - Chapter 15 - Debugging Techniques
 JavaScript - Chapter 15 - Debugging Techniques JavaScript - Chapter 15 - Debugging Techniques
JavaScript - Chapter 15 - Debugging TechniquesWebStackAcademy
 
AppSec California 2016 - Making Security Agile
AppSec California 2016 - Making Security AgileAppSec California 2016 - Making Security Agile
AppSec California 2016 - Making Security AgileOleg Gryb
 
Troubleshooting Plone
Troubleshooting PloneTroubleshooting Plone
Troubleshooting PloneRicado Alves
 
Development Of A Simulation Management System
Development Of A Simulation Management SystemDevelopment Of A Simulation Management System
Development Of A Simulation Management SystemHeather Vargas
 
Continuous Integration using Cruise Control
Continuous Integration using Cruise ControlContinuous Integration using Cruise Control
Continuous Integration using Cruise Controlelliando dias
 
Groovy for System Administrators
Groovy for System AdministratorsGroovy for System Administrators
Groovy for System AdministratorsDaniel Woods
 

Similaire à It Works On Dev (20)

Fuzzing - Part 2
Fuzzing - Part 2Fuzzing - Part 2
Fuzzing - Part 2
 
Xdebug
XdebugXdebug
Xdebug
 
Deployment talk dpc 13
Deployment talk dpc 13Deployment talk dpc 13
Deployment talk dpc 13
 
Download It
Download ItDownload It
Download It
 
5 Bare Minimum Things A Web Startup CTO Must Worry About
5 Bare Minimum Things A Web Startup CTO Must Worry About5 Bare Minimum Things A Web Startup CTO Must Worry About
5 Bare Minimum Things A Web Startup CTO Must Worry About
 
Passing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldPassing The Joel Test In The PHP World
Passing The Joel Test In The PHP World
 
Power Of Zero
Power Of ZeroPower Of Zero
Power Of Zero
 
Porting Rails Apps to High Availability Systems
Porting Rails Apps to High Availability SystemsPorting Rails Apps to High Availability Systems
Porting Rails Apps to High Availability Systems
 
Lightning Talk: JavaScript Error Handling
Lightning Talk: JavaScript Error HandlingLightning Talk: JavaScript Error Handling
Lightning Talk: JavaScript Error Handling
 
PyCon AU 2012 - Debugging Live Python Web Applications
PyCon AU 2012 - Debugging Live Python Web ApplicationsPyCon AU 2012 - Debugging Live Python Web Applications
PyCon AU 2012 - Debugging Live Python Web Applications
 
44CON London 2015 - How to drive a malware analyst crazy
44CON London 2015 - How to drive a malware analyst crazy44CON London 2015 - How to drive a malware analyst crazy
44CON London 2015 - How to drive a malware analyst crazy
 
How to drive a malware analyst crazy
How to drive a malware analyst crazyHow to drive a malware analyst crazy
How to drive a malware analyst crazy
 
debugging (1).ppt
debugging (1).pptdebugging (1).ppt
debugging (1).ppt
 
An important characteristic of a test suite that is computed by a dynamic ana...
An important characteristic of a test suite that is computed by a dynamic ana...An important characteristic of a test suite that is computed by a dynamic ana...
An important characteristic of a test suite that is computed by a dynamic ana...
 
JavaScript - Chapter 15 - Debugging Techniques
 JavaScript - Chapter 15 - Debugging Techniques JavaScript - Chapter 15 - Debugging Techniques
JavaScript - Chapter 15 - Debugging Techniques
 
AppSec California 2016 - Making Security Agile
AppSec California 2016 - Making Security AgileAppSec California 2016 - Making Security Agile
AppSec California 2016 - Making Security Agile
 
Troubleshooting Plone
Troubleshooting PloneTroubleshooting Plone
Troubleshooting Plone
 
Development Of A Simulation Management System
Development Of A Simulation Management SystemDevelopment Of A Simulation Management System
Development Of A Simulation Management System
 
Continuous Integration using Cruise Control
Continuous Integration using Cruise ControlContinuous Integration using Cruise Control
Continuous Integration using Cruise Control
 
Groovy for System Administrators
Groovy for System AdministratorsGroovy for System Administrators
Groovy for System Administrators
 

Dernier

Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 

Dernier (20)

Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 

It Works On Dev

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.