IT WORKS 
on my machine
? HARUN YARDIMCI 
Software Architect 
@ GittiGidiyor.com / eBay Turkey 
linkedin.com/in/harunyardimci 
@h_yardimci 
harun.yardimci@gmail.com 
hyardimci@ebay.com
in ~20 mins. 
vagrant 
docker 
puppet 
chef 
ansible 
salt 
fabric 
foreman 
bash 
python 
django 
jenkins 
nexus 
sonar 
git 
service discovery
Test & Development
First Day in the Office 
Survival Guide 
LAPTOP WITH INTERNET ACCESS 
FACEBOOK STATUS UPDATE IF IT IS NOT BLOCKED 
OLD COMPANIES CODE BASE ON USB DISK 
SMILING FACE 
ANYTHING ELSE ?
[ INSERT CODE HERE ]
[ INSERT CODE HERE ] 
HOW? 
Find Company Playbook/Documentation 
Install Programming Language 
Install Database 
Install Other Dependent Applications 
Checkout Repositories 
Setup Environments 
Configure Them to Work Together 
Fail and Try Couple of Times 
Ask for Help
THERE IS NO PLACE 
LIKE 127.0.0.1 
var connection = mysql.createConnection({ 
host: “127.0.0.1”, 
user: “dev-user”, 
password: “your-password” 
});
lightweight 
reproducible 
portable 
development environments 
Predefined boxes 
Setup once 
Provisioning 
Puppet / Chef
open platform for 
developers and sysadmins to 
build, ship, and run 
distributed applications 
VIRTUAL MACHINE DOCKER
IT Automation 
&
LOTS OF OTHER PROCESSES 
Hooks 
Jira Workflows 
Fisheye/Crucible 
UnitTests 
SonarCube 
CodeReview 
Security Checks 
etc..
So it is all about 
standardisation 
and 
Integration
QUESTIONS?

"It Works On My Machine" Problem

  • 2.
    IT WORKS onmy machine
  • 3.
    ? HARUN YARDIMCI Software Architect @ GittiGidiyor.com / eBay Turkey linkedin.com/in/harunyardimci @h_yardimci harun.yardimci@gmail.com hyardimci@ebay.com
  • 4.
    in ~20 mins. vagrant docker puppet chef ansible salt fabric foreman bash python django jenkins nexus sonar git service discovery
  • 5.
  • 6.
    First Day inthe Office Survival Guide LAPTOP WITH INTERNET ACCESS FACEBOOK STATUS UPDATE IF IT IS NOT BLOCKED OLD COMPANIES CODE BASE ON USB DISK SMILING FACE ANYTHING ELSE ?
  • 7.
  • 8.
    [ INSERT CODEHERE ] HOW? Find Company Playbook/Documentation Install Programming Language Install Database Install Other Dependent Applications Checkout Repositories Setup Environments Configure Them to Work Together Fail and Try Couple of Times Ask for Help
  • 9.
    THERE IS NOPLACE LIKE 127.0.0.1 var connection = mysql.createConnection({ host: “127.0.0.1”, user: “dev-user”, password: “your-password” });
  • 10.
    lightweight reproducible portable development environments Predefined boxes Setup once Provisioning Puppet / Chef
  • 11.
    open platform for developers and sysadmins to build, ship, and run distributed applications VIRTUAL MACHINE DOCKER
  • 12.
  • 14.
    LOTS OF OTHERPROCESSES Hooks Jira Workflows Fisheye/Crucible UnitTests SonarCube CodeReview Security Checks etc..
  • 15.
    So it isall about standardisation and Integration
  • 16.