SlideShare une entreprise Scribd logo
1  sur  85
Télécharger pour lire hors ligne
Drupal Developers Day 2013
Microsoft PH

6750 Ayala Avenue, Makati City
Our Goal?
Zero Touch
Deployment
Zero Downtime
During
Deployment
Deployment
Syndrome
Fear of Change (before and after delivery)
Deployment
Syndrome
It works on my machine*
Deployment
Syndrome
Silo-isolation (different software stack)
DevOps { 'Drupal':
cooking => deployment,
}

Gerald Villorente

Senior DevOps Engineer | Open-Source Enthusiast
FTP

used to transfer files from one host to another host over a TCP-based
network
Prehistoric
Slow
Not Secure
No version
control
Manual
Configuration
Risky
Repetitive
Solution?
Automate
not applicable in shared-hosting
Tools
Git

Git /ɡɪt/ is a distributed revision control and source code
management (SCM) system with an emphasis on speed. - Wikipedia
Git Hooks: Post


Post-code-deploy (post-merge, post-checkout, etc)



Post-db-copy



Post-files-copy
Git Hooks: Post-code-deploy
drush -vdy @domain.prod updb
drush -vdy @domain.prod fra
drush -vdy @domain.prod cc all
Git Hooks: Post-code-deploy
drush
drush
drush
drush

-vdy
-vdy
-vdy
-vdy

@domain.uat
@domain.uat
@domain.uat
@domain.uat

cc all
updb
fra
cc all
Git Hooks: Post-code-deploy
drush
drush
drush
drush

-vdy
-vdy
-vdy
-vdy

@domain.stage
@domain.stage
@domain.stage
@domain.stage

cc all
updb
fra
cc all
Git Hooks: Post-code-deploy
drush
drush
drush
drush

-vdy
-vdy
-vdy
-vdy

@domain.dev
@domain.dev
@domain.dev
@domain.dev

cc all
updb
fra
cc all
Git Hooks: Post-db-copy
drush
drush
drush
drush

@domain.uat
@domain.uat
@domain.uat
@domain.uat

cc all
updb -y
fra -y
cc all
Git Hooks: Post-db-copy
drush @domain.stage cc all
drush @domain.stage updb -y
drush @domain.stage en views_ui -y
drush @domain.stage en context_ui -y
drush @domain.stage fra -y
drush @domain.stage dis chartbeat -y
drush @domain.stage vset cdn_status 0 -y
drush @domain.stage solr-vset conf[apachesolr_read_only] 1 -y
drush @domain.stage vset preprocess_js 0 -y
drush @domain.stage vset preprocess_css 0 -y
drush @domain.stage vset purge_proxy_urls
'http://stage.domain.com/?purge_method=ah' -y
drush @domain.stage cc all
Git Hooks: Post-db-copy
drush @domain.dev cc all
drush @domain.dev updb -y
drush @domain.dev en views_ui -y
drush @domain.dev en context_ui -y
drush @domain.dev fra -y
drush @domain.dev dis chartbeat -y
drush @domain.dev vset cdn_status 0 -y
drush @domain.dev vset conf[apachesolr_read_only] 1 -y
drush @domain.dev vset preprocess_js 0 -y
drush @domain.dev vset preprocess_css 0 -y
drush @domain.dev vset purge_proxy_urls
'http://stage.domain.com/?purge_method=ah' -y
drush @domain.dev cc all
Git Hooks: Post-files-copy


Will run after finished copying files
- from prod to uat, stage, and or dev
- from uat to stage or dev
- from stage to uat or dev
- from dev to uat or stage
Managing Files


Don't put in version control



Use rsync
Git Hooks: Pre


Pre-commit



Prepare-commit-msg



Pre-applypatch



Pre-rebase
Drush

is a command-line shell and scripting interface for Drupal, a veritable
Swiss Army knife designed to make life easier for those who spend
their working hours hacking away at the command prompt
Drush: Clear Cache
Command:
$ drush cc all
Drush: Run hook_update
Command:
$ drush updb -y
$ drush @domain.prod updb -y
Drush Make
Drush: Make Capabilities


Downloading Drupal core, as well as contrib modules from drupal.org.



