SlideShare a Scribd company logo
Python & DevOps
@pyfest 2015
Python & DevOps
@pyfest 2015
Python & DevOps
@pyfest 2015
Ahmed Bessifi @github/abessifi
DevOps Engineer @IMDEV
- Python, Flask, Puppet, Docker, Jenkins
Open source
- Author : Pyatta, repmgr-puppet
- Contributor : LWP, RQ, PoWA
- Member : Debian, openVswitch, metaflask
And you ?
DevOps !
Mixed Martial DevOps
Pyfest Tunisia 2015 - Python & DevOps
Pyfest Tunisia 2015 - Python & DevOps
DevOps, what is it for ?
- Ensure better development of the application.
- Continuous integration and deployment.
- Ensure that the application is working as expected
(monitoring, high availability, etc).
DevOps, what is it ?
DevOps, how to do it ?
What's all the fuss about ?
Docker :
“... an open platform for developers and
sysadmins to build, ship and run distributed
applications.”
https://www.docker.com/whatisdocker
Docker : Concepts
Images
A read only collection of “layers” joined together
via a union File System.
Containers
An instance of an image on which one or more
processes are running or have exited.
Docker : Use cases
- Development environments
- Application deployment
- Continuous integration
- Continuous delivery
- Platform-as-a-Service (PaaS)
+
Development
Environments
Dev Env : Components
- OS
- System libraries
- Python dependencies
- Database, cache, etc
Dev Env : Problems
- Constantly change
- Never truly consistent
- Miscommunication (Ops vs Devs)
Dev Env : Docker !
- Just write a Dockerfile !
- Easy to change and share
- 100 % isolated
- Always consistent
- Production ready
Continuous Integration
Why we write tests ?!
Python testing libs/frameworks :
●
- Pytest, Nose : Unittesting library (less boilerplate).
- Mock : easily create fakes for testing.
- WebTest : req/resp testing for WSGI web apps.
- Selenium : browser automation (web).
Why using CI ?
“A CI system improves the productivity of a
development team by automating various
things.”
Jenkins for Python :
- Run builds (pytest, tox, etc).
- Perform pep8 and Pyflakes checks.
- Display xUnit, coverage reports.
- Generate and publish docs.
- Build python/deb package(s).
DevOps in action
“workflow”
Pyfest Tunisia 2015 - Python & DevOps
Thank you !
'' We build software for people
who build software ''
<Codiak>
about.me/abessifi
github.com/abessifi
Ad

More Related Content

What's hot (20)

Continuous Integration With Jenkins Docker SQL Server
Continuous Integration With Jenkins Docker SQL ServerContinuous Integration With Jenkins Docker SQL Server
Continuous Integration With Jenkins Docker SQL Server
Chris Adkin
 
OPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
OPENSHIFT CONTAINER PLATFORM CI/CD Build & DeployOPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
OPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
Natale Vinto
 
Docker Best Practices Workshop
Docker Best Practices WorkshopDocker Best Practices Workshop
Docker Best Practices Workshop
Ahmed AbouZaid
 
Let’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkinsLet’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkins
Tomohide Kakeya
 
Flash Camp Chennai - Build automation of Flex and AIR applications
Flash Camp Chennai - Build automation of Flex and AIR applicationsFlash Camp Chennai - Build automation of Flex and AIR applications
Flash Camp Chennai - Build automation of Flex and AIR applications
RIA RUI Society
 
Docker and DevOps - Why it matters
Docker and DevOps - Why it mattersDocker and DevOps - Why it matters
Docker and DevOps - Why it matters
Jeremy Brown
 
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and ComposeDockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
Docker, Inc.
 
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandCI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
Troublemaker Khunpech
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
haochenglee
 
Testing as a container
Testing as a containerTesting as a container
Testing as a container
Irfan Ahmad
 
calmio-cicd-containers
calmio-cicd-containerscalmio-cicd-containers
calmio-cicd-containers
Balaji Janakiram
 
