SlideShare a Scribd company logo
1 of 54
Download to read offline
Chef at Etsy
@jonlives
Jon Cowie
Sr Operations Engineer
30Million Members
4
1Million Active Shops
20Million Items Listed
5
60Million Monthly Unique Visitors
@jonlives
We Love Chef!
@jonlives
Absorb what is
useful.
Discard what is
useless.
@jonlives
“I am not smart enough to
build an ontology … that
can encompass all the
variations in infrastructure.
Nobody is, the world
moves too fast.”
@jonlives
There is no
magic pill.
@jonlives
You are the
expert.
@jonlives
Chef at Etsy
• Chef Server 11.1.4

• ~2000 Nodes

• CentOS, some Mac OS X
@jonlives
Beginning of 2010 Today
@jonlives
Chef at Etsy
@jonlives
Evolution of Chef
@jonlives
2010: The Beginning
• ~250 Nodes (Ubuntu & CentOS

• The first cookbooks

• Out of the box workflow
@jonlives
2011: Growth
• ~400 Nodes (CentOS)

• Chef still pretty specialised knowledge

• Handlers added
@jonlives
2012: A big year
• ~800 Nodes (CentOS & MacOS X)
• More in-house Chef expertise
• Workflow tooling
• Debugging tooling
• Monitoring
@jonlives
2013: Chef at Etsy
• ~1500 Nodes
• Workflow tooling enhancements
• Feature flags in Chef
• Chef performance - Chef 11 upgrade
@jonlives
2014: Chef at Etsy
• ~2000 nodes
• Consolidation
• CI with Chef
• Omnibus
• Work-in-Progress tooling
@jonlives
Patterns & Workflows
@jonlives
Cookbook Workflow
@jonlives
$> review -r jcowie --cc ops
@jonlives
knife-spork
• https://github.com/jonlives/knife-spork
• Workflow tool
• Helps multiple chefs avoid clashing
• Visibility into changes
• Plugins
@jonlives
knife-spork
• knife spork bump
• knife spork upload
• Test change
@jonlives
Test Change
• https://github.com/jonlives/knife-flip

• knife node flip foo.etsy.com testing

• knife role flip MyRole testing
@jonlives
Test Change
• https://github.com/mrtazz/knife-wip
• Uses node tags



<irccat> CHEF: bburry started work
cent7 package bugfixing on
deploy01.ny5.etsy.com
@jonlives
knife-spork
• knife spork bump
• knife spork upload
• Test change
• knife spork promote --remote
• git commit and push
@jonlives
Monitoring & Debugging
@jonlives
knife-spork & CI Job
<irccat> CHEF: Jon Cowie uploaded pentaho@0.1.8
<irccat> CHEF: Jon Cowie promoted pentaho@0.1.8 to
production <snip>
<irccat> Git PUSH -> Sysops/chef <snip>
<Jenkins> Starting build #5649 for job chef-
server-git-sync
<Jenkins> Project chef-server-git-sync build
#5649: SUCCESS in 2 min 36 sec: http://
ci.etsycorp.com/job/chef-server-git-sync/5649/
@jonlives
IRC Handler
<irccat> Chef run failed on
officebackup01.office.etsy.com gist
failed, see /var/log/chef/client.log on
the host
!
<irccat> Still Failing on
dbnest01.ny4.etsy.com since 2 days ago
https://github.etsycorp.com/gist/
656d8914fbef5a6bd9aa
@jonlives
Lastrun Data
• https://github.com/jgoulah/knife-lastrun

• knife node lastrun foo.bar.com
@jonlives
Lastrun Data
%	
  knife	
  node	
  lastrun	
  dbnest01.ny4.etsy.com	
  
Status	
  	
  	
  	
  	
  	
  	
  	
  	
  failed	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
Elapsed	
  Time	
  	
  	
  	
  	
  29.055892	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
Start	
  Time	
  	
  	
  	
  	
  	
  	
  2014-­‐10-­‐06	
  12:54:51	
  +0000	
  
End	
  Time	
  	
  	
  	
  	
  	
  	
  	
  	
  2014-­‐10-­‐06	
  12:55:20	
  +0000	
  
!
<snip>	
  
!
Exception	
  
<snip>	
  Installed	
  package	
  backupd-­‐1.4-­‐1.365657d.el5.centos	
  
is	
  newer	
  than	
  candidate	
  package	
  backupd-­‐1.2-­‐1.99ddb8e.el5	
  
@jonlives
Dashboards
@jonlives
Dashboards
@jonlives
Dashboards
@jonlives
Monitoring & Debugging
• https://github.com/etsy/chef-handlers
• https://github.com/etsy/dashboard
• https://github.com/jgoulah/knife-lastrun
• https://github.com/bmarini/knife-inspect
@jonlives
Feature Flags
@jonlives
Downsides of Existing Approach
• Holding cookbook in testing is blocking
• Accidental promotions
• Testing env affects all cookbooks
• “Upgrade” envs often used
• How to make it more “Etsy”?
@jonlives
@jonlives
chef-whitelist
• https://github.com/etsy/chef-whitelist
• Databag driven
• Cookbook library
• Feature flags!
@jonlives
chef-whitelist
{
"id": "php-5-5-17",
"patterns": [
"statsd*.ny5.etsy.com",
"deploy*.ny5.etsy.com",
<snip>
]
}
@jonlives
chef-whitelist
if node.is_in_whitelist? "php-5-5-17"
package "php-pecl-opcache" do
action :remove
end
end
@jonlives
Configuration Data
@jonlives
Keep cookbooks:
• Simple
• Modular
• Scalable
• Maintainable
@jonlives
Environments
• Cookbook version constraints
@jonlives
Roles
• Group-level config
• Syslog-ng
• Iptables
• Sudoers
@jonlives
Roles - iptables
“firewall": {
"ports": {
"11211": {
"subnet_group": "prod_subnets"
},
<snip>
}
}
@jonlives
Roles - Syslog-ng
"syslog": {
"web": {
"web_apache_access_log": {
"source": "/var/log/httpd/access_log",
"source_program_override": "APACHEACCESS: ",
"destination": "/data/syslog/current/web/access.log",
"destination_filters": [
"host('^(web0|dlweb)')",
"match('APACHEACCESS')"
]
}
}
@jonlives
Data Bags
• Global / Datacenter specific Config
• Ganglia
• Cobbler
• VOIP
• Data Storage
@jonlives
Data Bags - Ganglia
{
"id": "config_se5",
"grid_name": "EtsySE5",
"authority": "http://gangliase5.etsycorp.com",
"trusted_hosts": <snip>,
"groups": {
"Utilities": "239.2.11.71",
<snip>
}
<snip>
}
@jonlives
Data Bags - Cobbler
{
"id": "config_corp",
"cobbler_server": "corpking02.corp.etsy.com",
"dns_servers": [ “10.x.x.x", “10.x.x.x" ],
"dhcp_ranges": {
"10.100.x.0": {
"routers": "10.x.x.1",
"mask": "255.255.255.0",
"range": "10.x.x.11 10.x.x.250"
}
}
}
@jonlives
Write cookbooks you’ll
thank yourself for.
@jonlives
!
http://jonliv.es/book
!
Discount Code: AUTHD
!
40% off Print
50% off Digital
@jonlives
Thanks!
Questions?
!
@jonlives / http://jonliv.es / jon@etsy.com

More Related Content

Viewers also liked

Chef meetup presentation
Chef meetup presentationChef meetup presentation
Chef meetup presentationCharles Johnson
 
Morning tea 21 03-2017
Morning tea 21 03-2017Morning tea 21 03-2017
Morning tea 21 03-2017Choice Equity
 
BUKU PAUD Tematik MURAH: BUKU PAUD BUKU TK Saintifik MURAH 2017
BUKU PAUD Tematik MURAH: BUKU PAUD BUKU TK Saintifik MURAH 2017BUKU PAUD Tematik MURAH: BUKU PAUD BUKU TK Saintifik MURAH 2017
BUKU PAUD Tematik MURAH: BUKU PAUD BUKU TK Saintifik MURAH 2017anekabuana mandiri
 
Orchestration? You Don't Need Orchestration. What You Want Is Choreography by...
Orchestration? You Don't Need Orchestration. What You Want Is Choreography by...Orchestration? You Don't Need Orchestration. What You Want Is Choreography by...
Orchestration? You Don't Need Orchestration. What You Want Is Choreography by...Docker, Inc.
 

Viewers also liked (8)

Chef meetup presentation
Chef meetup presentationChef meetup presentation
Chef meetup presentation
 
Morning tea 21 03-2017
Morning tea 21 03-2017Morning tea 21 03-2017
Morning tea 21 03-2017
 
BUKU PAUD Tematik MURAH: BUKU PAUD BUKU TK Saintifik MURAH 2017
BUKU PAUD Tematik MURAH: BUKU PAUD BUKU TK Saintifik MURAH 2017BUKU PAUD Tematik MURAH: BUKU PAUD BUKU TK Saintifik MURAH 2017
BUKU PAUD Tematik MURAH: BUKU PAUD BUKU TK Saintifik MURAH 2017
 
DevOps with Chef
DevOps with ChefDevOps with Chef
DevOps with Chef
 
Whats new in web methods 9.12
Whats new in web methods 9.12Whats new in web methods 9.12
Whats new in web methods 9.12
 
Orchestration? You Don't Need Orchestration. What You Want Is Choreography by...
Orchestration? You Don't Need Orchestration. What You Want Is Choreography by...Orchestration? You Don't Need Orchestration. What You Want Is Choreography by...
Orchestration? You Don't Need Orchestration. What You Want Is Choreography by...
 
Game of Sprints
Game of SprintsGame of Sprints
Game of Sprints
 
Aerosol marking paint
Aerosol marking paintAerosol marking paint
Aerosol marking paint
 

Similar to Chef at Etsy

Customizing Chef for Fun and Profit
Customizing Chef for Fun and ProfitCustomizing Chef for Fun and Profit
Customizing Chef for Fun and ProfitJon Cowie
 
Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Puppet Camp New York 2014: Streamlining Puppet Development Workflow Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Puppet Camp New York 2014: Streamlining Puppet Development Workflow Puppet
 
Steamlining your puppet development workflow
Steamlining your puppet development workflowSteamlining your puppet development workflow
Steamlining your puppet development workflowTomas Doran
 
Atmosphere 2014: Really large scale systems configuration - Phil Dibowitz
Atmosphere 2014: Really large scale systems configuration - Phil DibowitzAtmosphere 2014: Really large scale systems configuration - Phil Dibowitz
Atmosphere 2014: Really large scale systems configuration - Phil DibowitzPROIDEA
 
Pragmatic Continuous Delivery - ReaktorDevDay 2012
Pragmatic Continuous Delivery - ReaktorDevDay 2012Pragmatic Continuous Delivery - ReaktorDevDay 2012
Pragmatic Continuous Delivery - ReaktorDevDay 2012Neeme Praks
 
Inside the Chef Push Jobs Service - ChefConf 2015
Inside the Chef Push Jobs Service - ChefConf 2015 Inside the Chef Push Jobs Service - ChefConf 2015
Inside the Chef Push Jobs Service - ChefConf 2015 Chef
 
Cfg mgmtcamp c-dwithchef
Cfg mgmtcamp c-dwithchefCfg mgmtcamp c-dwithchef
Cfg mgmtcamp c-dwithchefGeorge Miranda
 
Node collaboration - sharing information between your systems
Node collaboration - sharing information between your systemsNode collaboration - sharing information between your systems
Node collaboration - sharing information between your systemsm_richardson
 
Lessons Learnt in 2009
Lessons Learnt in 2009Lessons Learnt in 2009
Lessons Learnt in 2009pratiknaik
 
Node object and roles - Fundamentals Webinar Series Part 3
Node object and roles - Fundamentals Webinar Series Part 3Node object and roles - Fundamentals Webinar Series Part 3
Node object and roles - Fundamentals Webinar Series Part 3Chef
 
Etsy Search: How We Index and Query 26 Million One-of-a-kind Items
Etsy Search: How We Index and Query 26 Million One-of-a-kind ItemsEtsy Search: How We Index and Query 26 Million One-of-a-kind Items
Etsy Search: How We Index and Query 26 Million One-of-a-kind ItemsC4Media
 
Graduating To Go - A Jumpstart into the Go Programming Language
Graduating To Go - A Jumpstart into the Go Programming LanguageGraduating To Go - A Jumpstart into the Go Programming Language
Graduating To Go - A Jumpstart into the Go Programming LanguageKaylyn Gibilterra
 
Introduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to ChefIntroduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to ChefAll Things Open
 
Testable Infrastructure with Chef, Test Kitchen, and Docker
Testable Infrastructure with Chef, Test Kitchen, and DockerTestable Infrastructure with Chef, Test Kitchen, and Docker
Testable Infrastructure with Chef, Test Kitchen, and DockerMandi Walls
 
10 Deployments a day - A brief on extreme release protocols
10 Deployments a day - A brief on extreme release protocols10 Deployments a day - A brief on extreme release protocols
10 Deployments a day - A brief on extreme release protocolsVivek Parihar
 
10 ways to shoot yourself in the foot with kubernetes, #9 will surprise you! ...
10 ways to shoot yourself in the foot with kubernetes, #9 will surprise you! ...10 ways to shoot yourself in the foot with kubernetes, #9 will surprise you! ...
10 ways to shoot yourself in the foot with kubernetes, #9 will surprise you! ...Laurent Bernaille
 
2021.laravelconf.tw.slides1
2021.laravelconf.tw.slides12021.laravelconf.tw.slides1
2021.laravelconf.tw.slides1LiviaLiaoFontech
 

Similar to Chef at Etsy (20)

Customizing Chef for Fun and Profit
Customizing Chef for Fun and ProfitCustomizing Chef for Fun and Profit
Customizing Chef for Fun and Profit
 
Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Puppet Camp New York 2014: Streamlining Puppet Development Workflow Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Puppet Camp New York 2014: Streamlining Puppet Development Workflow
 
Steamlining your puppet development workflow
Steamlining your puppet development workflowSteamlining your puppet development workflow
Steamlining your puppet development workflow
 
Atmosphere 2014: Really large scale systems configuration - Phil Dibowitz
Atmosphere 2014: Really large scale systems configuration - Phil DibowitzAtmosphere 2014: Really large scale systems configuration - Phil Dibowitz
Atmosphere 2014: Really large scale systems configuration - Phil Dibowitz
 
Pragmatic Continuous Delivery - ReaktorDevDay 2012
Pragmatic Continuous Delivery - ReaktorDevDay 2012Pragmatic Continuous Delivery - ReaktorDevDay 2012
Pragmatic Continuous Delivery - ReaktorDevDay 2012
 
Inside the Chef Push Jobs Service - ChefConf 2015
Inside the Chef Push Jobs Service - ChefConf 2015 Inside the Chef Push Jobs Service - ChefConf 2015
Inside the Chef Push Jobs Service - ChefConf 2015
 
Cfg mgmtcamp c-dwithchef
Cfg mgmtcamp c-dwithchefCfg mgmtcamp c-dwithchef
Cfg mgmtcamp c-dwithchef
 
Node collaboration - sharing information between your systems
Node collaboration - sharing information between your systemsNode collaboration - sharing information between your systems
Node collaboration - sharing information between your systems
 
Into The Box 2020 Keynote Day 1
Into The Box 2020 Keynote Day 1Into The Box 2020 Keynote Day 1
Into The Box 2020 Keynote Day 1
 
Lessons Learnt in 2009
Lessons Learnt in 2009Lessons Learnt in 2009
Lessons Learnt in 2009
 
Node object and roles - Fundamentals Webinar Series Part 3
Node object and roles - Fundamentals Webinar Series Part 3Node object and roles - Fundamentals Webinar Series Part 3
Node object and roles - Fundamentals Webinar Series Part 3
 
Etsy Search: How We Index and Query 26 Million One-of-a-kind Items
Etsy Search: How We Index and Query 26 Million One-of-a-kind ItemsEtsy Search: How We Index and Query 26 Million One-of-a-kind Items
Etsy Search: How We Index and Query 26 Million One-of-a-kind Items
 
Graduating To Go - A Jumpstart into the Go Programming Language
Graduating To Go - A Jumpstart into the Go Programming LanguageGraduating To Go - A Jumpstart into the Go Programming Language
Graduating To Go - A Jumpstart into the Go Programming Language
 
Introduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to ChefIntroduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to Chef
 
Testable Infrastructure with Chef, Test Kitchen, and Docker
Testable Infrastructure with Chef, Test Kitchen, and DockerTestable Infrastructure with Chef, Test Kitchen, and Docker
Testable Infrastructure with Chef, Test Kitchen, and Docker
 
The Environment Restaurant
The Environment RestaurantThe Environment Restaurant
The Environment Restaurant
 
RubyKaigi 2014: ServerEngine
RubyKaigi 2014: ServerEngineRubyKaigi 2014: ServerEngine
RubyKaigi 2014: ServerEngine
 
10 Deployments a day - A brief on extreme release protocols
10 Deployments a day - A brief on extreme release protocols10 Deployments a day - A brief on extreme release protocols
10 Deployments a day - A brief on extreme release protocols
 
10 ways to shoot yourself in the foot with kubernetes, #9 will surprise you! ...
10 ways to shoot yourself in the foot with kubernetes, #9 will surprise you! ...10 ways to shoot yourself in the foot with kubernetes, #9 will surprise you! ...
10 ways to shoot yourself in the foot with kubernetes, #9 will surprise you! ...
 
2021.laravelconf.tw.slides1
2021.laravelconf.tw.slides12021.laravelconf.tw.slides1
2021.laravelconf.tw.slides1
 

Recently uploaded

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
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
 
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
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 

Recently uploaded (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
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
 
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
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 

Chef at Etsy