rapid dev env devops warsaw july 2014

39
RAPID DEV ENVIRONMENTS Przemek Hejman - Marcin Brański

Upload: blndrt

Post on 12-Jan-2015

124 views

Category:

Documents


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Rapid dev env DevOps Warsaw July 2014

RAPID DEV ENVIRONMENTS

Przemek Hejman - Marcin Brański

Page 2: Rapid dev env DevOps Warsaw July 2014
Page 3: Rapid dev env DevOps Warsaw July 2014
Page 4: Rapid dev env DevOps Warsaw July 2014
Page 5: Rapid dev env DevOps Warsaw July 2014
Page 6: Rapid dev env DevOps Warsaw July 2014

MACHINE IMAGE

Page 7: Rapid dev env DevOps Warsaw July 2014

PACKER.IO

Page 8: Rapid dev env DevOps Warsaw July 2014

{ "builders": [ { "type": "amazon-ebs", "access_key": " "secret_key": " "region": "ap-northeast-1",

"source_ami": "ami-bfdaa2be", "instance_type": "t1.micro", "ssh_username": "ubuntu",

"ami_name": "packer-quick-start {{timestamp}}" } ],

"provisioners": [ { "type": "puppet-masterless", "manifest_file": "site.pp", "module_paths": [ "./modules" ] } ]}

Page 9: Rapid dev env DevOps Warsaw July 2014

node default {

class { '::ntp': servers => [ 'ntp1.corp.com', 'ntp2.corp.com' ], }

cron { 'taki_sobie_maintenance': command => "/usr/bin/skrypt_robiacy_porzadek.sh", user => root, hour => 5, minute => 0, }

$str = "Jestem DNSem google"

if $::ipaddress_eth0 == "8.8.8.8" { file { '/root/pliczQ': ensure => present, content => "$str", owner => root, group => root, mode => '644', } }

}

Page 10: Rapid dev env DevOps Warsaw July 2014

packer build

Page 11: Rapid dev env DevOps Warsaw July 2014
Page 12: Rapid dev env DevOps Warsaw July 2014
Page 13: Rapid dev env DevOps Warsaw July 2014

Vagrant

Page 14: Rapid dev env DevOps Warsaw July 2014

Vagrantfile

Page 15: Rapid dev env DevOps Warsaw July 2014

vagrant up

Page 16: Rapid dev env DevOps Warsaw July 2014

vagrant-awsvagrant-azurevagrant-brightboxvagrant-cloudstackvagrant-digitaloceanvagrant-ganetivagrant-hpvagrant-joyentvagrant-kvmvagrant-libvirtvagrant-lxc

vagrant-managed-serversvagrant-openstackvagrant-openvzvagrant-parallelsvagrant-proxmoxvagrant-rackspacevagrant-softlayervagrant-vcloudvagrant-vspherevagrant-windows-hyperv

Page 17: Rapid dev env DevOps Warsaw July 2014

● Infrastructure as Code;● Deklaratywny język, czytelna

konfiguracja;● Proste zarządzanie,

wprowadzanie zmian;● Dokumentacja infrastruktury;

Provisioning

Page 18: Rapid dev env DevOps Warsaw July 2014

# yum install nrpe

# aptitude install nagios-nrpe-server

Page 19: Rapid dev env DevOps Warsaw July 2014

Ze względu na koszty i bycie trendy, przenosimy

wszystko w chmurę!!!

Page 20: Rapid dev env DevOps Warsaw July 2014

Zmienimy serwery HTTP na NGINX, dodajcie klucz ssh użytkownika janusz, zróbmy upgrade tomcata, niech logowanie będzie po certyfikacie, olejmy rsysloga,może podepniemy też nagiosa…

Page 21: Rapid dev env DevOps Warsaw July 2014

PUPPET VS. CHEF VS. ANSIBLE VS. SALT VS. FABRIC ??

Page 22: Rapid dev env DevOps Warsaw July 2014

PUPPET

Page 23: Rapid dev env DevOps Warsaw July 2014

CHEF

Page 24: Rapid dev env DevOps Warsaw July 2014

ANSIBLE

Page 25: Rapid dev env DevOps Warsaw July 2014

SALTnginx: pkg: - installed service: - running - require: - pkg: nginx

/var/www/index.html:

file: - managed - source: salt://webserver/index.html - require: - pkg: nginx

Page 26: Rapid dev env DevOps Warsaw July 2014

PUPPET VS. CHEF VS. ANSIBLE VS. SALT VS. FABRIC ??

YES.

Page 27: Rapid dev env DevOps Warsaw July 2014

READY-TO-GO

Page 28: Rapid dev env DevOps Warsaw July 2014
Page 29: Rapid dev env DevOps Warsaw July 2014

Bare Metal

Page 30: Rapid dev env DevOps Warsaw July 2014

Hardware Assisted

Page 31: Rapid dev env DevOps Warsaw July 2014
Page 32: Rapid dev env DevOps Warsaw July 2014

DockerfileFROM e1337h4xx/saltwheezyMAINTAINER 3h4xRUN apt-get -qq updateRUN apt-get install -y wgetRUN echo "deb http://pkg.jenkins-ci.org/debian binary/" >> /etc/apt/sources.listRUN wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | apt-key add -RUN apt-get -qq updateRUN apt-get upgrade -yRUN apt-get install -y jenkinsEXPOSE 8080CMD (/etc/init.d/jenkins start && sleep 5 && tailf /var/log/jenkins/jenkins.log)VOLUME ["/var/lib/jenkins", "/var/log/jenkins"]

Page 33: Rapid dev env DevOps Warsaw July 2014

docker run

Page 34: Rapid dev env DevOps Warsaw July 2014

What docker can do for you

Page 35: Rapid dev env DevOps Warsaw July 2014

fig up

Page 36: Rapid dev env DevOps Warsaw July 2014

Time comparison

docker <1s vagrant up > 30s

Page 37: Rapid dev env DevOps Warsaw July 2014

Vagrant and Docker

Page 38: Rapid dev env DevOps Warsaw July 2014

NEXT? ● Jenkins CI● Continuous Deployment● Automated Testing● Demo● Microservices

Page 39: Rapid dev env DevOps Warsaw July 2014

Thanks!