Checking code out from SVN, git, and bzr repositories.







Getting plain `.tar.gz` and `.zip` files (particularly useful for libraries
that can not be distributed directly with drupal core or modules).
Fetching and applying patches.
Fetching modules, themes, and installation profiles, but also external
libraries.
Useful Drush
Commands
not really important in deployment
Drush: SQL Login
Command:
$ drush sql-cli
Drush: SQL Query
Command:
$ drush sqlq “UPDATE users SET
pass=$S$DHaDeIifGS5qiS7ghhEolZ9lbaRTkZh/UcU.dh
ZY0Rpp1gUooEpQ WHERE uid=1”
Drush: SQL Sync
Command:
$ drush sql-sync @prod @dev
Drush: SQL Create
Command:
$ drush sql-create
$ drush @domain.dev sql-create
Drush: SQL Drop
Command:
$ drush sql-drop
$ drush @domain.dev sql-drop
Drush: SQL Dump
Command:
$ drush sql-dump
--result-file=../bck.sql
Options:
--gzip
--result-file
Drush: Variable Set
Command:
$ drush vset preprocess_js 1 -y
Drush: Module Enable
Command:
$ drush en views -y
$ drush en features views_ui -y
Drush: Module Disable
Command:
$ drush dis views -y
$ drush dis features views_ui -y
Drush: Module Uninstall
Command:
$ drush pm-uninstall views -y
$ drush pm-uninstall ctools views -y
Drush: One-time Login
Command:
$ drush uli gerald
$ drush uli –browser=firefox --mail=drush@example.org
Drush: Update Password
Command:
$ drush upwd gerald
--password=foo
Use Site Alias
Allows you to execute Drush commands in target remote
server via ssh
Command:
$ drush @domain.prod updb -y
Features

Enables the capture and management of features in Drupal. A feature
is a collection of Drupal entities which taken together satisfy a
certain use-case.
Features: Create
Features: Manage
Features: Module
Features: Drush Integration
features-revert-all

(fra)

Revert all enabled feature module on your site.

Command:
drush fra -y

Options:
--force
Bash

A command processor, typically run in a text window, allowing the
user to type commands which cause actions. Bash can also read
commands from a file, called a script. Like all Unix shells, it supports
filename wildcarding, piping, here documents, command
substitution, variables and control structures for condition-testing
and iteration. - Wikipedia
Bash Scripting: Sample
#!/usr/bin/env bash
path=”sites/all/default/files”
if [ ! -d “$path”]; then
mkdir $path
chown www-data:www-data $path
fi
Bash Scripting: Drush
#!/usr/bin/env bash
drush cc all
drush updb -y
drush fra -y
drush cc all
echo “Delployment done!”
I don't know Bash!
You can also use Python, Shell, or Perl. Use the one that
you're comfortable with. Just remember, DRY and KISS.
Drupal API
hook_update_N
hook_update_N: Sample
/**
* Enable Test module.
*/
function test_update_7001() {
$module = array('test');
module_enable($module);
}
Demo
What we
achieved?
We used Git to managed
the entire deployment.
We used Features to
capture database
changes.
We used Drush to run the
hook_update_N, revert
the features, and clear
the cache.
We created a Bash script
that contains deployment
process run by Git.
Related
DevOps Tools
Puppet

Open-souce automation software that helps system administrators
manage infrastructure throughout its lifecycle, from provisioning and
configuration to orchestration and reporting.
Chef

A systems and cloud infrastructure automation framework that
makes it easy to deploy servers and applications to any physical,
virtual, or cloud location, no matter the size of the infrastructure.
Ansible

Ansible configures operating systems, deploys applications, runs
parallel commands, and orchestrates IT processes like zero-downtime
rolling updates. It uses SSH by default, so no special software has to
be installed to start managing remote machines. Modules can be
written in any language.
Juju

Juju is a powerful service orchestration tool from Ubuntu that helps
you define, configure and deploy services to any cloud quickly and
easily.
Capistrano

Capistrano was originally designed to simplify and automate
deployment of web applications to distributed environments.
Docker