Continuous Integration and PHP
Continuous Integration and PHPContinuous Integration and PHP
Continuous Integration and PHP
Arno Schneider
 
CI is dead, long live CI
CI is dead, long live CICI is dead, long live CI
CI is dead, long live CI
Frédéric Lepied
 
Provisioning environments. A simplistic approach
Provisioning  environments. A simplistic approachProvisioning  environments. A simplistic approach
Provisioning environments. A simplistic approach
Eder Roger Souza
 
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-CodeSD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
Brian Dawson
 
Introduction to jenkins
Introduction to jenkinsIntroduction to jenkins
Introduction to jenkins
Abe Diaz
 
Fits docker into devops
Fits docker into devopsFits docker into devops
Fits docker into devops
Evans Ye
 
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013 .Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
Tikal Knowledge
 
CICD by Teerapat
CICD by TeerapatCICD by Teerapat
CICD by Teerapat
Troublemaker Khunpech
 
Fluo CICD OpenStack Summit
Fluo CICD OpenStack SummitFluo CICD OpenStack Summit
Fluo CICD OpenStack Summit
Miguel Zuniga
 
Continuous Integration With Jenkins Docker SQL Server
Continuous Integration With Jenkins Docker SQL ServerContinuous Integration With Jenkins Docker SQL Server
Continuous Integration With Jenkins Docker SQL Server
Chris Adkin
 
OPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
OPENSHIFT CONTAINER PLATFORM CI/CD Build & DeployOPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
OPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
Natale Vinto
 
Docker Best Practices Workshop
Docker Best Practices WorkshopDocker Best Practices Workshop
Docker Best Practices Workshop
Ahmed AbouZaid
 
Let’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkinsLet’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkins
Tomohide Kakeya
 
Flash Camp Chennai - Build automation of Flex and AIR applications
Flash Camp Chennai - Build automation of Flex and AIR applicationsFlash Camp Chennai - Build automation of Flex and AIR applications
Flash Camp Chennai - Build automation of Flex and AIR applications
RIA RUI Society
 
Docker and DevOps - Why it matters
Docker and DevOps - Why it mattersDocker and DevOps - Why it matters
Docker and DevOps - Why it matters
Jeremy Brown
 
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and ComposeDockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
Docker, Inc.
 
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandCI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
Troublemaker Khunpech
 
Testing as a container
Testing as a containerTesting as a container
Testing as a container
Irfan Ahmad
 
Continuous Integration and PHP
Continuous Integration and PHPContinuous Integration and PHP
Continuous Integration and PHP
Arno Schneider
 
Provisioning environments. A simplistic approach
Provisioning  environments. A simplistic approachProvisioning  environments. A simplistic approach
Provisioning environments. A simplistic approach
Eder Roger Souza
 
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-CodeSD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
Brian Dawson
 
Introduction to jenkins
Introduction to jenkinsIntroduction to jenkins
Introduction to jenkins
Abe Diaz
 
Fits docker into devops
Fits docker into devopsFits docker into devops
Fits docker into devops
Evans Ye
 
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013 .Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
Tikal Knowledge
 
Fluo CICD OpenStack Summit
Fluo CICD OpenStack SummitFluo CICD OpenStack Summit
Fluo CICD OpenStack Summit
Miguel Zuniga
 

Similar to Pyfest Tunisia 2015 - Python & DevOps (20)

Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDev
Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDevTriple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDev
Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDev
Werner Keil
 
Beyond static configuration
Beyond static configurationBeyond static configuration
Beyond static configuration
Stefan Schimanski
 
Integração contínua com Jenkins
Integração contínua com JenkinsIntegração contínua com Jenkins
Integração contínua com Jenkins
Aécio Pires
 
Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017
Patrick Chanezon
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
Patrick Chanezon
 
Practical DevSecOps Online Training Course Content - InfosecTrain.pdf
Practical DevSecOps Online Training Course Content - InfosecTrain.pdfPractical DevSecOps Online Training Course Content - InfosecTrain.pdf
Practical DevSecOps Online Training Course Content - InfosecTrain.pdf
infosecTrain
 
