Vagrant for real codemotion (moar tips! ;-))

Michele Orselli
Michele OrselliSoftware Developer at spreaker.com
Vagrant
for
Real
Michele Orselli
CTO@Ideato
_orso_
micheleorselli / ideatosrl
mo@ideato.it
Vagrant for real codemotion (moar tips! ;-))
Vagrant for real codemotion (moar tips! ;-))
Vagrant for real codemotion (moar tips! ;-))
Vagrant for real codemotion (moar tips! ;-))
http://mitchellh.com/the-tao-of-vagrant
1) clone repo
2) vagrant up
3) there’s no #3
Vagrant for real codemotion (moar tips! ;-))
1) clone repo
2) vagrant up
Vagrant for real codemotion (moar tips! ;-))
#tips
vagrantfile configs vm performance
app config tips provision/packaging
Portable configuration
tips
Don’t use local names
for your boxes
c.vm.box = "hashicorp/precise64"
c.vm.box_url = "http://your_box"
Avoid absolute paths
c.vm.synced_folder “/myProj","/var/www/myProj"
config.vm.synced_folder "./", "/var/www/myProj"
Move host specific
configuration outside
Vagrantfile
ram: 2048
cpus: 2
ipaddress: 10.10.10.10
vagrantfile-local-config.yml
require ‘yaml'
_config =
YAML.load(File.open(File.join(File.dirname(__FILE__),
“vagrantfile-local-config.yml”), File::RDONLY).read)
CONF = _config
config.vm.provider "virtualbox" do |vb|
vb.customize["modifyvm",:id,“--memory", CONF["ram"]]
vb.customize ["modifyvm",:id,"--cpus", CONF[“cpus"]]
…
end
As rule of thumb you could assign the half cpus and
a quarter of the memory based on your host machine
https://stefanwrobel.com/how-to-make-vagrant-performance-not-suck
Force a specific
provider
ENV['VAGRANT_DEFAULT_PROVIDER'] = 'virtualbox'
Support multiple
providers
config.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm",:id, "--memory", CONF["ram"]]
vb.customize ["modifyvm",:id, "--cpus", CONF["cpus"]]
end
config.vm.provider "vmware_fusion" do |v|
v.vmx["memsize"] = CONF["ram"]
v.vmx["numvcpus"] = CONF["cpus"]
end
Project’s directories
organization
myproject
-- …
-- vagrant
-- Vagrantfile
single git repository
c.vm.synced_folder “.”,”/var/www/myproject"
myproject
-- project
--…
-- vagrant
-- Vagrantfile
single git repository
c.vm.synced_folder “./project”,”/var/www/
project”
myproject
-- vagrant
-- www
-- project1
-- project2
-- Vagrantfile
single/multiple git repositories
c.vm.synced_folder “./www”,”/var/www”
vagrant plugin install
HostsUpdater
(or HostManager)
# /etc/hosts
10.10.10.40 host1.lo #VAGRANT: e2bca7c8bf6d76cbcf6ee48998c16f
if Vagrant.has_plugin?("HostsUpdater")
config.hostsupdater.aliases = ["host1.lo"]
else
puts "--- WARNING ---"

puts “You should install HostsUpdater”
end
Multi-VM
Configuration
config.vm.define "web" do |web|
web.vm.network :private_network, ip: "10.0.0.2"
web.vm.provider :virtualbox do |v|
v.customize ["modifyvm", :id, "--memory", 2048]
end
web.vm.synced_folder "../", “/var/www"
end
config.vm.define "db" do |db|
db.vm.network :private_network, ip: "10.0.0.3"
db.vm.provision :shell, :path => 'vagrant/db.sh'
end
Dealing with shared
folders
Vagrant for real codemotion (moar tips! ;-))
no share
native share
- slow
- os indipendent-ish
nfs
- fast
- win support :-(
rsync
- no real share
- update
VM Performance
run tests…
still running…
mitchellh.com/comparing-filesystem-performance-in-virtual-
machines
Virtualbox vs VmWare
Virtualbox 22 min
VmWare 15 min
Virtualbox 22 mi
VmWare 15 min
+30%
use VmWare if you can
(it will cost you a few $)
use nfs if you can*
vagrant plugin install
vbguest
keeps guest addition updated
unless Vagrant.has_plugin?(“vagrant-vbguest")
raise ”please install vagrant-vbguest”
end
On VM I/O is the
bottleneck
loading webpages
running testsuites
are READ heavy
move I/O outside
shared folders
Default provider: virtualbox
3 PHP test suites with unit, functional, integration mix
small (sf1): build runs in ~25 sec
medium (zf2): build runs in ~2 mins
large (sf2): build runs ~ 20 mins
I/O: logs, cache
class AppKernel extends Kernel
{
public function getCacheDir()
{
if (in_array($this->environment, array('dev', 'test')))
{
return '/dev/shm/appname/cache/' . $this->environment;
}
return parent::getCacheDir();
}
public function getLogDir()
{
if (in_array($this->environment, array('dev', ‘test')))
{
return '/dev/shm/appname/logs';
}
return parent::getLogDir();
}
}
class AppKernel extends Kernel
{
public function getCacheDir()
{
if (in_array($this->environment, array('dev', 'test')))
{
return '/dev/shm/appname/cache/' . $this->environment;
}
return parent::getCacheDir();
}
public function getLogDir()
{
if (in_array($this->environment, array('dev', ‘test')))
{
return '/dev/shm/appname/logs';
}
return parent::getLogDir();
}
}
class
{
public function
{
{
}
public function
{
{
}
}
+13-16%
I/O: increase realpath
cache
realpath_cache_size = 4096k
realpath_cache_ttl = 7200
php.ini
realpath_cache_size
realpath_cache_ttl
php.ini
+7%
I/O: move DB on RAM
if you use sqlite move it on /dev/shm
vagrant plugin install
vagrantcachier
if Vagrant.has_plugin?("vagrant-cachier")
config.cache.scope = :box
config.cache.synced_folder_opts = {
type: :nfs,
mount_options: ['rw','vers=3','tcp','nolock']
}
end
Vagrantfile
if
config.cache.synced_folder_opts
type:
mount_options: [
end
Vagrantfile
+30%for reprovisioning a box with git, php apache, mysql
use cachefilesd for nfs
- name: Install cachefilesd
apt: pkg=cachefilesd state=present
- name: Enable cachefilesd
lineinfile: dest=/etc/default/cachefilesd
line=“RUN=yes”
- name: Start cachefilesd service
service: name=cachefilesd state=restarted
config.vm.synced_folder "../", "/var/www",
id: “vagrant-root”,
type: “nfs”,
mount_options: ['rw','vers=3','tcp','fsc']
Vagrantfile
config.vm.synced_folder
mount_options: [
Vagrantfile
-15%
+10%
should you trust these
numbers?
Vagrant for real codemotion (moar tips! ;-))
Application
Management
How to access mysql
- name: add mysql user
mysql_user: name=ideato
host='%'
password=ideato
priv=*.*:ALL,GRANT
login_user=root
login_password=
- name: config bind address to allow remote remote
connections
lineinfile: dest=/etc/mysql/my.cnf
state=present
regexp='bind-address = 127.0.0.1'
line='bind-address = 0.0.0.0'
backup=yes
- name: restart mysql
service: name=mysql state=restarted
- name: Install phpmyadmin
apt: pkg=phpmyadmin state=present
- name: Include phpmyadmin in Apache config
lineinfile: dest=/etc/apache2/apache2.conf
line="Include /etc/phpmyadmin apache.conf"
notify: restart apache
- name: adminer clone
git: repo=https://github.com/vrana/adminer.git
dest=/var/www/adminer
version=v4.2.1
accept_hostkey=true
- name: adminer compile
command: php compile.php
chdir=/var/www/adminer
creates=/var/www/adminer/adminer-4.2.1.php
Permissions management
in shared folders
config.vm.synced_folder "../", "/var/www", id:
"vagrant-root", owner: "vagrant", group: "vagrant",
mount_options: ["dmode=777,fmode=777"]
Use host ssh keys
config.ssh.forward_agent = true
ForwardAgent yes
check ssh config file in your host machine
grunt/gulp watch
http://www.sebastien-han.fr/blog/2012/12/18/noac-performance-impact-on-web-
applications/
config.vm.synced_folder "../", "/var/www",
id: “vagrant-root”,
type: “nfs”,
mount_options: [‘rw’,'vers=3','tcp','fsc',
'actimeo=1']
Provisioning
to phansible or not to
phansible?
quick and easy way to start
they’re general
old platforms are not supported
a lot of a good ideas you can steal from
if which('ansible-playbook')
config.vm.provision "ansible" do |ansible|
ansible.playbook = "ansible/playbook.yml"
ansible.inventory_path = "ansible/inventories/dev"
ansible.limit = 'all'
ansible.extra_vars = {
private_interface: "192.168.33.99",
hostname: "default"
}
end
else
config.vm.provision :shell,
path: "ansible/windows.sh", args: ["default"]
end
can you assume everyone in your team
have the same version?
if which('ansible-playbook')
config.vm.provision "ansible" do |ansible|
ansible.playbook = "ansible/playbook.yml"
ansible.inventory_path = "ansible/inventories/dev"
ansible.limit = 'all'
ansible.extra_vars = {
private_interface: "192.168.33.99",
hostname: "default"
}
end
else
config.vm.provision :shell,
path: "ansible/windows.sh", args: ["default"]
end
the provisioning tool is a moving part:
wanna update? be careful
create Vagrant
indipendent provision
scripts
config.vm.provision :shell,
:path => "scripts/bootstrap.sh",
:args => "/var/www"
config.vm.provision :shell,
:path => “scripts/provision.sh",
:args => "/var/www"
create your own template
https://github.com/ideatosrl/vagrant-php-template
you’re in control of provisioning command
you can perform additional checks on
host machine
Distributing VMs
provisioning does not create immutable
vm by default
eg: package update on LTS
live on the edge and fix provision script
use stable package repositories
https://speakerdeck.com/mitchellh/vagrant-usage-patterns
Create and distribute your own VM
Golden image
vagrant package - -name mybox.box
publish it somewhere (http, atlas)
c.vm.box_url = “http://../mybox.box”
Vagrant for real codemotion (moar tips! ;-))
Keep it simple
Thank you!
https://joind.in/16312
_orso_
micheleorselli / ideatosrl
mo@ideato.it
1 of 105

Recommended

Vagrant by
VagrantVagrant
VagrantMichael Peacock
2K views114 slides
Vagrant crash course by
Vagrant crash courseVagrant crash course
Vagrant crash courseMarcus Deglos
6.2K views94 slides
Multi-provider Vagrant and Chef: AWS, VMware, and more by
Multi-provider Vagrant and Chef: AWS, VMware, and moreMulti-provider Vagrant and Chef: AWS, VMware, and more
Multi-provider Vagrant and Chef: AWS, VMware, and moreChef Software, Inc.
16.5K views70 slides
Preparation study of_docker - (MOSG) by
Preparation study of_docker  - (MOSG)Preparation study of_docker  - (MOSG)
Preparation study of_docker - (MOSG)Soshi Nemoto
597 views31 slides
How To Set a Vagrant Development System by
How To Set a Vagrant Development SystemHow To Set a Vagrant Development System
How To Set a Vagrant Development SystemPaul Bearne
17.8K views27 slides
DevOps(2) : Vagrant - (MOSG) by
DevOps(2) : Vagrant  -  (MOSG)DevOps(2) : Vagrant  -  (MOSG)
DevOps(2) : Vagrant - (MOSG)Soshi Nemoto
793 views14 slides

More Related Content

What's hot

Vagrant for Virtualized Development by
Vagrant for Virtualized DevelopmentVagrant for Virtualized Development
Vagrant for Virtualized DevelopmentAdam Culp
6.7K views30 slides
Making environment for_infrastructure_as_code by
Making environment for_infrastructure_as_codeMaking environment for_infrastructure_as_code
Making environment for_infrastructure_as_codeSoshi Nemoto
436 views21 slides
Learn basic ansible using docker by
Learn basic ansible using dockerLearn basic ansible using docker
Learn basic ansible using dockerLarry Cai
6.9K views19 slides
Create your very own Development Environment with Vagrant and Packer by
Create your very own Development Environment with Vagrant and PackerCreate your very own Development Environment with Vagrant and Packer
Create your very own Development Environment with Vagrant and Packerfrastel
3.6K views67 slides
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf... by
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...Puppet
6.3K views50 slides
Fabric workshop(1) - (MOSG) by
Fabric workshop(1) - (MOSG)Fabric workshop(1) - (MOSG)
Fabric workshop(1) - (MOSG)Soshi Nemoto
533 views29 slides

What's hot(20)

Vagrant for Virtualized Development by Adam Culp
Vagrant for Virtualized DevelopmentVagrant for Virtualized Development
Vagrant for Virtualized Development
Adam Culp6.7K views
Making environment for_infrastructure_as_code by Soshi Nemoto
Making environment for_infrastructure_as_codeMaking environment for_infrastructure_as_code
Making environment for_infrastructure_as_code
Soshi Nemoto436 views
Learn basic ansible using docker by Larry Cai
Learn basic ansible using dockerLearn basic ansible using docker
Learn basic ansible using docker
Larry Cai6.9K views
Create your very own Development Environment with Vagrant and Packer by frastel
Create your very own Development Environment with Vagrant and PackerCreate your very own Development Environment with Vagrant and Packer
Create your very own Development Environment with Vagrant and Packer
frastel3.6K views
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf... by Puppet
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
Puppet6.3K views
Fabric workshop(1) - (MOSG) by Soshi Nemoto
Fabric workshop(1) - (MOSG)Fabric workshop(1) - (MOSG)
Fabric workshop(1) - (MOSG)
Soshi Nemoto533 views
Vagrant + Docker provider [+Puppet] by Nicolas Poggi
Vagrant + Docker provider [+Puppet]Vagrant + Docker provider [+Puppet]
Vagrant + Docker provider [+Puppet]
Nicolas Poggi17.1K views
Docker puppetcamp london 2013 by Tomas Doran
Docker puppetcamp london 2013Docker puppetcamp london 2013
Docker puppetcamp london 2013
Tomas Doran2.9K views
EC2 AMI Factory with Chef, Berkshelf, and Packer by George Miranda
EC2 AMI Factory with Chef, Berkshelf, and PackerEC2 AMI Factory with Chef, Berkshelf, and Packer
EC2 AMI Factory with Chef, Berkshelf, and Packer
George Miranda12.8K views
IaC and Immutable Infrastructure with Terraform, Сергей Марченко by Sigma Software
IaC and Immutable Infrastructure with Terraform, Сергей МарченкоIaC and Immutable Infrastructure with Terraform, Сергей Марченко
IaC and Immutable Infrastructure with Terraform, Сергей Марченко
Sigma Software223 views
Vagrant for real (codemotion rome 2016) by Michele Orselli
Vagrant for real (codemotion rome 2016)Vagrant for real (codemotion rome 2016)
Vagrant for real (codemotion rome 2016)
Michele Orselli43.9K views
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo... by Puppet
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Puppet9.7K views
Installaling Puppet Master and Agent by Ranjit Avasarala
Installaling Puppet Master and AgentInstallaling Puppet Master and Agent
Installaling Puppet Master and Agent
Ranjit Avasarala1.2K views
Using Docker with Puppet - PuppetConf 2014 by Puppet
Using Docker with Puppet - PuppetConf 2014Using Docker with Puppet - PuppetConf 2014
Using Docker with Puppet - PuppetConf 2014
Puppet45.3K views
Ansible: How to Get More Sleep and Require Less Coffee by Sarah Z
Ansible: How to Get More Sleep and Require Less CoffeeAnsible: How to Get More Sleep and Require Less Coffee
Ansible: How to Get More Sleep and Require Less Coffee
Sarah Z25.5K views
DevOps(4) : Ansible(2) - (MOSG) by Soshi Nemoto
DevOps(4) : Ansible(2) - (MOSG)DevOps(4) : Ansible(2) - (MOSG)
DevOps(4) : Ansible(2) - (MOSG)
Soshi Nemoto851 views
Scaling Next-Generation Internet TV on AWS With Docker, Packer, and Chef by bridgetkromhout
Scaling Next-Generation Internet TV on AWS With Docker, Packer, and ChefScaling Next-Generation Internet TV on AWS With Docker, Packer, and Chef
Scaling Next-Generation Internet TV on AWS With Docker, Packer, and Chef
bridgetkromhout8.4K views

Similar to Vagrant for real codemotion (moar tips! ;-))

Vagrant for real by
Vagrant for realVagrant for real
Vagrant for realCodemotion
344 views99 slides
Vagrant for real by
Vagrant for realVagrant for real
Vagrant for realMichele Orselli
1.6K views81 slides
Continuous Delivery: The Next Frontier by
Continuous Delivery: The Next FrontierContinuous Delivery: The Next Frontier
Continuous Delivery: The Next FrontierCarlos Sanchez
1.6K views57 slides
Intro to vagrant by
Intro to vagrantIntro to vagrant
Intro to vagrantMantas Klasavicius
1.2K views45 slides
Harmonious Development: Via Vagrant and Puppet by
Harmonious Development: Via Vagrant and PuppetHarmonious Development: Via Vagrant and Puppet
Harmonious Development: Via Vagrant and PuppetAchieve Internet
4.7K views54 slides
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013 by
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013Carlos Sanchez
16.9K views63 slides

Similar to Vagrant for real codemotion (moar tips! ;-))(20)

Vagrant for real by Codemotion
Vagrant for realVagrant for real
Vagrant for real
Codemotion344 views
Continuous Delivery: The Next Frontier by Carlos Sanchez
Continuous Delivery: The Next FrontierContinuous Delivery: The Next Frontier
Continuous Delivery: The Next Frontier
Carlos Sanchez1.6K views
Harmonious Development: Via Vagrant and Puppet by Achieve Internet
Harmonious Development: Via Vagrant and PuppetHarmonious Development: Via Vagrant and Puppet
Harmonious Development: Via Vagrant and Puppet
Achieve Internet4.7K views
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013 by Carlos Sanchez
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
Carlos Sanchez16.9K views
Vagrant introduction for Developers by Antons Kranga
Vagrant introduction for DevelopersVagrant introduction for Developers
Vagrant introduction for Developers
Antons Kranga2.1K views
DevOps Hackathon - Session 1: Vagrant by Antons Kranga
DevOps Hackathon - Session 1: VagrantDevOps Hackathon - Session 1: Vagrant
DevOps Hackathon - Session 1: Vagrant
Antons Kranga3.2K views
Environments line-up! Vagrant & Puppet 101 by jelrikvh
Environments line-up! Vagrant & Puppet 101Environments line-up! Vagrant & Puppet 101
Environments line-up! Vagrant & Puppet 101
jelrikvh1K views
Chef Workshop: Setup Environment with Chef,Vagrant, and Berkshelf by Jun Sakata
Chef Workshop: Setup Environment with Chef,Vagrant, and BerkshelfChef Workshop: Setup Environment with Chef,Vagrant, and Berkshelf
Chef Workshop: Setup Environment with Chef,Vagrant, and Berkshelf
Jun Sakata2.6K views
Python Deployment with Fabric by andymccurdy
Python Deployment with FabricPython Deployment with Fabric
Python Deployment with Fabric
andymccurdy34K views
Pursue container architecture with mincs by Yuki Nishiwaki
Pursue container architecture with mincsPursue container architecture with mincs
Pursue container architecture with mincs
Yuki Nishiwaki288 views
X64服务器 lnmp服务器部署标准 new by Yiwei Ma
X64服务器 lnmp服务器部署标准 newX64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 new
Yiwei Ma1.5K views
Grâce aux tags Varnish, j'ai switché ma prod sur Raspberry Pi by Jérémy Derussé
Grâce aux tags Varnish, j'ai switché ma prod sur Raspberry PiGrâce aux tags Varnish, j'ai switché ma prod sur Raspberry Pi
Grâce aux tags Varnish, j'ai switché ma prod sur Raspberry Pi
Jérémy Derussé2.6K views
Vagrant-Overview by Crifkin
Vagrant-OverviewVagrant-Overview
Vagrant-Overview
Crifkin3.3K views
Vagrant WordCamp Hamilton by Paul Bearne
Vagrant  WordCamp HamiltonVagrant  WordCamp Hamilton
Vagrant WordCamp Hamilton
Paul Bearne739 views

More from Michele Orselli

Tackling Tech Debt with Rector by
Tackling Tech Debt with RectorTackling Tech Debt with Rector
Tackling Tech Debt with RectorMichele Orselli
24 views54 slides
Comunicare, condividere e mantenere decisioni architetturali nei team di svil... by
Comunicare, condividere e mantenere decisioni architetturali nei team di svil...Comunicare, condividere e mantenere decisioni architetturali nei team di svil...
Comunicare, condividere e mantenere decisioni architetturali nei team di svil...Michele Orselli
164 views60 slides
A dive into Symfony 4 by
A dive into Symfony 4A dive into Symfony 4
A dive into Symfony 4Michele Orselli
749 views59 slides
A recommendation engine for your applications codemotion ams by
A recommendation engine for your applications codemotion amsA recommendation engine for your applications codemotion ams
A recommendation engine for your applications codemotion amsMichele Orselli
444 views84 slides
A recommendation engine for your applications phpday by
A recommendation engine for your applications phpdayA recommendation engine for your applications phpday
A recommendation engine for your applications phpdayMichele Orselli
483 views62 slides
Hopping in clouds - phpuk 17 by
Hopping in clouds - phpuk 17Hopping in clouds - phpuk 17
Hopping in clouds - phpuk 17Michele Orselli
805 views136 slides

More from Michele Orselli(20)

Comunicare, condividere e mantenere decisioni architetturali nei team di svil... by Michele Orselli
Comunicare, condividere e mantenere decisioni architetturali nei team di svil...Comunicare, condividere e mantenere decisioni architetturali nei team di svil...
Comunicare, condividere e mantenere decisioni architetturali nei team di svil...
Michele Orselli164 views
A recommendation engine for your applications codemotion ams by Michele Orselli
A recommendation engine for your applications codemotion amsA recommendation engine for your applications codemotion ams
A recommendation engine for your applications codemotion ams
Michele Orselli444 views
A recommendation engine for your applications phpday by Michele Orselli
A recommendation engine for your applications phpdayA recommendation engine for your applications phpday
A recommendation engine for your applications phpday
Michele Orselli483 views
A recommendation engine for your php application by Michele Orselli
A recommendation engine for your php applicationA recommendation engine for your php application
A recommendation engine for your php application
Michele Orselli9.6K views
Symfony e micro (non così tanto) services by Michele Orselli
Symfony e micro (non così tanto) servicesSymfony e micro (non così tanto) services
Symfony e micro (non così tanto) services
Michele Orselli721 views
Hopping in clouds: a tale of migration from one cloud provider to another by Michele Orselli
Hopping in clouds: a tale of migration from one cloud provider to anotherHopping in clouds: a tale of migration from one cloud provider to another
Hopping in clouds: a tale of migration from one cloud provider to another
Michele Orselli596 views
Implementing data sync apis for mibile apps @cloudconf by Michele Orselli
Implementing data sync apis for mibile apps @cloudconfImplementing data sync apis for mibile apps @cloudconf
Implementing data sync apis for mibile apps @cloudconf
Michele Orselli935 views
Server side data sync for mobile apps with silex by Michele Orselli
Server side data sync for mobile apps with silexServer side data sync for mobile apps with silex
Server side data sync for mobile apps with silex
Michele Orselli3.3K views
Continuous, continuous, continuous by Michele Orselli
Continuous, continuous, continuousContinuous, continuous, continuous
Continuous, continuous, continuous
Michele Orselli688 views
Deploy a PHP App on Google App Engine by Michele Orselli
Deploy a PHP App on Google App EngineDeploy a PHP App on Google App Engine
Deploy a PHP App on Google App Engine
Michele Orselli3.5K views
Implementing Server Side Data Synchronization for Mobile Apps by Michele Orselli
Implementing Server Side Data Synchronization for Mobile AppsImplementing Server Side Data Synchronization for Mobile Apps
Implementing Server Side Data Synchronization for Mobile Apps
Michele Orselli7.3K views
Deploy a php app on Google App Engine by Michele Orselli
Deploy a php app on Google App EngineDeploy a php app on Google App Engine
Deploy a php app on Google App Engine
Michele Orselli2.3K views
Developing sustainable php projects by Michele Orselli
Developing sustainable php projectsDeveloping sustainable php projects
Developing sustainable php projects
Michele Orselli1.2K views
Zend Framework 2 per chi viene da Symfony2 by Michele Orselli
Zend Framework 2 per chi viene da Symfony2Zend Framework 2 per chi viene da Symfony2
Zend Framework 2 per chi viene da Symfony2
Michele Orselli1.2K views

Recently uploaded

Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI... by
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Marc Müller
37 views83 slides
ict act 1.pptx by
ict act 1.pptxict act 1.pptx
ict act 1.pptxsanjaniarun08
13 views17 slides
Navigating container technology for enhanced security by Niklas Saari by
Navigating container technology for enhanced security by Niklas SaariNavigating container technology for enhanced security by Niklas Saari
Navigating container technology for enhanced security by Niklas SaariMetosin Oy
12 views34 slides
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut... by
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...HCLSoftware
6 views2 slides
Fleet Management Software in India by
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India Fleetable
11 views1 slide
SUGCON ANZ Presentation V2.1 Final.pptx by
SUGCON ANZ Presentation V2.1 Final.pptxSUGCON ANZ Presentation V2.1 Final.pptx
SUGCON ANZ Presentation V2.1 Final.pptxJack Spektor
22 views34 slides

Recently uploaded(20)

Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI... by Marc Müller
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Marc Müller37 views
Navigating container technology for enhanced security by Niklas Saari by Metosin Oy
Navigating container technology for enhanced security by Niklas SaariNavigating container technology for enhanced security by Niklas Saari
Navigating container technology for enhanced security by Niklas Saari
Metosin Oy12 views
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut... by HCLSoftware
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...
HCLSoftware6 views
Fleet Management Software in India by Fleetable
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India
Fleetable11 views
SUGCON ANZ Presentation V2.1 Final.pptx by Jack Spektor
SUGCON ANZ Presentation V2.1 Final.pptxSUGCON ANZ Presentation V2.1 Final.pptx
SUGCON ANZ Presentation V2.1 Final.pptx
Jack Spektor22 views
Neo4j y GenAI by Neo4j
Neo4j y GenAI Neo4j y GenAI
Neo4j y GenAI
Neo4j45 views
A first look at MariaDB 11.x features and ideas on how to use them by Federico Razzoli
A first look at MariaDB 11.x features and ideas on how to use themA first look at MariaDB 11.x features and ideas on how to use them
A first look at MariaDB 11.x features and ideas on how to use them
Federico Razzoli45 views
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)... by Deltares
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...
Deltares9 views
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ... by Deltares
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...
Deltares10 views
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t... by Deltares
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
Deltares9 views
Software evolution understanding: Automatic extraction of software identifier... by Ra'Fat Al-Msie'deen
Software evolution understanding: Automatic extraction of software identifier...Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...
What Can Employee Monitoring Software Do?​ by wAnywhere
What Can Employee Monitoring Software Do?​What Can Employee Monitoring Software Do?​
What Can Employee Monitoring Software Do?​
wAnywhere21 views
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon by Deltares
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - AfternoonDSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon
Deltares15 views
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut... by Deltares
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
Deltares6 views
Consulting for Data Monetization Maximizing the Profit Potential of Your Data... by Flexsin
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...Consulting for Data Monetization Maximizing the Profit Potential of Your Data...
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...
Flexsin 15 views
DSD-INT 2023 FloodAdapt - A decision-support tool for compound flood risk mit... by Deltares
DSD-INT 2023 FloodAdapt - A decision-support tool for compound flood risk mit...DSD-INT 2023 FloodAdapt - A decision-support tool for compound flood risk mit...
DSD-INT 2023 FloodAdapt - A decision-support tool for compound flood risk mit...
Deltares13 views
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs by Deltares
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
Deltares8 views

Vagrant for real codemotion (moar tips! ;-))