Docker is an open-source project to easily create lightweight,
portable, self-sufficient containers from any application. The same
container that a developer builds and tests on a laptop can run at
scale, in production, on VMs, bare metal, OpenStack clusters, public
clouds and more.
Foreman

for managing physical and virtual server
Travis CI

distributed continuous integration service used to build and test
projects
Jenkins

An extendable open source continuous integration server. Built with
Java, it provides 829 plugins to support building and testing virtually
any project.
Maven

Maven allows a project to build using its project object model (POM)
and a set of plugins that are shared by all projects using Maven,
providing a uniform build system.
rsync

Is a file transfer program for Unix systems. rsync uses the "rsync
algorithm" which provides a very fast method for bringing remote
files into sync. It does this by sending just the differences in the files
across the link, without requiring that both sets of files are present
at one of the ends of the link beforehand.
Questions?
Resoures


http://devops.com



http://devo.ps



http://dev2ops.org



http://devopsweekly.com



http://devopsdays.org



http://drush.ws



http://try.github.io



http://tldp.org/LDP/abs/html
Contact Details
http://about.me/gerald.villorente
10-26-13

Contenu connexe

Tendances

Building a Drupal site with Git
Building a Drupal site with GitBuilding a Drupal site with Git
Building a Drupal site with Git
dirtytactics
 
Using Git with Drupal
Using Git with DrupalUsing Git with Drupal
Using Git with Drupal
Ryan Cross
 
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWSAutomated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
Bamdad Dashtban
 
Package Management on Windows with Chocolatey
Package Management on Windows with ChocolateyPackage Management on Windows with Chocolatey
Package Management on Windows with Chocolatey
Puppet
 
Puppet Camp Charlotte 2015: Manage Your Switches Like Servers
Puppet Camp Charlotte 2015: Manage Your Switches Like ServersPuppet Camp Charlotte 2015: Manage Your Switches Like Servers
Puppet Camp Charlotte 2015: Manage Your Switches Like Servers
Puppet
 

Tendances (20)

Seven Habits of Highly Effective Jenkins Users (2014 edition!)
Seven Habits of Highly Effective Jenkins Users (2014 edition!)Seven Habits of Highly Effective Jenkins Users (2014 edition!)
Seven Habits of Highly Effective Jenkins Users (2014 edition!)
 
Hudson
HudsonHudson
Hudson
 
Building a Drupal site with Git
Building a Drupal site with GitBuilding a Drupal site with Git
Building a Drupal site with Git
 
Using Git with Drupal
Using Git with DrupalUsing Git with Drupal
Using Git with Drupal
 
Automated Drupal deployment with Git and Capistrano
Automated Drupal deployment with Git and CapistranoAutomated Drupal deployment with Git and Capistrano
Automated Drupal deployment with Git and Capistrano
 
7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users
 
7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users
 
Dockerize Laravel Application
Dockerize Laravel ApplicationDockerize Laravel Application
Dockerize Laravel Application
 
Hudson: Your robotic butler
Hudson: Your robotic butlerHudson: Your robotic butler
Hudson: Your robotic butler
 
At Your Service: Using Jenkins in Operations
At Your Service: Using Jenkins in OperationsAt Your Service: Using Jenkins in Operations
At Your Service: Using Jenkins in Operations
 
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
 
Jenkins tutorial
Jenkins tutorialJenkins tutorial
Jenkins tutorial
 
7 Ways to Optimize Hudson in Production
7 Ways to Optimize Hudson in Production7 Ways to Optimize Hudson in Production
7 Ways to Optimize Hudson in Production
 
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWSAutomated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
 
Hudson at FISL 2009
Hudson at FISL 2009Hudson at FISL 2009
Hudson at FISL 2009
 
Jenkins days workshop pipelines - Eric Long
Jenkins days workshop  pipelines - Eric LongJenkins days workshop  pipelines - Eric Long
Jenkins days workshop pipelines - Eric Long
 
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandCI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
 
Package Management on Windows with Chocolatey
Package Management on Windows with ChocolateyPackage Management on Windows with Chocolatey
Package Management on Windows with Chocolatey
 