Practical DevSecOps Online Training.pdf
Practical DevSecOps  Online Training.pdfPractical DevSecOps  Online Training.pdf
Practical DevSecOps Online Training.pdf
infosec train
 
Join our Advance Practical DevSecOps Training
Join our Advance Practical DevSecOps TrainingJoin our Advance Practical DevSecOps Training
Join our Advance Practical DevSecOps Training
Mansi Kandari
 
Practical DevsecOps Training Course Content
Practical DevsecOps Training Course ContentPractical DevsecOps Training Course Content
Practical DevsecOps Training Course Content
priyanshamadhwal2
 
Master DevSecOps: Join InfosecTrain’s Practical Online Training!
Master DevSecOps: Join InfosecTrain’s Practical Online Training!Master DevSecOps: Join InfosecTrain’s Practical Online Training!
Master DevSecOps: Join InfosecTrain’s Practical Online Training!
InfosecTrain Education
 
Docker and OpenStack Boston Meetup
Docker and OpenStack Boston MeetupDocker and OpenStack Boston Meetup
Docker and OpenStack Boston Meetup
Kamesh Pemmaraju
 
A Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerA Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using Docker
Ajeet Singh Raina
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the Containers
Ryan Hodgin
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
Marco Ferrigno
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps Paradigm
NaLUG
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015
Microsoft
 
Docker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopDocker and Containers overview - Docker Workshop
Docker and Containers overview - Docker Workshop
Jonas Rosland
 
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDevTriple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
Werner Keil
 
Getting started with docker
Getting started with dockerGetting started with docker
Getting started with docker
Saim Safder
 
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Jonas Rosland
 
Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDev
Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDevTriple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDev
Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDev
Werner Keil
 
Integração contínua com Jenkins
Integração contínua com JenkinsIntegração contínua com Jenkins
Integração contínua com Jenkins
Aécio Pires
 
Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017
Patrick Chanezon
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
Patrick Chanezon
 
Practical DevSecOps Online Training Course Content - InfosecTrain.pdf
Practical DevSecOps Online Training Course Content - InfosecTrain.pdfPractical DevSecOps Online Training Course Content - InfosecTrain.pdf
Practical DevSecOps Online Training Course Content - InfosecTrain.pdf
infosecTrain
 
Practical DevSecOps Online Training.pdf
Practical DevSecOps  Online Training.pdfPractical DevSecOps  Online Training.pdf
Practical DevSecOps Online Training.pdf
infosec train
 
Join our Advance Practical DevSecOps Training
Join our Advance Practical DevSecOps TrainingJoin our Advance Practical DevSecOps Training
Join our Advance Practical DevSecOps Training
Mansi Kandari
 
Practical DevsecOps Training Course Content
Practical DevsecOps Training Course ContentPractical DevsecOps Training Course Content
Practical DevsecOps Training Course Content
priyanshamadhwal2
 
Master DevSecOps: Join InfosecTrain’s Practical Online Training!
Master DevSecOps: Join InfosecTrain’s Practical Online Training!Master DevSecOps: Join InfosecTrain’s Practical Online Training!
Master DevSecOps: Join InfosecTrain’s Practical Online Training!
InfosecTrain Education
 
Docker and OpenStack Boston Meetup
Docker and OpenStack Boston MeetupDocker and OpenStack Boston Meetup
Docker and OpenStack Boston Meetup
Kamesh Pemmaraju
 
A Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerA Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using Docker
Ajeet Singh Raina
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the Containers
Ryan Hodgin
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
Marco Ferrigno
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps Paradigm
NaLUG
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015
Microsoft
 
Docker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopDocker and Containers overview - Docker Workshop
Docker and Containers overview - Docker Workshop
Jonas Rosland
 
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDevTriple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
Werner Keil
 
Getting started with docker
Getting started with dockerGetting started with docker
Getting started with docker
Saim Safder
 
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Jonas Rosland
 
Ad

Recently uploaded (20)

