SlideShare a Scribd company logo
Pablo Godel @pgodel
http://summits.phparch.com/
http://joind.in/8966
Rock Solid Deployment
of PHP Applications
Tuesday, July 16, 13
Who Am I?
⁃ Born in Argentina, living in the US since 1999
⁃ PHP & Symfony developer
⁃ Founder of the original PHP mailing list in spanish
⁃ Co-founder of ServerGrove
Tuesday, July 16, 13
Deployment
?
Tuesday, July 16, 13
Deployment
Software deployment is all of the activities that make
a software system available for use.
http://en.wikipedia.org/wiki/Software_deployment
Tuesday, July 16, 13
Deployment
A very important part of
the application life-cycle
Tuesday, July 16, 13
Deployment
A very important critical part
of the application life-cycle
Tuesday, July 16, 13
Deployment
It should not be an
after thought
Tuesday, July 16, 13
Deployment
It should be predictable
Tuesday, July 16, 13
Deployment
The more you do it the
better it goes
Tuesday, July 16, 13
Tuesday, July 16, 13
Deployment: Goals
Tuesday, July 16, 13
Deployment: Goals
One-click deploys
Tuesday, July 16, 13
Continuous deploys
Deployment: Goals
Tuesday, July 16, 13
Web Apps
Deployment
Tuesday, July 16, 13
Web Apps
Deployment
Tuesday, July 16, 13
Web Apps
Deployment
Tuesday, July 16, 13
Anytime & Anywhere
Deployment: Goals
Tuesday, July 16, 13
Anyone
Deployment: Goals
Tuesday, July 16, 13
Reliable
Deployment: Goals
Tuesday, July 16, 13
Rollbacks
Deployment: Goals
Tuesday, July 16, 13
No downtime
Deployment: Goals
Tuesday, July 16, 13
Reusable
Deployment: Goals
Tuesday, July 16, 13
Scalable
Deployment: Goals
Tuesday, July 16, 13
• One-click / continuous deploys
• Anytime & Anywhere
• Anyone
• No downtime
• Predictable & Reliable
• Rollbacks
• Reusable
• Scalable
Deployment: Goals
Tuesday, July 16, 13
Deployment Facts
Tuesday, July 16, 13
Deployment: Fact #1
Deployment starts with the developer
• Setup development environment to be as close
as possible to productions servers
• Setup test/qa/staging servers
• Use Vagrant to manage VMs
• Use Puppet/Chef to manage OS packages/
configuration
Tuesday, July 16, 13
Deployment: Fact #2
Success linked to server OS setup
• Use Puppet/Chef to manage OS packages/
configuration
• Create OS packages for 3rd party software
• Setup your own package repositories
Tuesday, July 16, 13
Deployment: Fact #3
Monitoring is uptime
• Use monitoring tools to know what is going on
with your servers (Ganglia, Cacti, Zabbix, etc.)
• Add monitoring and metrics to your app
(Graphite, StatsD, New Relic)
• Use your logs wisely (Graylog, Logstash, Kibana)
Tuesday, July 16, 13
Deployment Methodologies
Tuesday, July 16, 13
Deployment Methodologies
• VIM-style
• FTP uploads
• rsync
• source control (svn, git)
• Build tools (ant, phing)
• Specialized tools (capistrano, fabric, etc)
• Package based (rpm, deb, etc)
Tuesday, July 16, 13
Web Apps Deployment:
Steps overview
Tuesday, July 16, 13
Web Apps Deployment:
First time
• Copy files to server(s)
• Set server-side configurations
• Load DB fixtures
• Process and install assets
• Warm up cache
• “Enable” site
Tuesday, July 16, 13
• Copy files to server(s)
• Apply DB updates (migrations)
• Process and install assets
• Warm up cache
• “Enable” site
Web Apps Deployment:
Subsequent times
Tuesday, July 16, 13
Deployment: Challenges
Tuesday, July 16, 13
Deployment: Challenges
• rsync
• git pull
• setup git repo on local network to save
bandwidth and avoid issues if git server is down
(i.e. github)
Challenge:
Fast & reliable copy of files
Solutions:
Tuesday, July 16, 13
Deployment: Challenges
• use a tool that allows to go from 1 to n servers
easily (i.e. capistrano)
• pssh allows to send commands to n servers in
parallel
• package your app in OS packages
like .rpm/.deb to easily install across n servers
Challenge:
Scalable
Solutions:
Tuesday, July 16, 13
Deployment: Challenges
• test!
• tag releases
• dedicated branches (master for production)
• deploy each release in its own directory
Challenge:
Rollbacks
Solutions:
Tuesday, July 16, 13
Deployment: Challenges
• use ssh based connections
• don’t store passwords on source control
• store sensitive strings (passwords) in server
environment variables
Challenge:
Secure
Solutions:
Tuesday, July 16, 13
Deployment: Challenges
Challenge:
DB migrations
Solutions:
• Doctrine Migrations
• Consider document oriented DBs like
MongoDB
“The best migrations are the ones you don’t have to do”
Tuesday, July 16, 13
Deployment: Challenges
Challenge:
Static assets
Solutions:
• YUICompress shrinks JS and CSS file sizes
• Enable web server compression
• Add versioning to static assets links (code.js?v=1)
• Assetic combines multiple files into one
• Run utilities locally or in a staging server, deploy
result
Tuesday, July 16, 13
Deployment: Challenges
Challenge:
Caching
Solutions:
• Update one server while others handle load
• Group servers and update group at a time
• execute commands on “finalize” to clear up APC
cache
Tuesday, July 16, 13
Deployment: Challenges
Challenge:
File permission conflicts
Solutions:
• Run Apache/PHP with same user
• Use php-fpm instead of mod_php
• Create “deploy” user and add web server to the
group
• Use setfacl to give write access to multiple users
Tuesday, July 16, 13
Web Apps Deployment:
Other common pitfalls
Tuesday, July 16, 13
Web Apps Deployment:
Other common pitfalls
• Case sensitive filesystems
• Configuration differences
• Outdated 3rd party software
• Github down
$ git daemon --base-path=/git/repo/path/ --
export-all
$ git clone git://127.0.0.1/repo
http://ozmm.org/posts/when_github_goes_down.html
Tuesday, July 16, 13
Web Apps Deployment:
Examples
Tuesday, July 16, 13
Web Apps Deployment:
Examples
Simplest continuous deployment ever!
<?php
exec(‘/usr/bin/env -i HOME=/var/www git pull’);
echo “All done!”;
hook.php
screenshot
Tuesday, July 16, 13
Web Apps Deployment:
Examples
Capistrano
• Ruby based
• Very extensible
• Large number of extensions
• Simple client side installation
$ gem install capistrano
Tuesday, July 16, 13
Web Apps Deployment:
Examples
Capistrano
set :application, "myapp" # Application name
set :deploy_to, "/var/www/myapp"
set :user, "deployer"
set :use_sudo, false # sudo isn't required
set :deploy_via, :remote_cache
set :repository, "git@github.com:user/repo.git"
role :web, "server.example.com",“server2.example.com”
Tuesday, July 16, 13
Web Apps Deployment:
Examples
$ cap deploy:setup
Capistrano
Tuesday, July 16, 13
Web Apps Deployment:
Examples
|-- releases
`-- shared
|-- logs
`-- uploads
Capistrano
Tuesday, July 16, 13
Web Apps Deployment:
Examples
Capistrano
$ cap deploy
$ cap deploy:migrations
$ cap deploy:rollback
Tuesday, July 16, 13
Web Apps Deployment:
Examples
|-- current
(symlink to releases/20130112)
|-- releases
| `-- 20130112
`-- shared
|-- logs
`-- uploads
Capistrano
Tuesday, July 16, 13
Web Apps Deployment:
Other options
• Fabric
• Phing
• Jenkins
• WePloy
https://github.com/rlerdorf/WePloy
• Magallanes
http://magallanes.zenreworks.com/
• Idephix
http://getidephix.com/
Tuesday, July 16, 13
Web Apps Deployment:
Tools
Tuesday, July 16, 13
Web Apps Deployment:
Tools
App Metrics: StatsD & Graphite
Tuesday, July 16, 13
Web Apps Deployment:
Tools
Logging: Logstash
Ship logs from any source, parse them, get the right
timestamp, index them, and search them
Tuesday, July 16, 13
Web Apps Deployment:
Tools
Logging: Logstash
Configure Apache to log json
LogFormat "{ "@timestamp": "%{%Y-%m-%dT%H:%M:%S%z}t", "@fields": { "client": "%a",
"duration_usec": %D, "status": %s, "request": "%U%q", "method": "%m", "referrer": "%
{Referer}i" } }" logstash_json
# Write our 'logstash_json' logs to logs/access_json.log
CustomLog logs/access_json.log logstash_json
{ "@timestamp": "2012-08-22T14:35:19-0700", "client": "127.0.0.1",
"duration_usec": 532, "status": 404, "request": "/favicon.ico",
"method": "GET", "referrer": "-" }
Result
Tuesday, July 16, 13
Web Apps Deployment:
Tools
Logging: Graylog
Tuesday, July 16, 13
Web Apps Deployment:
Tools
Logging: Kibana
Kibana is a user friendly way to view, search and visualize
your log data
Tuesday, July 16, 13
Web Apps Deployment:
Tools
Packaging: fpm
https://github.com/jordansissel/fpm
Build packages for multiple platforms (deb, rpm, etc) with great ease and sanity.
fpm -s dir -t rpm -n "myapp" -v 1.0 /var/www/myapp
fpm -s dir -t deb -a all -n myapp -v 1.0 /etc/apache2/
conf.d/my.conf /var/www/myapp
Tuesday, July 16, 13
Web Apps Deployment:
Summary
Tuesday, July 16, 13
•Stop using FTP
Tuesday, July 16, 13
•Stop using FTP
•Plan early
Tuesday, July 16, 13
•Stop using FTP
•Plan early
•Practice
Tuesday, July 16, 13
•Stop using FTP
•Plan early
•Practice
•Monitor
Tuesday, July 16, 13
•Stop using FTP
•Plan early
•Practice
•Monitor
•AUTOMATE!
Tuesday, July 16, 13
QUESTIONS?
Slides: http://slideshare.net/pgodel
Twitter: @pgodel
E-mail: pablo@servergrove.com
Tuesday, July 16, 13
Thank you!
Slides: http://slideshare.net/pgodel
Twitter: @pgodel
E-mail: pablo@servergrove.com
http://joind.in/8966
Tuesday, July 16, 13

More Related Content

Viewers also liked

Anatomy of a methodology
Anatomy of a methodologyAnatomy of a methodology
Anatomy of a methodology
Saumya Ganguly
 
How to start a blog step-by-step guide
How to start a blog   step-by-step guideHow to start a blog   step-by-step guide
How to start a blog step-by-step guideKaran Labra
 
Press Briefing Slides on the budget and economic outlook 2015 to 2025
Press Briefing Slides on the budget and economic outlook 2015 to 2025Press Briefing Slides on the budget and economic outlook 2015 to 2025
Press Briefing Slides on the budget and economic outlook 2015 to 2025Congressional Budget Office
 
Why FPGA
Why FPGAWhy FPGA
Why FPGA
ProFAX
 
Habitual behaviour(unit 1)
Habitual behaviour(unit 1)Habitual behaviour(unit 1)
Habitual behaviour(unit 1)
Hamed Hashemian
 
Letter of application
Letter of applicationLetter of application
Letter of application
Hamed Hashemian
 
Section 3
Section 3Section 3
Section 3
Hamed Hashemian
 
Extraction, Analysis, Atom Mapping, Classification and Naming of Reactions fr...
Extraction, Analysis, Atom Mapping, Classification and Naming of Reactions fr...Extraction, Analysis, Atom Mapping, Classification and Naming of Reactions fr...
Extraction, Analysis, Atom Mapping, Classification and Naming of Reactions fr...
NextMove Software
 
Phonology
PhonologyPhonology
Phonology
Hamed Hashemian
 
Formal letter
Formal letterFormal letter
Formal letter
Hamed Hashemian
 
STEM CELL THERAPY
STEM CELL THERAPYSTEM CELL THERAPY
STEM CELL THERAPY
د. أنور الموسوي
 
Speaking
SpeakingSpeaking
Speaking
Hamed Hashemian
 
DataStax | Data Science with DataStax Enterprise (Brian Hess) | Cassandra Sum...
DataStax | Data Science with DataStax Enterprise (Brian Hess) | Cassandra Sum...DataStax | Data Science with DataStax Enterprise (Brian Hess) | Cassandra Sum...
DataStax | Data Science with DataStax Enterprise (Brian Hess) | Cassandra Sum...
DataStax
 
Neural Network in Knowledge Bases
Neural Network in Knowledge BasesNeural Network in Knowledge Bases
Neural Network in Knowledge Bases
Kushal Arora
 
Exceptional Naming
Exceptional NamingExceptional Naming
Exceptional Naming
Kevlin Henney
 
Миний вэб сайт хийдэг аргачлал
Миний вэб сайт хийдэг аргачлалМиний вэб сайт хийдэг аргачлал
Миний вэб сайт хийдэг аргачлал
Javkhlan Rentsendorj
 
ClinicSEO: SEO para ecommerce
ClinicSEO:  SEO para ecommerceClinicSEO:  SEO para ecommerce
ClinicSEO: SEO para ecommerce
Clinic Seo
 
Why Marketing should care about Quality
Why Marketing should care about QualityWhy Marketing should care about Quality
Why Marketing should care about Quality
WAKSTER Limited
 

Viewers also liked (19)

Catalog
CatalogCatalog
Catalog
 
Anatomy of a methodology
Anatomy of a methodologyAnatomy of a methodology
Anatomy of a methodology
 
How to start a blog step-by-step guide
How to start a blog   step-by-step guideHow to start a blog   step-by-step guide
How to start a blog step-by-step guide
 
Press Briefing Slides on the budget and economic outlook 2015 to 2025
Press Briefing Slides on the budget and economic outlook 2015 to 2025Press Briefing Slides on the budget and economic outlook 2015 to 2025
Press Briefing Slides on the budget and economic outlook 2015 to 2025
 
Why FPGA
Why FPGAWhy FPGA
Why FPGA
 
Habitual behaviour(unit 1)
Habitual behaviour(unit 1)Habitual behaviour(unit 1)
Habitual behaviour(unit 1)
 
Letter of application
Letter of applicationLetter of application
Letter of application
 
Section 3
Section 3Section 3
Section 3
 
Extraction, Analysis, Atom Mapping, Classification and Naming of Reactions fr...
Extraction, Analysis, Atom Mapping, Classification and Naming of Reactions fr...Extraction, Analysis, Atom Mapping, Classification and Naming of Reactions fr...
Extraction, Analysis, Atom Mapping, Classification and Naming of Reactions fr...
 
Phonology
PhonologyPhonology
Phonology
 
Formal letter
Formal letterFormal letter
Formal letter
 
STEM CELL THERAPY
STEM CELL THERAPYSTEM CELL THERAPY
STEM CELL THERAPY
 
Speaking
SpeakingSpeaking
Speaking
 
DataStax | Data Science with DataStax Enterprise (Brian Hess) | Cassandra Sum...
DataStax | Data Science with DataStax Enterprise (Brian Hess) | Cassandra Sum...DataStax | Data Science with DataStax Enterprise (Brian Hess) | Cassandra Sum...
DataStax | Data Science with DataStax Enterprise (Brian Hess) | Cassandra Sum...
 
Neural Network in Knowledge Bases
Neural Network in Knowledge BasesNeural Network in Knowledge Bases
Neural Network in Knowledge Bases
 
Exceptional Naming
Exceptional NamingExceptional Naming
Exceptional Naming
 
Миний вэб сайт хийдэг аргачлал
Миний вэб сайт хийдэг аргачлалМиний вэб сайт хийдэг аргачлал
Миний вэб сайт хийдэг аргачлал
 
ClinicSEO: SEO para ecommerce
ClinicSEO:  SEO para ecommerceClinicSEO:  SEO para ecommerce
ClinicSEO: SEO para ecommerce
 
Why Marketing should care about Quality
Why Marketing should care about QualityWhy Marketing should care about Quality
Why Marketing should care about Quality
 

Similar to php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP apps

Intro to PHP Testing
Intro to PHP TestingIntro to PHP Testing
Intro to PHP TestingRan Mizrahi
 
Tek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSTek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJS
Pablo Godel
 
Proud to be polyglot!
Proud to be polyglot!Proud to be polyglot!
Proud to be polyglot!NLJUG
 
Getting Started with Meteor
Getting Started with MeteorGetting Started with Meteor
Getting Started with Meteor
Michael Redlich
 
XPages Blast - Lotusphere 2013
XPages Blast - Lotusphere 2013XPages Blast - Lotusphere 2013
XPages Blast - Lotusphere 2013
Tim Clark
 
Use open source software to develop ideas at work
Use open source software to develop ideas at workUse open source software to develop ideas at work
Use open source software to develop ideas at work
Sammy Fung
 
The PRPL Pattern
The PRPL PatternThe PRPL Pattern
The PRPL Pattern
Red Pill Now
 
2016 03 15_biological_databases_part4
2016 03 15_biological_databases_part42016 03 15_biological_databases_part4
2016 03 15_biological_databases_part4
Prof. Wim Van Criekinge
 
Introduction to NoSQL with Couchbase
Introduction to NoSQL with CouchbaseIntroduction to NoSQL with Couchbase
Introduction to NoSQL with Couchbase
Tugdual Grall
 
Cloudfoundry Overview
Cloudfoundry OverviewCloudfoundry Overview
Cloudfoundry Overview
rajdeep
 
Why and How to integrate Hadoop and NoSQL?
Why and How to integrate Hadoop and NoSQL?Why and How to integrate Hadoop and NoSQL?
Why and How to integrate Hadoop and NoSQL?
Tugdual Grall
 
Lone StarPHP 2013 - Building Web Apps from a New Angle
Lone StarPHP 2013 - Building Web Apps from a New AngleLone StarPHP 2013 - Building Web Apps from a New Angle
Lone StarPHP 2013 - Building Web Apps from a New Angle
Pablo Godel
 
Introduction to node.js by Ran Mizrahi @ Reversim Summit
Introduction to node.js by Ran Mizrahi @ Reversim SummitIntroduction to node.js by Ran Mizrahi @ Reversim Summit
Introduction to node.js by Ran Mizrahi @ Reversim Summit
Ran Mizrahi
 
Red Dirt Ruby Conference
Red Dirt Ruby ConferenceRed Dirt Ruby Conference
Red Dirt Ruby Conference
John Woodell
 
Cloud stack design camp on jun 15
Cloud stack design camp on jun 15Cloud stack design camp on jun 15
Cloud stack design camp on jun 15Isaac Chiang
 
Softshake 2013: Introduction to NoSQL with Couchbase
Softshake 2013: Introduction to NoSQL with CouchbaseSoftshake 2013: Introduction to NoSQL with Couchbase
Softshake 2013: Introduction to NoSQL with Couchbase
Tugdual Grall
 
Off the Treadmill: Building a Drupal Platform for Your Organization
Off the Treadmill: Building a Drupal Platform for Your OrganizationOff the Treadmill: Building a Drupal Platform for Your Organization
Off the Treadmill: Building a Drupal Platform for Your Organization
Rick Vugteveen
 
Frontend Engineer Toolbox
Frontend Engineer ToolboxFrontend Engineer Toolbox
Frontend Engineer Toolbox
Ynon Perek
 
FireWorks overview
FireWorks overviewFireWorks overview
FireWorks overview
Anubhav Jain
 
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony AppsSymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
Pablo Godel
 

Similar to php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP apps (20)

Intro to PHP Testing
Intro to PHP TestingIntro to PHP Testing
Intro to PHP Testing
 
Tek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSTek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJS
 
Proud to be polyglot!
Proud to be polyglot!Proud to be polyglot!
Proud to be polyglot!
 
Getting Started with Meteor
Getting Started with MeteorGetting Started with Meteor
Getting Started with Meteor
 
XPages Blast - Lotusphere 2013
XPages Blast - Lotusphere 2013XPages Blast - Lotusphere 2013
XPages Blast - Lotusphere 2013
 
Use open source software to develop ideas at work
Use open source software to develop ideas at workUse open source software to develop ideas at work
Use open source software to develop ideas at work
 
The PRPL Pattern
The PRPL PatternThe PRPL Pattern
The PRPL Pattern
 
2016 03 15_biological_databases_part4
2016 03 15_biological_databases_part42016 03 15_biological_databases_part4
2016 03 15_biological_databases_part4
 
Introduction to NoSQL with Couchbase
Introduction to NoSQL with CouchbaseIntroduction to NoSQL with Couchbase
Introduction to NoSQL with Couchbase
 
Cloudfoundry Overview
Cloudfoundry OverviewCloudfoundry Overview
Cloudfoundry Overview
 
Why and How to integrate Hadoop and NoSQL?
Why and How to integrate Hadoop and NoSQL?Why and How to integrate Hadoop and NoSQL?
Why and How to integrate Hadoop and NoSQL?
 
Lone StarPHP 2013 - Building Web Apps from a New Angle
Lone StarPHP 2013 - Building Web Apps from a New AngleLone StarPHP 2013 - Building Web Apps from a New Angle
Lone StarPHP 2013 - Building Web Apps from a New Angle
 
Introduction to node.js by Ran Mizrahi @ Reversim Summit
Introduction to node.js by Ran Mizrahi @ Reversim SummitIntroduction to node.js by Ran Mizrahi @ Reversim Summit
Introduction to node.js by Ran Mizrahi @ Reversim Summit
 
Red Dirt Ruby Conference
Red Dirt Ruby ConferenceRed Dirt Ruby Conference
Red Dirt Ruby Conference
 
Cloud stack design camp on jun 15
Cloud stack design camp on jun 15Cloud stack design camp on jun 15
Cloud stack design camp on jun 15
 
Softshake 2013: Introduction to NoSQL with Couchbase
Softshake 2013: Introduction to NoSQL with CouchbaseSoftshake 2013: Introduction to NoSQL with Couchbase
Softshake 2013: Introduction to NoSQL with Couchbase
 
Off the Treadmill: Building a Drupal Platform for Your Organization
Off the Treadmill: Building a Drupal Platform for Your OrganizationOff the Treadmill: Building a Drupal Platform for Your Organization
Off the Treadmill: Building a Drupal Platform for Your Organization
 
Frontend Engineer Toolbox
Frontend Engineer ToolboxFrontend Engineer Toolbox
Frontend Engineer Toolbox
 
FireWorks overview
FireWorks overviewFireWorks overview
FireWorks overview
 
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony AppsSymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
 

More from Pablo Godel

SymfonyCon Cluj 2017 - Symfony at OpenSky
SymfonyCon Cluj 2017 - Symfony at OpenSkySymfonyCon Cluj 2017 - Symfony at OpenSky
SymfonyCon Cluj 2017 - Symfony at OpenSky
Pablo Godel
 
Symfony Live San Francisco 2017 - Symfony @ OpenSky
Symfony Live San Francisco 2017 - Symfony @ OpenSkySymfony Live San Francisco 2017 - Symfony @ OpenSky
Symfony Live San Francisco 2017 - Symfony @ OpenSky
Pablo Godel
 
DeSymfony 2017 - Symfony en OpenSky
DeSymfony 2017 - Symfony en OpenSkyDeSymfony 2017 - Symfony en OpenSky
DeSymfony 2017 - Symfony en OpenSky
Pablo Godel
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.cat
Pablo Godel
 
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceARLa Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
Pablo Godel
 
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
Symfony Live NYC 2014 -  Rock Solid Deployment of Symfony AppsSymfony Live NYC 2014 -  Rock Solid Deployment of Symfony Apps
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
Pablo Godel
 
The Modern Developer Toolbox
The Modern Developer ToolboxThe Modern Developer Toolbox
The Modern Developer Toolbox
Pablo Godel
 
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
Pablo Godel
 
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balasPHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas
Pablo Godel
 
Lone Star PHP 2013 - Sysadmin Skills for PHP Developers
Lone Star PHP 2013 - Sysadmin Skills for PHP DevelopersLone Star PHP 2013 - Sysadmin Skills for PHP Developers
Lone Star PHP 2013 - Sysadmin Skills for PHP Developers
Pablo Godel
 
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
Pablo Godel
 
Creating Mobile Apps With PHP & Symfony2
Creating Mobile Apps With PHP & Symfony2Creating Mobile Apps With PHP & Symfony2
Creating Mobile Apps With PHP & Symfony2Pablo Godel
 
Tek13 - Creating Mobile Apps with PHP and Symfony
Tek13 - Creating Mobile Apps with PHP and SymfonyTek13 - Creating Mobile Apps with PHP and Symfony
Tek13 - Creating Mobile Apps with PHP and Symfony
Pablo Godel
 
Soflophp 2013 - SysAdmin skills for PHP developers
Soflophp 2013 - SysAdmin skills for PHP developersSoflophp 2013 - SysAdmin skills for PHP developers
Soflophp 2013 - SysAdmin skills for PHP developers
Pablo Godel
 
Symfony2 and MongoDB - MidwestPHP 2013
Symfony2 and MongoDB - MidwestPHP 2013   Symfony2 and MongoDB - MidwestPHP 2013
Symfony2 and MongoDB - MidwestPHP 2013
Pablo Godel
 
Codeworks'12 Rock Solid Deployment of PHP Apps
Codeworks'12 Rock Solid Deployment of PHP AppsCodeworks'12 Rock Solid Deployment of PHP Apps
Codeworks'12 Rock Solid Deployment of PHP Apps
Pablo Godel
 
PFCongres 2012 - Rock Solid Deployment of PHP Apps
PFCongres 2012 - Rock Solid Deployment of PHP AppsPFCongres 2012 - Rock Solid Deployment of PHP Apps
PFCongres 2012 - Rock Solid Deployment of PHP AppsPablo Godel
 
Symfony2 y MongoDB - deSymfony 2012
Symfony2 y MongoDB - deSymfony 2012Symfony2 y MongoDB - deSymfony 2012
Symfony2 y MongoDB - deSymfony 2012
Pablo Godel
 
Declare independence from your it department sysadmin skills for symfony dev...
Declare independence from your it department  sysadmin skills for symfony dev...Declare independence from your it department  sysadmin skills for symfony dev...
Declare independence from your it department sysadmin skills for symfony dev...
Pablo Godel
 
Symfony2 and MongoDB
Symfony2 and MongoDBSymfony2 and MongoDB
Symfony2 and MongoDB
Pablo Godel
 

More from Pablo Godel (20)

SymfonyCon Cluj 2017 - Symfony at OpenSky
SymfonyCon Cluj 2017 - Symfony at OpenSkySymfonyCon Cluj 2017 - Symfony at OpenSky
SymfonyCon Cluj 2017 - Symfony at OpenSky
 
Symfony Live San Francisco 2017 - Symfony @ OpenSky
Symfony Live San Francisco 2017 - Symfony @ OpenSkySymfony Live San Francisco 2017 - Symfony @ OpenSky
Symfony Live San Francisco 2017 - Symfony @ OpenSky
 
DeSymfony 2017 - Symfony en OpenSky
DeSymfony 2017 - Symfony en OpenSkyDeSymfony 2017 - Symfony en OpenSky
DeSymfony 2017 - Symfony en OpenSky
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.cat
 
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceARLa Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
 
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
Symfony Live NYC 2014 -  Rock Solid Deployment of Symfony AppsSymfony Live NYC 2014 -  Rock Solid Deployment of Symfony Apps
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
 
The Modern Developer Toolbox
The Modern Developer ToolboxThe Modern Developer Toolbox
The Modern Developer Toolbox
 
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
 
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balasPHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas
 
Lone Star PHP 2013 - Sysadmin Skills for PHP Developers
Lone Star PHP 2013 - Sysadmin Skills for PHP DevelopersLone Star PHP 2013 - Sysadmin Skills for PHP Developers
Lone Star PHP 2013 - Sysadmin Skills for PHP Developers
 
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
 
Creating Mobile Apps With PHP & Symfony2
Creating Mobile Apps With PHP & Symfony2Creating Mobile Apps With PHP & Symfony2
Creating Mobile Apps With PHP & Symfony2
 
Tek13 - Creating Mobile Apps with PHP and Symfony
Tek13 - Creating Mobile Apps with PHP and SymfonyTek13 - Creating Mobile Apps with PHP and Symfony
Tek13 - Creating Mobile Apps with PHP and Symfony
 
Soflophp 2013 - SysAdmin skills for PHP developers
Soflophp 2013 - SysAdmin skills for PHP developersSoflophp 2013 - SysAdmin skills for PHP developers
Soflophp 2013 - SysAdmin skills for PHP developers
 
Symfony2 and MongoDB - MidwestPHP 2013
Symfony2 and MongoDB - MidwestPHP 2013   Symfony2 and MongoDB - MidwestPHP 2013
Symfony2 and MongoDB - MidwestPHP 2013
 
Codeworks'12 Rock Solid Deployment of PHP Apps
Codeworks'12 Rock Solid Deployment of PHP AppsCodeworks'12 Rock Solid Deployment of PHP Apps
Codeworks'12 Rock Solid Deployment of PHP Apps
 
PFCongres 2012 - Rock Solid Deployment of PHP Apps
PFCongres 2012 - Rock Solid Deployment of PHP AppsPFCongres 2012 - Rock Solid Deployment of PHP Apps
PFCongres 2012 - Rock Solid Deployment of PHP Apps
 
Symfony2 y MongoDB - deSymfony 2012
Symfony2 y MongoDB - deSymfony 2012Symfony2 y MongoDB - deSymfony 2012
Symfony2 y MongoDB - deSymfony 2012
 
Declare independence from your it department sysadmin skills for symfony dev...
Declare independence from your it department  sysadmin skills for symfony dev...Declare independence from your it department  sysadmin skills for symfony dev...
Declare independence from your it department sysadmin skills for symfony dev...
 
Symfony2 and MongoDB
Symfony2 and MongoDBSymfony2 and MongoDB
Symfony2 and MongoDB
 

Recently uploaded

Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 

Recently uploaded (20)

Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 

php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP apps