Web applications are becoming increasingly more complex, so deployment is not just transferring files with FTP anymore. We will go over the different challenges and how to deploy our PHP applications effectively, safely and consistently with the latest tools and techniques. We will also look at tools that complement deployment with management, configuration and monitoring.
Lo sviluppo del modulo Devel affonda le sue radici nel lontano 2003 quando la versione di Drupal era la 4.1. Ne è passata di acqua sotto i ponti e siamo in direttura di arrivo per la prima versione stabile di Devel per Drupal 8. Molte cose sono cambiate sia a livello di architettura che di funzionalità messe a disposizione degli sviluppatori. Integrazione con il Core - integrazione nativa con il modulo Toolbar del Core - pagine di informazione sul Service Container, le rotte, le entità, gli eventi e molto altro - cambio rapido di utente - accesso in lettura e modifica dei dati memorizzati nel Configuration Management System e nelle State API - estensioni di Twig per il dump delle variabili o l'impostazione di breakpoint per xDebug Dumpers Un sistema a plugin per stampare in pagina variabili complesse come array ed oggetti. Kint, Symfony var-dumper, Doctrine, sono tutti supportati e presenti di default in Devel. Webprofiler Profila e analizza ogni singola pagina del sito. Dalla toolbar che Webprofiler aggiunge al footer di ogni pagina hai una visione sull'utilizzo delle risorse, sulle query al database, sulle viste, sui blocchi e molto altro.
di Luca Lusso
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016Paul McKibben
You have found yourself newly-responsible for administering and updating a Drupal site created by somebody else, and you’re struggling. Maybe you’re new to Drupal and you’ve been thrown into the fire. Or maybe you’re experienced with Drupal but the site creator used an unfamiliar approach. Or even worse, perhaps the site was not built according to best practices, and you need to dig deep to figure out how it works and keep it updated. Whatever your situation, this presentation has something for you.
"A re-usable Ansible role to deploy projects".
Ansible is a provisioning tool rapidly growing in popularity, mainly due to it’s simplicity. But it’s capable of more than just provisioning! In this talk, I’ll walk you through an Ansible role that can be used to deploy your projects. Those familiar with Capistrano wil recognize the method, but I’ll explain it step by step and in the end I’ll show a real-world example from a Symfony2 project: the SweetlakePHP website. (this talk assumes some knowledge of how Ansible works)
Наличие в бизнесе нескольких собственников нередко осложняет его развитие, а порой даже способно разрушить. Согласование их позиций критически важно для роста таких компаний. Особенно в том случае, когда собственники одновременно выполняют еще и функции топ-менеджеров.
Lo sviluppo del modulo Devel affonda le sue radici nel lontano 2003 quando la versione di Drupal era la 4.1. Ne è passata di acqua sotto i ponti e siamo in direttura di arrivo per la prima versione stabile di Devel per Drupal 8. Molte cose sono cambiate sia a livello di architettura che di funzionalità messe a disposizione degli sviluppatori. Integrazione con il Core - integrazione nativa con il modulo Toolbar del Core - pagine di informazione sul Service Container, le rotte, le entità, gli eventi e molto altro - cambio rapido di utente - accesso in lettura e modifica dei dati memorizzati nel Configuration Management System e nelle State API - estensioni di Twig per il dump delle variabili o l'impostazione di breakpoint per xDebug Dumpers Un sistema a plugin per stampare in pagina variabili complesse come array ed oggetti. Kint, Symfony var-dumper, Doctrine, sono tutti supportati e presenti di default in Devel. Webprofiler Profila e analizza ogni singola pagina del sito. Dalla toolbar che Webprofiler aggiunge al footer di ogni pagina hai una visione sull'utilizzo delle risorse, sulle query al database, sulle viste, sui blocchi e molto altro.
di Luca Lusso
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016Paul McKibben
You have found yourself newly-responsible for administering and updating a Drupal site created by somebody else, and you’re struggling. Maybe you’re new to Drupal and you’ve been thrown into the fire. Or maybe you’re experienced with Drupal but the site creator used an unfamiliar approach. Or even worse, perhaps the site was not built according to best practices, and you need to dig deep to figure out how it works and keep it updated. Whatever your situation, this presentation has something for you.
"A re-usable Ansible role to deploy projects".
Ansible is a provisioning tool rapidly growing in popularity, mainly due to it’s simplicity. But it’s capable of more than just provisioning! In this talk, I’ll walk you through an Ansible role that can be used to deploy your projects. Those familiar with Capistrano wil recognize the method, but I’ll explain it step by step and in the end I’ll show a real-world example from a Symfony2 project: the SweetlakePHP website. (this talk assumes some knowledge of how Ansible works)
Наличие в бизнесе нескольких собственников нередко осложняет его развитие, а порой даже способно разрушить. Согласование их позиций критически важно для роста таких компаний. Особенно в том случае, когда собственники одновременно выполняют еще и функции топ-менеджеров.
Anatomy of a Methodology: To introduce structure into a structure. Please do let me know if you want a copy. I have a write up that is more detailed. You may write to me at saumya _ ganguly (at) gmail (dot) com
This presentation justifies the usage of the FPGA devices to implement the Protein Folding algorithm we have chosen. This algorithm is based on Monte Carlo simulation and will be presented at the Xilinx Open Hardware 2016
DataStax | Data Science with DataStax Enterprise (Brian Hess) | Cassandra Sum...DataStax
Leveraging your operational data for advanced and predictive analytics enables deeper insights and greater value for cloud applications. DSE Analytics is a complete platform for Operational Analytics, including data ingestion, stream processing, batch analysis, and machine learning.
In this talk we will provide an overview of DSE Analytics as it applies to data science tools and techniques, and demonstrate these via real world use cases and examples.
Brian Hess
Rob Murphy
Rocco Varela
About the Speakers
Brian Hess Senior Product Manager, Analytics, DataStax
Brian has been in the analytics space for over 15 years ranging from government to data mining applied research to analytics in enterprise data warehousing and NoSQL engines, in roles ranging from Cryptologic Mathematician to Director of Advanced Analytics to Senior Product Manager. In all these roles he has pushed data analytics and processing to massive scales in order to solve problems that were previously unsolvable.
En esta ocasión hemos querido reunir a 3 expertos en SEO para ecommerce, donde expondrán 3 estrategias que los asistentes pueden aplicar a sus tiendas online para mejorar su tráfico orgánico.
It is a huge mistake to neglect quality in favour of quantity. This presentation explores what quality is and why it is a critical part of your marketing success. Easy access to cheap resources has flooded our information space with low quality marketing content. This is not necessarily a bad thing because it offers you the opportunity to stand out from the noise. People crave quality content. Give it to them.
Tek 2013 - Building Web Apps from a New Angle with AngularJSPablo Godel
AngularJS is a new JavaScript framework, backed by Google, for building powerful, complex and rich client-side web applications. We will go over the features and basics of building a web application with AngularJS and we will demonstrate how to communicate with a REST server built with PHP.
Anatomy of a Methodology: To introduce structure into a structure. Please do let me know if you want a copy. I have a write up that is more detailed. You may write to me at saumya _ ganguly (at) gmail (dot) com
This presentation justifies the usage of the FPGA devices to implement the Protein Folding algorithm we have chosen. This algorithm is based on Monte Carlo simulation and will be presented at the Xilinx Open Hardware 2016
DataStax | Data Science with DataStax Enterprise (Brian Hess) | Cassandra Sum...DataStax
Leveraging your operational data for advanced and predictive analytics enables deeper insights and greater value for cloud applications. DSE Analytics is a complete platform for Operational Analytics, including data ingestion, stream processing, batch analysis, and machine learning.
In this talk we will provide an overview of DSE Analytics as it applies to data science tools and techniques, and demonstrate these via real world use cases and examples.
Brian Hess
Rob Murphy
Rocco Varela
About the Speakers
Brian Hess Senior Product Manager, Analytics, DataStax
Brian has been in the analytics space for over 15 years ranging from government to data mining applied research to analytics in enterprise data warehousing and NoSQL engines, in roles ranging from Cryptologic Mathematician to Director of Advanced Analytics to Senior Product Manager. In all these roles he has pushed data analytics and processing to massive scales in order to solve problems that were previously unsolvable.
En esta ocasión hemos querido reunir a 3 expertos en SEO para ecommerce, donde expondrán 3 estrategias que los asistentes pueden aplicar a sus tiendas online para mejorar su tráfico orgánico.
It is a huge mistake to neglect quality in favour of quantity. This presentation explores what quality is and why it is a critical part of your marketing success. Easy access to cheap resources has flooded our information space with low quality marketing content. This is not necessarily a bad thing because it offers you the opportunity to stand out from the noise. People crave quality content. Give it to them.
Tek 2013 - Building Web Apps from a New Angle with AngularJSPablo Godel
AngularJS is a new JavaScript framework, backed by Google, for building powerful, complex and rich client-side web applications. We will go over the features and basics of building a web application with AngularJS and we will demonstrate how to communicate with a REST server built with PHP.
An introduction to Google's PRPL pattern that can be used to implement Progressive Web Applications. Delivered at MWLUG 2017 in Alexandria, VA by Keith Strickland.
Lone StarPHP 2013 - Building Web Apps from a New AnglePablo Godel
AngularJS is a new JavaScript framework, backed by Google, for building powerful, complex and rich client-side web applications. We will go over the features and basics of building a web application with AngularJS and we will demonstrate how to communitate with a REST server built with PHP.
Introduction to node.js by Ran Mizrahi @ Reversim SummitRan Mizrahi
Node.js is a platform built on Chrome V8 javascript runtime engine for building fast and scalable, non-blocking, real-time and network applications. In this session I'll introduce you to node.js and developing large code bases using it. We'll cover the following aspects:
* What is node.js?
* Apache vs. Nginx performance (One thread per connection vs. event loop) and what it has to do with node.js.
* Why node was written in Javascript?
* Main tools and frameworks (Express, socket.io, mongoose etc.)
* TDD/BDD with node.js using mocha and Expect.js
Softshake 2013: Introduction to NoSQL with CouchbaseTugdual Grall
This presentation was delivered during Softshake 2013. Learn why RDBMS are not enought and why NoSQL help developers to scale their applications and provide agility.
Off the Treadmill: Building a Drupal Platform for Your OrganizationRick Vugteveen
Drupal Distributions! We know and love Commons, Open Atrium, Open Publish, COD and other off the shelf projects. But what about your organization’s unique needs and use cases? You want to stop building websites and start building a repeatable system of your own. But how?
In this talk I share lessons learned from my time in Drupal consulting, including a one year establishing a common platform at a magazine publisher (30+ titles) as well as what I see on the front lines at Acquia. I want attendees to walk away with a vision to move from site building and into internal product development. For attendees already on this path I want to share lessons from my time in the trenches.
Specific takeaways:
How to get off the site building treadmill and into developing a product. “We don’t have the time” will no longer be an excuse.
How to deal with inconsistencies between sites. Decide what should be unique vs. what should be standardized.
Your love/hate relationship with Features (for example, how to deal with feature overrides).
How to deal with tricky upgrade path issues as your platform matures.
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony AppsPablo Godel
Web applications are becoming increasingly more complex, so deployment is not just transferring files with FTP anymore. We will go over the different challenges and how to deploy our PHP applications effectively, safely and consistently with the latest tools and techniques. We will also look at tools that complement deployment with management, configuration and monitoring.
Similar to php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP apps (20)
SymfonyCon Cluj 2017 - Symfony at OpenSkyPablo Godel
OpenSky is one of the first large ecommerce platforms to use Symfony2 and has been running on it for many years. On this talk we share how we use the framework and many tips about workflow, testing, deployment, Doctrine, migrations and much more.
Symfony Live San Francisco 2017 - Symfony @ OpenSkyPablo Godel
OpenSky is one of the first large ecommerce platforms to use Symfony2. The whole marketplace has been running on Symfony for many years. Over this talk we will share:
how we use the framework and other PHP components
our deployment process
using Doctrine with MySQL and MongoDB
things we learned to avoid
running a large PHPUnit test suite
OpenSky es uno de los primeros grandes usuarios de Symfony desde su lanzamiento. Hoy en día cuenta con varios millones de usuarios activos. Compartiremos como OpenSky utiliza Symfony, Doctrine con MySQL y MongoDB y otros componentes.
También ofreceremos algunos tips de la infraestructura y la organización que posibilitan un crecimiento gradual, continuo y ágil.
La Caja de Herramientas del Desarrollador Moderno PHPConferenceARPablo Godel
En los últimos años ha habido un tremendo progreso e innovación en herramientas y aplicaciones disponibles para que el desarrollador web mejore la calidad, eficiencia y velocidad de sus aplicaciones. Es difícil estar al tanto de todas estas actualizaciones.
En esta charla introduciremos y exploraremos las herramientas que marcan una real diferencia en las siguientes áreas:
Desarrollo, testeo y debugging con Vagrant, Ansible, y Docker
Monitoreo y logging con Logstash, Kibana, Redis, y Elasticsearch
Deployment con Capistrano, Capifony y similares
Todas estas herramientas, además de consejos y trucos aprendidos a lo largo de años de experiencia harán de esta charla muy interesante para desarrolladores de diversos niveles.
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony AppsPablo Godel
Web applications are becoming increasingly more complex, so deployment is not just transferring files with FTP anymore. We will go over the different challenges and how to deploy our PHP applications effectively, safely and consistently with the latest tools and techniques. We will also look at tools that complement deployment with management, configuration and monitoring.
In recent years there has been a tremendous amount of progress and innovation around tools and applications available to web developers that improve the quality, efficiency and speed of our applications, and it is hard to keep up with all of it.
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...Pablo Godel
Un programador PHP/web no está completo sin conocimientos de administración de servidores. Cuando buscas un trabajo, seguramente te encontrarás con el requerimiento de conocimientos para configurar un servidor (Linux, Apache, MySQL and PHP). Las posibilidades de que consigas ese trabajo son mayores si conoces sobre servidores.
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balasPablo Godel
Las aplicaciones web se están complicando cada vez más, por lo que el deployment ya no es cuestión de transferir archivos a través de FTP. En esta charla analizaremos los diferentes desafíos a la hora de hacer deploy de nuestras aplicaciones PHP de forma efectiva, segura y consistente con las últimas herramientas y técnicas.
Lone Star PHP 2013 - Sysadmin Skills for PHP DevelopersPablo Godel
A PHP/web developer is not complete without knowing server administration. When looking for a job, it is quite likely that you will be required to know about installing and configuring a LAMP (Linux, Apache, MySQL and PHP). Your prospects of getting that job are much higher when you know these. In this session we will cover: - Introduction to LAMP servers - Frequently used Unix commands - Linux distro Differences - Prepare your LAMP server before going live - Overall LAMP Security - Performance tips to improve your website speed - Compiling PHP from source. Adding PHP extensions. - Basic description of web hosting options for PHP.
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...Pablo Godel
AngularJS es un framework Javascript relativamente nuevo, patrocinado por Google, que está ganando mucha popularidad gracias a su potencia, flexibilidad y simplicidad.
En esta charla haremos una introducción de sus caulidades más importantes, veremos como se acopla con Symfony para la creación de aplicaciones web con interfaz ricas y complejas, incluyendo consejos prácticos de como diseñar nuestra aplicación establecer su estructura.
Por último, mostraremos una aplicación escrita en AngularJS que se conecta a servidores REST y WebSockets creados con Symfony.
Tek13 - Creating Mobile Apps with PHP and SymfonyPablo Godel
In this talk we will look at some of the reasons on why mobile applications are important, including some history on the mobile market. Then we will look at some frameworks that help develop high-quality mobile apps and we will showcase a mobile app developed with PHP and Symfony2, including the source code which will be available on Github.
Soflophp 2013 - SysAdmin skills for PHP developersPablo Godel
A developer is not a complete one without basic server/system administration skills. We will go over linux and network administration tips, Apache and MySQL configuration, basic security and other related topics.
Symfony2 and MongoDB - MidwestPHP 2013 Pablo Godel
In this talk we will see how to use MongoDB in Symfony2 projects to speed up the development of web applications. We will give an introduction of MongoDB as a NoSQL database server and look at the options on how to work with it from Symfony2 and PHP applications.
Codeworks'12 Rock Solid Deployment of PHP AppsPablo Godel
Web applications are becoming increasingly more complex, so deployment is not just transferring files with FTP anymore. We will go over the different challenges and how to deploy our PHP applications effectively, safely and consistently with the latest tools and techniques.
MongoDB es un motor de base de datos NoSQL que ha ganado mucha popularidad en los últimos tiempos, ya que ofrece muchos beneficios a la hora de desarrollar aplicaciones web.
En esta charla daremos una breve introducción a su instalación, configuración y funcionamiento. Luego repasaremos las distintas alternativas a la hora de usarlo en nuestras aplicaciones desarrolladas con PHP y Symfony2, y explicaremos cómo puede incrementar la velocidad de desarrollo y ayudar con aplicaciones web de alto rendimiento.
Declare independence from your it department sysadmin skills for symfony dev...Pablo Godel
A Symfony/web developer is not complete without knowing server administration. When looking for a job, it is quite likely that you will be required to know about systtem administration.
See how to use MongoDB in Symfony2 projects to speed up the development of web applications. We will give an introduction of MongoDB as a NoSQL database server and look at the options on how to work with it from Symfony2 and PHP applications.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
2. 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
4. 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
26. 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
27. 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
28. 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
32. 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
33. • 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
35. 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
36. 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
37. Deployment: Challenges
• test!
• tag releases
• dedicated branches (master for production)
• deploy each release in its own directory
Challenge:
Rollbacks
Solutions:
Tuesday, July 16, 13
38. 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
40. 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
42. 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
47. Web Apps Deployment:
Examples
Capistrano
• Ruby based
• Very extensible
• Large number of extensions
• Simple client side installation
$ gem install capistrano
Tuesday, July 16, 13
48. 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
56. 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
60. 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