JULIETTE ALBAN-METCALFE, HUMAN BEINGS NOT HUMAN DOINGS
JULIETTE ALBAN-METCALFE, HUMAN BEINGS NOT HUMAN DOINGSJULIETTE ALBAN-METCALFE, HUMAN BEINGS NOT HUMAN DOINGS
JULIETTE ALBAN-METCALFE, HUMAN BEINGS NOT HUMAN DOINGS
PPMA - Public Sector People Managers' Association
 
Table-of-Quantitative-Organizational-Capacity-Assessment-Methods-1.pptx
Table-of-Quantitative-Organizational-Capacity-Assessment-Methods-1.pptxTable-of-Quantitative-Organizational-Capacity-Assessment-Methods-1.pptx
Table-of-Quantitative-Organizational-Capacity-Assessment-Methods-1.pptx
alexander735476
 
Basic Concepts about Income Tax 1st lecture.pptx
Basic Concepts about Income Tax 1st lecture.pptxBasic Concepts about Income Tax 1st lecture.pptx
Basic Concepts about Income Tax 1st lecture.pptx
Rajiv Academy for Technology & Management Mathura
 
MCT 20 Research Outputqqqqqqqqqqqqqq.ppt
MCT 20 Research Outputqqqqqqqqqqqqqq.pptMCT 20 Research Outputqqqqqqqqqqqqqq.ppt
MCT 20 Research Outputqqqqqqqqqqqqqq.ppt
sosslk51
 
Research Methodology notes (Unit 1st) For MBA Students
Research Methodology notes (Unit 1st) For MBA StudentsResearch Methodology notes (Unit 1st) For MBA Students
Research Methodology notes (Unit 1st) For MBA Students
Rajiv Academy for Technology & Management Mathura
 
Building an individual development plan IDP.pptx
Building an individual development plan IDP.pptxBuilding an individual development plan IDP.pptx
Building an individual development plan IDP.pptx
wallacedan050222
 
Kirk Vallis- The Creative Leader: Unlocking Innovation Through Leadership
Kirk Vallis- The Creative Leader: Unlocking Innovation Through LeadershipKirk Vallis- The Creative Leader: Unlocking Innovation Through Leadership
Kirk Vallis- The Creative Leader: Unlocking Innovation Through Leadership
PPMA - Public Sector People Managers' Association
 
Shane Windmeyer on The Unshakable Importance of DEI in Modern Society
Shane Windmeyer on The Unshakable Importance of DEI in Modern SocietyShane Windmeyer on The Unshakable Importance of DEI in Modern Society
Shane Windmeyer on The Unshakable Importance of DEI in Modern Society
Shane Windmeyer
 
How does critical thinking relate to problem solving and decision making?
How does critical thinking relate to problem solving and decision making?How does critical thinking relate to problem solving and decision making?
How does critical thinking relate to problem solving and decision making?
Writegenic AI
 
Emotional Intelligence in life Defined.pptx
Emotional Intelligence in life Defined.pptxEmotional Intelligence in life Defined.pptx
Emotional Intelligence in life Defined.pptx
Rizvan Noor
 
Assets, Threats, and Vulnerabilities - Google Certificate
Assets, Threats, and Vulnerabilities - Google CertificateAssets, Threats, and Vulnerabilities - Google Certificate
Assets, Threats, and Vulnerabilities - Google Certificate
VICTOR MAESTRE RAMIREZ
 
Michael Porter’s Five Forces Model Michael Porter’s Five Forces Model
Michael Porter’s Five Forces Model Michael Porter’s Five Forces ModelMichael Porter’s Five Forces Model Michael Porter’s Five Forces Model
Michael Porter’s Five Forces Model Michael Porter’s Five Forces Model
choiriya235
 
Meet Rao Desu - The Professional Overview
Meet Rao Desu - The Professional OverviewMeet Rao Desu - The Professional Overview
Meet Rao Desu - The Professional Overview
Rao Desi
 