Puppet Camp Charlotte 2015: Manage Your Switches Like Servers
Puppet Camp Charlotte 2015: Manage Your Switches Like ServersPuppet Camp Charlotte 2015: Manage Your Switches Like Servers
Puppet Camp Charlotte 2015: Manage Your Switches Like Servers
 
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
 

En vedette

En vedette (8)

Getting agile with drupal
Getting agile with drupalGetting agile with drupal
Getting agile with drupal
 
Drupal Deployment
Drupal DeploymentDrupal Deployment
Drupal Deployment
 
Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...
Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...
Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...
 
Staging Drupal: Change Management Strategies for Drupal
Staging Drupal: Change Management Strategies for DrupalStaging Drupal: Change Management Strategies for Drupal
Staging Drupal: Change Management Strategies for Drupal
 
Drupal Continuous Integration with Jenkins - Deploy
Drupal Continuous Integration with Jenkins - DeployDrupal Continuous Integration with Jenkins - Deploy
Drupal Continuous Integration with Jenkins - Deploy
 
Scaling drupal horizontally and in cloud
Scaling drupal horizontally and in cloudScaling drupal horizontally and in cloud
Scaling drupal horizontally and in cloud
 
Scaling Drupal in AWS Using AutoScaling, Cloudformation, RDS and more
Scaling Drupal in AWS Using AutoScaling, Cloudformation, RDS and moreScaling Drupal in AWS Using AutoScaling, Cloudformation, RDS and more
Scaling Drupal in AWS Using AutoScaling, Cloudformation, RDS and more
 
Architecture of Drupal - Drupal Camp
Architecture of Drupal - Drupal CampArchitecture of Drupal - Drupal Camp
Architecture of Drupal - Drupal Camp
 

Similaire à DevOps: Cooking Drupal Deployment

Similaire à DevOps: Cooking Drupal Deployment (20)

Face your fears: Drush and Aegir
Face your fears: Drush and AegirFace your fears: Drush and Aegir
Face your fears: Drush and Aegir
 
Lean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and DrushLean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and Drush
 
JOSA TechTalk: Taking Docker to Production
JOSA TechTalk: Taking Docker to ProductionJOSA TechTalk: Taking Docker to Production
JOSA TechTalk: Taking Docker to Production
 
Techtalks: taking docker to production
Techtalks: taking docker to productionTechtalks: taking docker to production
Techtalks: taking docker to production
 
Docker In Brief
Docker In BriefDocker In Brief
Docker In Brief
 
Blt introduction
Blt  introductionBlt  introduction
Blt introduction
 
Omaha (Google Update) server
Omaha (Google Update) serverOmaha (Google Update) server
Omaha (Google Update) server
 
Development Setup of B-Translator
Development Setup of B-TranslatorDevelopment Setup of B-Translator
Development Setup of B-Translator
 
A Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy SystemA Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy System
 
Docker dDessi november 2015
Docker dDessi november 2015Docker dDessi november 2015
Docker dDessi november 2015
 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment
 
Docker-v3.pdf
Docker-v3.pdfDocker-v3.pdf
Docker-v3.pdf
 
presentation @ docker meetup
presentation @ docker meetuppresentation @ docker meetup
presentation @ docker meetup
 
Cloudera hadoop installation
Cloudera hadoop installationCloudera hadoop installation
Cloudera hadoop installation
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and docker
 
Docker for .NET Developers
Docker for .NET DevelopersDocker for .NET Developers
Docker for .NET Developers
 
Настройка окружения для кросскомпиляции проектов на основе docker'a
Настройка окружения для кросскомпиляции проектов на основе docker'aНастройка окружения для кросскомпиляции проектов на основе docker'a
Настройка окружения для кросскомпиляции проектов на основе docker'a
 
Docker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los AngelesDocker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los Angeles
 
Forensic basics of Docker and Malware
Forensic basics of Docker and MalwareForensic basics of Docker and Malware
Forensic basics of Docker and Malware
 

Plus de Gerald Villorente

BITS 2015: The Beauty of Drupal
BITS 2015: The Beauty of DrupalBITS 2015: The Beauty of Drupal
BITS 2015: The Beauty of Drupal
Gerald Villorente
 
