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.
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.
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.
@kannonboy's JavaOne 2016 presentation "Code reviews vs Pull requests"
Many styles and processes are available for code review. Which one is suitable for your team? Do you use Git, Subversion, or something more exotic? Do you prefer to review code precommit or via a pull request? Do you favor a feature branching, forking, or Gerrit-style workflow? This session breaks down the various popular options adopted by professional teams. It investigates pull requests (popularized by Bitbucket and GitHub), Gerrit’s specialized workflow, and other postcommit and precommit review systems, discussing the pros and cons of each. Finally, it shows the battle-hardened review processes used by Atlassian’s development teams, refined over tens of thousands of code reviews and pull requests and across countless retrospectives.
Testing for Ops: Going Beyond the Manifest - PuppetConf 2013Puppet
"Testing for Ops: Going Beyond the Manifest" by Christopher Webber, Infrastructure Engineer, Demand Media.
Presentation Overview: This talk aims to show the value of rspec-puppet for those who come from a more Ops-centric background. The focus will be on using tests to go beyond just rewriting manifests in rspec. Instead the focus will be on scenarios like: - Are the baseline security measures in place? - Do the differences between dev and prod get reflected? - Are the config elements that are core to the application present? In addition, tests will help to be a place to help document the oddities of our configurations and ensuring that minor changes don't result in catastrophe.
Speaker Bio: After beginning his career at UC Riverside supporting enterprise operations and bioinformatics research, Chris is now rocking being an infrastructure engineer at Demand Media in Santa Monica. He currently supports large high-traffic sites like eHow.com, LiveSTRONG.com, and Cracked.com. Chris enjoys attending local meetups, writing new Puppet modules, and creating small tools to make his team's lives a little easier. Find him on Twitter as @cwebber.
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.
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.
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.
@kannonboy's JavaOne 2016 presentation "Code reviews vs Pull requests"
Many styles and processes are available for code review. Which one is suitable for your team? Do you use Git, Subversion, or something more exotic? Do you prefer to review code precommit or via a pull request? Do you favor a feature branching, forking, or Gerrit-style workflow? This session breaks down the various popular options adopted by professional teams. It investigates pull requests (popularized by Bitbucket and GitHub), Gerrit’s specialized workflow, and other postcommit and precommit review systems, discussing the pros and cons of each. Finally, it shows the battle-hardened review processes used by Atlassian’s development teams, refined over tens of thousands of code reviews and pull requests and across countless retrospectives.
Testing for Ops: Going Beyond the Manifest - PuppetConf 2013Puppet
"Testing for Ops: Going Beyond the Manifest" by Christopher Webber, Infrastructure Engineer, Demand Media.
Presentation Overview: This talk aims to show the value of rspec-puppet for those who come from a more Ops-centric background. The focus will be on using tests to go beyond just rewriting manifests in rspec. Instead the focus will be on scenarios like: - Are the baseline security measures in place? - Do the differences between dev and prod get reflected? - Are the config elements that are core to the application present? In addition, tests will help to be a place to help document the oddities of our configurations and ensuring that minor changes don't result in catastrophe.
Speaker Bio: After beginning his career at UC Riverside supporting enterprise operations and bioinformatics research, Chris is now rocking being an infrastructure engineer at Demand Media in Santa Monica. He currently supports large high-traffic sites like eHow.com, LiveSTRONG.com, and Cracked.com. Chris enjoys attending local meetups, writing new Puppet modules, and creating small tools to make his team's lives a little easier. Find him on Twitter as @cwebber.
Bootstrapping Puppet and Application Deployment - PuppetConf 2013Puppet
"Bootstrapping Puppet and Application Deployment" by Robert de Macedo Soares, Application Security Engineer, BusinessWire.
Presentation Overview: A dive into the problems faced when first launching Puppet across existing, heterogeneous servers, outlining possible solutions using our experience as an example. In addition, this session will touch on application management and deployment using subversion and rake tasks, what works and what is a little rough around the edges.
Speaker Bio: Robert is an engineer who has spent the past several years attempting to automate away the need for the work that he does. Focusing on server automation and security work for BusinessWire, Robert also develops web services such as tee.ms, a chat service, and designs and develops games. Trism, which he co-designed, was nominated for Cellular Game of the Year by the Academy of Interactive Arts & Sciences in the 2009 Interactive Achievement Awards.
These are the slides of the talk given at London Selenium Meetup on 29 may 2012. This talk was on Behat, MinkExtension and Selenium. http://www.meetup.com/seleniumlondon/events/61732192/
Pic : http://www.meetup.com/seleniumlondon/photos/8638912/#124419342
This talk will try to cover the most important techniques and best practices used when creating Django web application.
Overview of the topics covered:
- development general principles and goals
- python/django project initial setup - project layout, git&venv&pip&shell, settings
- central project shell command - contains all commands to manage project
- "IDE" - editor & shell
- edit/run/test cycle
- deploy/test-remotely cycle
Disclaimer: techniques and practices presented are current AUTHOR'S optimal choice used for usual django project.
Deploying 3 times a day without a downtime @ Rocket Tech Summit in BerlinAlessandro Nadalin
A look at how we try to make our architecture robust, resilient and fun to work with: Namshi is not github or spotify but... ...imitation is the sincerest form of flattery!
This presentation was held at the DevOps Meetup Frankfurt on 2014/12/08. It describes some tools and practices for testing your infrastructure provisioned with Chef.
Short presentation about Docker and some usage scenarios for Web Developement, Operations and Continuous Delivery. This talk was held at the TYPO3 Camp Stuttgart in 2015.
My talk from DevOpsCon Berlin 2016.
Ansible is a radically simple and lightweight provisioning framework which makes your servers and applications easier to provision and deploy. By orchestrating your application deployments you gain benefits such as documentation as code, testability, continuous integration, version control, refactoring, automation and autonomy of your deployment routines, server and application configuration. Ansible uses a language that approaches plain English, uses SSH and has no agents to install on remote systems. It is the simplest way to automate and orchestrate application deployment, configuration management and continuous delivery.
In this tutorial you will be given an introduction to Ansible and learn how to provision Linux servers with a web-proxy, a database and some other packages. Furthermore we will automate zero downtime deployment of a Java application to a load balanced environment.
This presentation gives a short introduction to Vagrant and Chef for automation of configuration management. You will get a first overview of the stack of technology used to set up your own Vagrant Boxes and how they help the to build reliable development environments right on your own local laptop. We will scratch topics like DevOps and Continuous Integration and how they link to Configuration Management and Chef and Vagrant.
If you like these slides, make sure to check out http://de.slideshare.net/Sebobo/continuous-delivery-with-open-source-tools as well!
Towards Continuous Deployment with DjangoRoger Barnes
It's no secret that python is fantastic when it comes to rapid prototyping and development. When it comes to deploying a web application, the road to glory isn't as well paved and navigating the array of techniques and tools can be daunting.
This talk will address the advantages of continuous deployment, the success factors involved and the tools available, mainly focusing on experiences with Django web development.
Vagrant, Chef and TYPO3 - A Love AffairMichael Lihs
This talk is a re-touch of the talk "Reproducible and Portable Work Environments with Vagrant and Chef" held at the TYPO3 Camp Stuttgart in 2015. It describes how to set up work environments for TYPO3 projects with Vagrant and Chef.
Building a private CI/CD pipeline with Java and Docker in the Cloud as presen...Baruch Sadogursky
A private Java (Maven or Gradle) repository as a service can be setup in the cloud. A private Docker registry as a service can be easily setup in the cloud. But what if you want to build a holistic CI/CD pipeline, and on the cloud of YOUR choice?
In this talk Baruch will take you through steps of setting up a universal artifact repository, which can serve for both Java and Docker. You’ll learn how to build a CI/CD pipeline with traceable metadata from the Java source files all the way to Docker images. Amazon, Azure, and Google Cloud (do you have setup that works on these?) will be used as an example although the recipes shown would be applicable to other cloud as well.
Building a private CI/CD pipeline with Java and Docker in the cloud as presen...Baruch Sadogursky
A private Java (Maven or Gradle) repository as a service can be set up in the cloud. A private Docker registry as a service can be easily set up in the cloud. But what if you want to build a holistic CI/CD pipeline on the cloud of your choice?
Baruch Sadogursky walks you through setting up a universal artifact repository, which can serve for both Java and Docker. You’ll learn how to build a CI/CD pipeline with traceable metadata from the Java source files all the way to Docker images. Baruch uses Amazon, Azure, and Google Cloud as examples, although the recipes shown are applicable to other clouds as well.
Presentation by Jeremy Lind at the event "The Political Economy of Agricultural Policy Processes in Africa", September 2014.
http://www.future-agricultures.org/events/the-political-economy-of-agricultural-policy-processes-in-africa
MailScan MX is a cloud-based email protection solution that can be installed with no impact to your existing mail system. The service provides high filtering accuracy, with false positive (legitimate email misclassified as spam) e-mails at less than 4/1,000,000, and KVH backs this accuracy with SLAs covering the filtering of 99.9% of SPAM.
For more details, visit www.kvh.co.jp
Bootstrapping Puppet and Application Deployment - PuppetConf 2013Puppet
"Bootstrapping Puppet and Application Deployment" by Robert de Macedo Soares, Application Security Engineer, BusinessWire.
Presentation Overview: A dive into the problems faced when first launching Puppet across existing, heterogeneous servers, outlining possible solutions using our experience as an example. In addition, this session will touch on application management and deployment using subversion and rake tasks, what works and what is a little rough around the edges.
Speaker Bio: Robert is an engineer who has spent the past several years attempting to automate away the need for the work that he does. Focusing on server automation and security work for BusinessWire, Robert also develops web services such as tee.ms, a chat service, and designs and develops games. Trism, which he co-designed, was nominated for Cellular Game of the Year by the Academy of Interactive Arts & Sciences in the 2009 Interactive Achievement Awards.
These are the slides of the talk given at London Selenium Meetup on 29 may 2012. This talk was on Behat, MinkExtension and Selenium. http://www.meetup.com/seleniumlondon/events/61732192/
Pic : http://www.meetup.com/seleniumlondon/photos/8638912/#124419342
This talk will try to cover the most important techniques and best practices used when creating Django web application.
Overview of the topics covered:
- development general principles and goals
- python/django project initial setup - project layout, git&venv&pip&shell, settings
- central project shell command - contains all commands to manage project
- "IDE" - editor & shell
- edit/run/test cycle
- deploy/test-remotely cycle
Disclaimer: techniques and practices presented are current AUTHOR'S optimal choice used for usual django project.
Deploying 3 times a day without a downtime @ Rocket Tech Summit in BerlinAlessandro Nadalin
A look at how we try to make our architecture robust, resilient and fun to work with: Namshi is not github or spotify but... ...imitation is the sincerest form of flattery!
This presentation was held at the DevOps Meetup Frankfurt on 2014/12/08. It describes some tools and practices for testing your infrastructure provisioned with Chef.
Short presentation about Docker and some usage scenarios for Web Developement, Operations and Continuous Delivery. This talk was held at the TYPO3 Camp Stuttgart in 2015.
My talk from DevOpsCon Berlin 2016.
Ansible is a radically simple and lightweight provisioning framework which makes your servers and applications easier to provision and deploy. By orchestrating your application deployments you gain benefits such as documentation as code, testability, continuous integration, version control, refactoring, automation and autonomy of your deployment routines, server and application configuration. Ansible uses a language that approaches plain English, uses SSH and has no agents to install on remote systems. It is the simplest way to automate and orchestrate application deployment, configuration management and continuous delivery.
In this tutorial you will be given an introduction to Ansible and learn how to provision Linux servers with a web-proxy, a database and some other packages. Furthermore we will automate zero downtime deployment of a Java application to a load balanced environment.
This presentation gives a short introduction to Vagrant and Chef for automation of configuration management. You will get a first overview of the stack of technology used to set up your own Vagrant Boxes and how they help the to build reliable development environments right on your own local laptop. We will scratch topics like DevOps and Continuous Integration and how they link to Configuration Management and Chef and Vagrant.
If you like these slides, make sure to check out http://de.slideshare.net/Sebobo/continuous-delivery-with-open-source-tools as well!
Towards Continuous Deployment with DjangoRoger Barnes
It's no secret that python is fantastic when it comes to rapid prototyping and development. When it comes to deploying a web application, the road to glory isn't as well paved and navigating the array of techniques and tools can be daunting.
This talk will address the advantages of continuous deployment, the success factors involved and the tools available, mainly focusing on experiences with Django web development.
Vagrant, Chef and TYPO3 - A Love AffairMichael Lihs
This talk is a re-touch of the talk "Reproducible and Portable Work Environments with Vagrant and Chef" held at the TYPO3 Camp Stuttgart in 2015. It describes how to set up work environments for TYPO3 projects with Vagrant and Chef.
Building a private CI/CD pipeline with Java and Docker in the Cloud as presen...Baruch Sadogursky
A private Java (Maven or Gradle) repository as a service can be setup in the cloud. A private Docker registry as a service can be easily setup in the cloud. But what if you want to build a holistic CI/CD pipeline, and on the cloud of YOUR choice?
In this talk Baruch will take you through steps of setting up a universal artifact repository, which can serve for both Java and Docker. You’ll learn how to build a CI/CD pipeline with traceable metadata from the Java source files all the way to Docker images. Amazon, Azure, and Google Cloud (do you have setup that works on these?) will be used as an example although the recipes shown would be applicable to other cloud as well.
Building a private CI/CD pipeline with Java and Docker in the cloud as presen...Baruch Sadogursky
A private Java (Maven or Gradle) repository as a service can be set up in the cloud. A private Docker registry as a service can be easily set up in the cloud. But what if you want to build a holistic CI/CD pipeline on the cloud of your choice?
Baruch Sadogursky walks you through setting up a universal artifact repository, which can serve for both Java and Docker. You’ll learn how to build a CI/CD pipeline with traceable metadata from the Java source files all the way to Docker images. Baruch uses Amazon, Azure, and Google Cloud as examples, although the recipes shown are applicable to other clouds as well.
Presentation by Jeremy Lind at the event "The Political Economy of Agricultural Policy Processes in Africa", September 2014.
http://www.future-agricultures.org/events/the-political-economy-of-agricultural-policy-processes-in-africa
MailScan MX is a cloud-based email protection solution that can be installed with no impact to your existing mail system. The service provides high filtering accuracy, with false positive (legitimate email misclassified as spam) e-mails at less than 4/1,000,000, and KVH backs this accuracy with SLAs covering the filtering of 99.9% of SPAM.
For more details, visit www.kvh.co.jp
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Michael Lihs
Presentation about open source tools to set up continuous integration and continuous deployment. Covers Git, Gitlab, Chef, Vagrant, Jenkins, Gatling, Dashing, TYPO3 Surf and some other tools. Shows some best practices for testing with Behat and Functional Testing.
Thursday, June 12th 2014
Discussing strategies in Rails development for keeping multiple application environments as consistent as possible for the best development, testing, and deployment experience.
php[world] 2015 Laravel 5.1: From Homestead to the CloudJoe Ferguson
With the recent release of Laravel Forge, Envoyer, and Homestead, it has never been easier to go from nothing to something with an easy-to-use PHP framework. This talk will cover creating a basic Laravel application using the Laravel-specific Vagrant box Homestead, connecting to a server (Linode, Rackspace, Digital Ocean), and deploying the application via Forge. The talk will also cover tips and tricks on customizing Homestead to fit your custom needs, as well as how to use Forge & Envoyer to deploy new versions of our application.
Laravel Forge: Hello World to Hello ProductionJoe Ferguson
With the recent release of Laravel Forge, Envoyer and Homestead, it has never been easier to go from nothing to something with an easy to use PHP Framework. This talk will cover creating a basic Laravel application using the Laravel specific Vagrant box "Homestead", connecting to a server (Linode, Rackspace, Digital Ocean), and deploying the application via Forge. The talk will also cover tips and tricks on customizing Homestead to fit custom needs as well as how to use Forge & Envoyer to deploy new versions of our application.
ZendCon 2015 - Laravel Forge: Hello World to Hello ProductionJoe Ferguson
With the recent release of Laravel Forge, Envoyer and Homestead, it has never been easier to go from nothing to something with an easy to use PHP Framework. This talk will cover creating a basic Laravel application using the Laravel specific Vagrant box "Homestead", connecting to a server (Linode, Rackspace, Digital Ocean), and deploying the application via Forge. The talk will also cover tips and tricks on customizing Homestead to fit custom needs as well as how to use Forge & Envoyer to deploy new versions of our application.
Join us for this interactive event and get your hands dirty with some WildFly 9 hacking!
Our host Kabir Khan will explain how you can contribute to the WildFly project at many different levels, from properly reporting bugs in the forums and issue tracker, to actually being able to submit a pull request.
During this interactive event you will have a chance to play with WildFly 9 and try some of the following:
• Find a JIRA you want to work on.
• See how to check-out the code and setup your IDE.
• Build WildFly
• Code walkthrough - code organisation, jboss-modules etc.
• Debug something from a stack trace in a JIRA issue to nail down the problem.
• Try the testsuite
• And more!
Immutable Infrastructure: Rise of the Machine ImagesC4Media
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1WlpXHF.
Axel Fontaine looks at what Immutable Infrastructure is and how it affects scaling, logging, sessions, configuration, service discovery and more. He also looks at how containers and machine images compare and why some things people took for granted may not be necessary anymore. Filmed at qconlondon.com.
Axel Fontaine is the founder and CEO of Boxfuse. Axel is also the creator and project lead of Flyway, the open source tool that makes database migration easy. He is a Continuous Delivery and Immutable Infrastructure expert, a Java Champion, a JavaOne Rockstar and a regular speaker at various large international conferences.
Dockerize your Symfony application - Symfony Live NYC 2014André Rømcke
With the advent of docker it is now easier then ever to make sure you develop, test and deploy using the same environment, resulting in no more issues caused by differences or missing libraries. Talk will go into the basics of containers, docker, and showcase how you might setup a basic php + mysql environment for your symfony app.
https://joind.in/12188
Today’s cutting edge companies have software release cycles measured in days instead of months. This agility is enabled by the DevOps practice of continuous delivery, which automates building, testing, and deploying all code changes. This automation helps you catch bugs sooner and accelerates developer productivity. In this session, we’ll share best practices (including ones followed internally at Amazon) and how you can bring them to your company by using open source and AWS services.
Speaker: Raghuraman Balachandran, Solutions Architect, Amazon India
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.
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.
php[architect] Summit Series DevOps 2013 - 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. We will also look at tools that complement deployment with management, configuration and monitoring.
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.
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.
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.
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.
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.
This 7-second Brain Wave Ritual Attracts Money To You.!nirahealhty
Discover the power of a simple 7-second brain wave ritual that can attract wealth and abundance into your life. By tapping into specific brain frequencies, this technique helps you manifest financial success effortlessly. Ready to transform your financial future? Try this powerful ritual and start attracting money today!
ER(Entity Relationship) Diagram for online shopping - TAEHimani415946
https://bit.ly/3KACoyV
The ER diagram for the project is the foundation for the building of the database of the project. The properties, datatypes, and attributes are defined by the ER diagram.
1.Wireless Communication System_Wireless communication is a broad term that i...JeyaPerumal1
Wireless communication involves the transmission of information over a distance without the help of wires, cables or any other forms of electrical conductors.
Wireless communication is a broad term that incorporates all procedures and forms of connecting and communicating between two or more devices using a wireless signal through wireless communication technologies and devices.
Features of Wireless Communication
The evolution of wireless technology has brought many advancements with its effective features.
The transmitted distance can be anywhere between a few meters (for example, a television's remote control) and thousands of kilometers (for example, radio communication).
Wireless communication can be used for cellular telephony, wireless access to the internet, wireless home networking, and so on.
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesSanjeev Rampal
Talk presented at Kubernetes Community Day, New York, May 2024.
Technical summary of Multi-Cluster Kubernetes Networking architectures with focus on 4 key topics.
1) Key patterns for Multi-cluster architectures
2) Architectural comparison of several OSS/ CNCF projects to address these patterns
3) Evolution trends for the APIs of these projects
4) Some design recommendations & guidelines for adopting/ deploying these solutions.
6. Deployment
Software deployment is all of the activities that !
make a software system available for use.
http://en.wikipedia.org/wiki/Software_deployment
53. Deployment starts with the developer
• Development environment must be as close as
possible to productions servers!
Deployment Fact #1
54. Deployment starts with the developer
• Development environment must be as close as
possible to productions servers!
• Setup test/qa/staging servers!
Deployment Fact #1
55. Deployment starts with the developer
• Development environment must be as close as
possible to productions servers!
• Setup test/qa/staging servers!
• Use Vagrant to manage VMs!
Deployment Fact #1
56. Deployment starts with the developer
• Development environment must be as close as
possible to productions servers!
• Setup test/qa/staging servers!
• Use Vagrant to manage VMs!
• Use Containers with Docker!
Deployment Fact #1
57. Deployment starts with the developer
• Development environment must be as close as
possible to productions servers!
• Setup test/qa/staging servers!
• Use Vagrant to manage VMs!
• Use Containers with Docker!
• Automate your development environment setup
(Ansible, Homebrew Cask)
Deployment Fact #1
59. Success depends on server OS setup
• Automate installation/configuration with Ansible/
Puppet/Chef !
Deployment Fact #2
60. • Automate installation/configuration with Ansible/
Puppet/Chef !
• Create OS packages for 3rd party software
Deployment Fact #2
Success depends on server OS setup
61. • Automate installation/configuration with Ansible/
Puppet/Chef !
• Create OS packages for 3rd party software!
• Setup your own package (rpm/deb) repositories
Deployment Fact #2
Success depends on server OS setup
63. Monitoring is uptime
• Use tools to know what is going on with your
servers (Ganglia, Cacti, Zabbix, etc.)!
Deployment Fact #3
64. Monitoring is uptime
• Use tools to know what is going on with your
servers (Ganglia, Cacti, Zabbix, etc.)!
Deployment Fact #3
65. Monitoring is uptime
• Use tools to know what is going on with your
servers (Ganglia, Cacti, Zabbix, etc.)!
• Add metrics to your app (Graphite, StatsD, New
Relic)!
Deployment Fact #3
66. Monitoring is uptime
• Use tools to know what is going on with your
servers (Ganglia, Cacti, Zabbix, etc.)!
• Add metrics to your app (Graphite, StatsD, New
Relic)!
• Use your logs wisely (Logstash, Hecka, Kibana)
Deployment Fact #3
78. Deployment: First time
• Copy files to server(s)!
• Set server-side configurations!
• Load DB fixtures!
• Process and install assets!
• Warm up cache!
• Enable site
79. Deployment: Subsequent times
• Copy files to server(s)!
• Update server-side configurations!
• Update DB (migrations)!
• Process and install assets!
• Warm up cache!
• Enable new version
83. • use ssh based connections!
Challenge: Secure
Deployment Challenges
84. • use ssh based connections!
• don’t store passwords on source control
Challenge: Secure
Deployment Challenges
85. • use ssh based connections!
• don’t store passwords on source control!
• use environment variables for sensitive data
Challenge: Secure
Deployment Challenges
88. Challenge: Static assets
• Minimize/combine JS and CSS files!
• Enable web server compression!
Deployment Challenges
89. Challenge: Static assets
• Minimize/combine JS and CSS files!
• Enable web server compression!
• Add versioning to static assets links (code.js?v=1)!
Deployment Challenges
90. Challenge: Static assets
• Minimize/combine JS and CSS files!
• Enable web server compression!
• Add versioning to static assets links (code.js?v=1)!
• Run utilities locally or in a staging server, create
artifact, deploy result!
Deployment Challenges
91. Challenge: Static assets
• Minimize/combine JS and CSS files!
• Enable web server compression!
• Add versioning to static assets links (code.js?v=1)!
• Run utilities locally or in a staging server, create
artifact, deploy result!
• Serve static files from subdomain / CDN
Deployment Challenges
94. Challenge: File permission conflicts
• Run Apache/PHP with same user!
• Use php-fpm instead of mod_php!
Deployment Challenges
95. Challenge: File permission conflicts
• Run Apache/PHP with same user!
• Use php-fpm instead of mod_php!
• Create “deploy” user and add web server to the
group
Deployment Challenges
96. Challenge: File permission conflicts
• 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!
Deployment Challenges
97. Challenge: File permission conflicts
• 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!
• Use external services for writing files and create
readonly installations
Deployment Challenges
111. Capistrano / Capifony
• Ruby based!
• Very extensible!
• Large number of extensions!
• Simple client side installation
Deployment Examples
112. • Ruby based!
• Very extensible!
• Large number of extensions!
• Simple client side installation
$ gem install capistrano!
Deployment Examples
Capistrano / Capifony
113. 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”
Deployment Examples
Capistrano / Capifony
129. App Metrics: liuggio/statsd-php-client
Deployment Complement Tools
$sender = new SocketSender(/*'localhost', 8126, 'udp'*/);
!
$client = new StatsdClient($sender);
$factory = new StatsdDataFactory('LiuggioStatsdClientEntityStatsdData');
!
// create the data with the factory
$data[] = $factory->timing('usageTime', 100);
$data[] = $factory->increment('visitor');
$data[] = $factory->decrement('click');
$data[] = $factory->gauge('gaugor', 333);
$data[] = $factory->set('uniques', 765);
!
// send the data as array or directly as object
$client->send($data);
136. Logging: Logstash
Ship logs from any source, parse them, get the right
timestamp, index them, and search them
Deployment Complement Tools
input {
file {
path => “/var/log/apache2/access_log”
}
}
output {
elasticsearch {
host => localhost
}
}