MY HCM Recruitment.ppt FASIKA.pptxthebest
MY HCM Recruitment.ppt FASIKA.pptxthebestMY HCM Recruitment.ppt FASIKA.pptxthebest
MY HCM Recruitment.ppt FASIKA.pptxthebest
kalkidanabera2000
 
Unit 4 Corporate Governance Safdtrategies
Unit 4 Corporate Governance SafdtrategiesUnit 4 Corporate Governance Safdtrategies
Unit 4 Corporate Governance Safdtrategies
cris222265
 
Winning at Work_ Creative Employee Wellness Challenges That Actually Work.pdf
Winning at Work_ Creative Employee Wellness Challenges That Actually Work.pdfWinning at Work_ Creative Employee Wellness Challenges That Actually Work.pdf
Winning at Work_ Creative Employee Wellness Challenges That Actually Work.pdf
Enterprise Wired
 
Cyber Frontline - Level 3 - Module 4.pptx
Cyber Frontline - Level 3 - Module 4.pptxCyber Frontline - Level 3 - Module 4.pptx
Cyber Frontline - Level 3 - Module 4.pptx
trevor501353
 
SpatzAI - Fairer Teamwork Globally by Addressing Micro-Conflict Early
SpatzAI - Fairer Teamwork Globally by Addressing Micro-Conflict EarlySpatzAI - Fairer Teamwork Globally by Addressing Micro-Conflict Early
SpatzAI - Fairer Teamwork Globally by Addressing Micro-Conflict Early
Desmond Sherlock
 
remote working final project (2).pdf project f
remote working final project (2).pdf project fremote working final project (2).pdf project f
remote working final project (2).pdf project f
RanvirSingh151
 
Table-of-Quantitative-Organizational-Capacity-Assessment-Methods-1.pptx
Table-of-Quantitative-Organizational-Capacity-Assessment-Methods-1.pptxTable-of-Quantitative-Organizational-Capacity-Assessment-Methods-1.pptx
Table-of-Quantitative-Organizational-Capacity-Assessment-Methods-1.pptx
alexander735476
 
MCT 20 Research Outputqqqqqqqqqqqqqq.ppt
MCT 20 Research Outputqqqqqqqqqqqqqq.pptMCT 20 Research Outputqqqqqqqqqqqqqq.ppt
MCT 20 Research Outputqqqqqqqqqqqqqq.ppt
sosslk51
 
Building an individual development plan IDP.pptx
Building an individual development plan IDP.pptxBuilding an individual development plan IDP.pptx
Building an individual development plan IDP.pptx
wallacedan050222
 
Shane Windmeyer on The Unshakable Importance of DEI in Modern Society
Shane Windmeyer on The Unshakable Importance of DEI in Modern SocietyShane Windmeyer on The Unshakable Importance of DEI in Modern Society
Shane Windmeyer on The Unshakable Importance of DEI in Modern Society
Shane Windmeyer
 
How does critical thinking relate to problem solving and decision making?
How does critical thinking relate to problem solving and decision making?How does critical thinking relate to problem solving and decision making?
How does critical thinking relate to problem solving and decision making?
Writegenic AI
 
Emotional Intelligence in life Defined.pptx
Emotional Intelligence in life Defined.pptxEmotional Intelligence in life Defined.pptx
Emotional Intelligence in life Defined.pptx
Rizvan Noor
 
Assets, Threats, and Vulnerabilities - Google Certificate
Assets, Threats, and Vulnerabilities - Google CertificateAssets, Threats, and Vulnerabilities - Google Certificate
Assets, Threats, and Vulnerabilities - Google Certificate
VICTOR MAESTRE RAMIREZ
 
Michael Porter’s Five Forces Model Michael Porter’s Five Forces Model
Michael Porter’s Five Forces Model Michael Porter’s Five Forces ModelMichael Porter’s Five Forces Model Michael Porter’s Five Forces Model
Michael Porter’s Five Forces Model Michael Porter’s Five Forces Model
choiriya235
 
Meet Rao Desu - The Professional Overview
Meet Rao Desu - The Professional OverviewMeet Rao Desu - The Professional Overview
Meet Rao Desu - The Professional Overview
Rao Desi
 