Consistent Development Environment with Vagrant and Chef
Consistent Development Environment with Vagrant and ChefConsistent Development Environment with Vagrant and Chef
Consistent Development Environment with Vagrant and Chef
Gerald Villorente
 
Drush Deployment Manager: Deployment Made Easy
Drush Deployment Manager: Deployment Made EasyDrush Deployment Manager: Deployment Made Easy
Drush Deployment Manager: Deployment Made Easy
Gerald Villorente
 

Plus de Gerald Villorente (20)

Of Docker and Drupal
Of Docker and DrupalOf Docker and Drupal
Of Docker and Drupal
 
Introduction to Kalabox
Introduction to KalaboxIntroduction to Kalabox
Introduction to Kalabox
 
Drupal Development : Tools, Tips, and Tricks
Drupal Development : Tools, Tips, and TricksDrupal Development : Tools, Tips, and Tricks
Drupal Development : Tools, Tips, and Tricks
 
Drupal 101 V-0.1
Drupal 101 V-0.1Drupal 101 V-0.1
Drupal 101 V-0.1
 
BITS 2015: The Beauty of Drupal
BITS 2015: The Beauty of DrupalBITS 2015: The Beauty of Drupal
BITS 2015: The Beauty of Drupal
 
Introduction to Drupal 7
Introduction to Drupal 7Introduction to Drupal 7
Introduction to Drupal 7
 
Introduction to Drupal - Installation, Anatomy, Terminologies
Introduction to Drupal - Installation, Anatomy, TerminologiesIntroduction to Drupal - Installation, Anatomy, Terminologies
Introduction to Drupal - Installation, Anatomy, Terminologies
 
Consistent Development Environment with Vagrant and Chef
Consistent Development Environment with Vagrant and ChefConsistent Development Environment with Vagrant and Chef
Consistent Development Environment with Vagrant and Chef
 
Drush Deployment Manager: Deployment Made Easy
Drush Deployment Manager: Deployment Made EasyDrush Deployment Manager: Deployment Made Easy
Drush Deployment Manager: Deployment Made Easy
 
Consistent Development Environment using Vagrant and Chef
Consistent Development Environment using Vagrant and ChefConsistent Development Environment using Vagrant and Chef
Consistent Development Environment using Vagrant and Chef
 
Why Drupal is Rockstar?
Why Drupal is Rockstar?Why Drupal is Rockstar?
Why Drupal is Rockstar?
 
Drupal Pilipinas Apprentice: LAMP Administration, CSS, and Vagrant
Drupal Pilipinas Apprentice: LAMP Administration, CSS, and VagrantDrupal Pilipinas Apprentice: LAMP Administration, CSS, and Vagrant
Drupal Pilipinas Apprentice: LAMP Administration, CSS, and Vagrant
 
Drupal
DrupalDrupal
Drupal
 
Best Practices: Drupal Development
Best Practices: Drupal DevelopmentBest Practices: Drupal Development
Best Practices: Drupal Development
 
Drupal Deployment and Essential Development Tools - 2nd Edition
Drupal Deployment and Essential Development Tools - 2nd EditionDrupal Deployment and Essential Development Tools - 2nd Edition
Drupal Deployment and Essential Development Tools - 2nd Edition
 
Drupal Deployment and Essential Development Tools
Drupal Deployment and Essential Development ToolsDrupal Deployment and Essential Development Tools
Drupal Deployment and Essential Development Tools
 
Setting Up Cross-Browser Testing Environment (Debian-based System)
Setting Up Cross-Browser Testing Environment  (Debian-based System)Setting Up Cross-Browser Testing Environment  (Debian-based System)
Setting Up Cross-Browser Testing Environment (Debian-based System)
 
Git: Git'ing the Basic
Git: Git'ing the BasicGit: Git'ing the Basic
Git: Git'ing the Basic
 
Anatomy of Drupal
Anatomy of DrupalAnatomy of Drupal
Anatomy of Drupal
 
Drupal Security Hardening
Drupal Security HardeningDrupal Security Hardening
Drupal Security Hardening
 

Dernier

Dernier (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 

DevOps: Cooking Drupal Deployment