MY HCM Recruitment.ppt FASIKA.pptxthebest
MY HCM Recruitment.ppt FASIKA.pptxthebestMY HCM Recruitment.ppt FASIKA.pptxthebest
MY HCM Recruitment.ppt FASIKA.pptxthebest
kalkidanabera2000
 
Unit 4 Corporate Governance Safdtrategies
Unit 4 Corporate Governance SafdtrategiesUnit 4 Corporate Governance Safdtrategies
Unit 4 Corporate Governance Safdtrategies
cris222265
 
Winning at Work_ Creative Employee Wellness Challenges That Actually Work.pdf
Winning at Work_ Creative Employee Wellness Challenges That Actually Work.pdfWinning at Work_ Creative Employee Wellness Challenges That Actually Work.pdf
Winning at Work_ Creative Employee Wellness Challenges That Actually Work.pdf
Enterprise Wired
 
Cyber Frontline - Level 3 - Module 4.pptx
Cyber Frontline - Level 3 - Module 4.pptxCyber Frontline - Level 3 - Module 4.pptx
Cyber Frontline - Level 3 - Module 4.pptx
trevor501353
 
SpatzAI - Fairer Teamwork Globally by Addressing Micro-Conflict Early
SpatzAI - Fairer Teamwork Globally by Addressing Micro-Conflict EarlySpatzAI - Fairer Teamwork Globally by Addressing Micro-Conflict Early
SpatzAI - Fairer Teamwork Globally by Addressing Micro-Conflict Early
Desmond Sherlock
 
remote working final project (2).pdf project f
remote working final project (2).pdf project fremote working final project (2).pdf project f
remote working final project (2).pdf project f
RanvirSingh151
 
Ad

Pyfest Tunisia 2015 - Python & DevOps

  • 1. Python & DevOps @pyfest 2015 Python & DevOps @pyfest 2015 Python & DevOps @pyfest 2015
  • 2. Ahmed Bessifi @github/abessifi DevOps Engineer @IMDEV - Python, Flask, Puppet, Docker, Jenkins Open source - Author : Pyatta, repmgr-puppet - Contributor : LWP, RQ, PoWA - Member : Debian, openVswitch, metaflask
  • 8. DevOps, what is it for ? - Ensure better development of the application. - Continuous integration and deployment. - Ensure that the application is working as expected (monitoring, high availability, etc).
  • 10. DevOps, how to do it ?
  • 11. What's all the fuss about ?
  • 12. Docker : “... an open platform for developers and sysadmins to build, ship and run distributed applications.” https://www.docker.com/whatisdocker
  • 13. Docker : Concepts Images A read only collection of “layers” joined together via a union File System. Containers An instance of an image on which one or more processes are running or have exited.
  • 14. Docker : Use cases - Development environments - Application deployment - Continuous integration - Continuous delivery - Platform-as-a-Service (PaaS)
  • 15. +
  • 17. Dev Env : Components - OS - System libraries - Python dependencies - Database, cache, etc
  • 18. Dev Env : Problems - Constantly change - Never truly consistent - Miscommunication (Ops vs Devs)
  • 19. Dev Env : Docker ! - Just write a Dockerfile ! - Easy to change and share - 100 % isolated - Always consistent - Production ready
  • 21. Why we write tests ?!
  • 22. Python testing libs/frameworks : ● - Pytest, Nose : Unittesting library (less boilerplate). - Mock : easily create fakes for testing. - WebTest : req/resp testing for WSGI web apps. - Selenium : browser automation (web).
  • 23. Why using CI ? “A CI system improves the productivity of a development team by automating various things.”
  • 24. Jenkins for Python : - Run builds (pytest, tox, etc). - Perform pep8 and Pyflakes checks. - Display xUnit, coverage reports. - Generate and publish docs. - Build python/deb package(s).
  • 27. Thank you ! '' We build software for people who build software '' <Codiak> about.me/abessifi github.com/abessifi