SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
VSHN - The DevOps Company
A Guide to Modern
Software Development
Move fast, don’t break things.
© 2018 VSHN AG
VSHN - The DevOps Company 22
Simply Call Us. V-SH-N. ˈvɪʒn, “vision”
VSHN - The DevOps Company
● Pain points & maturity
● Happy devs & customers
● Building blocks
● Implementation
33
Modern Software
Development
Move fast, don’t break things.
Boring
VSHN - The DevOps Company
● Cloud tooling is hard (so many options)
● Dev & Ops – where to draw the line?
● Automation engineering
● Monitoring unclear (availability, deployments, performance?)
● Cost increase (is the cloud expensive?)
● The market moves fast!
44
Situation Today
VSHN - The DevOps Company
● Cloud tooling
● Dev & Ops
● Automation
● Monitoring
● Cost increase
● The market
55
Where Do We Need To Go?
⇢ Comfortable with both tools & service platforms
⇢ Runs on my machine (and in the cloud)
⇢ Continuous improvement, project maintenance
⇢ Full transparency & focus on QA
(write tests, performance, security)
⇢ Short-lived branches, short time-to-market (features)
⇢ Easily switch between service platforms
VSHN - The DevOps Company
1. Automated tests
2. CI/CD, automation
3. DevOps culture
4. Cloud native
5. Avoid vendor lock-in
66
Building Blocks
VSHN - The DevOps Company 77
1.AutomatedTests
VSHN - The DevOps Company 88
2.CI/CD,Automation
VSHN - The DevOps Company 99
3.DevOpsCulture
No more silos!
VSHN - The DevOps Company 1010
4.CloudNative
“Applications that scale & are resilient.”
VSHN - The DevOps Company 1111
5.VendorLock-In
Conventions
matter!
I shall apply
best practices
Separation
of concerns
VSHN - The DevOps Company
● Repository structure
● Application setup &
target environments
● Pipeline
1212
How do I
implement it?
Maximize your freedom.
VSHN - The DevOps Company
❏ app/
❏ main.py
❏ tests/
❏ test_main.py
❏ deployment/
❏ app
❏ Dockerfile
❏ uwsgi.ini
❏ webserver
❏ Dockerfile
❏ nginx.conf
❏ template-app.yml
❏ docs/
❏ .gitlab-ci.yml
❏ README.md
❏ tox.ini
1313
Repository Structure
Separate concerns!
CI/CD pipeline only
(no project business logic)
Conventions of
technology in use
VSHN - The DevOps Company
Avoid
● Lengthy setup instructions (README)
● Manual configuration steps
● Special scripts for setting up project
● config-local-dist.php & similar
● Disable linting, no tests
● A myriad of configuration files (and tools)
● Long-lived branches & git-flow
● Start monitoring late
● Start deploying late
Application & Target Environments
Favor
● Standard procedures for getting started
(short paragraph in README)
● Everything under version control (what is
needed to get started)
● Treat your dev machine as a (standard)
target environment
● Use getenv(‘VALUE’, ‘default’) etc.
● Short-lived feature branches
● Deploy & monitor from “commit 1”
1414
VSHN - The DevOps Company
Pipeline
# template-webserver.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: foo-bar-nginx
namespace: foo-bar-dev
data:
Foo: |
worker_processes auto;
error_log stderr;
pid /var/opt/.../run/nginx/nginx.pid;
events {
worker_connections 1024;
}
...
```
# .gitlab-ci.yml
variables:
OPENSHIFT_PROJECT: foo-dev
APP_NAME: bar-baz
deploy:
- oc -n ${OPENSHIFT_PROJECT} create configmap
${APP_NAME}-nginx
--from-file=Foo=config/Foo/nginx.conf
--from-file=Bar=config/Bar/nginx.conf
--dry-run -o yaml |
oc -n ${OPENSHIFT_PROJECT} apply -f - ;
1515
Avoid!
Favor!
Application-side
● Apply “shift-left”
● Container-driven
● Same tools for
development and
deployment
16
16
How we ensure independence
Deployment-side
● No application-specific
details
● Standard approaches (CD)
● Keep platform-specific
differences to a minimum
Come visit us for a coffee!
VSHN AG - Neugasse 10 - CH-8005 Zürich - +41 44 545 53 00 - https://vshn.ch/ - info@vshn.ch
vshn.ch/contact
Follow us on Twitter!
@vshn_ch
17
Join our team!
vshn.ch/jobs
Zur Erweiterung unseres Teams suchen
wir immer gute Frauen und Männer, die
wir anhand ihrer individuellen Stärken,
Erfahrungen und Wünsche in die
bestehenden Teams integrieren.
Bewirb dich noch heute!
Follow us on Twitter!
@vshn_ch
VSHN AG - Neugasse 10 - CH-8005 Zürich - +41 44 545 53 00 - https://vshn.ch/ - info@vshn.ch
18

Más contenido relacionado

La actualidad más candente

Increasing productivity with continuous delivery
Increasing productivity with continuous deliveryIncreasing productivity with continuous delivery
Increasing productivity with continuous deliveryAndré Pitombeira
 
Continuous Delivery in Practice (extended)
Continuous Delivery in Practice (extended)Continuous Delivery in Practice (extended)
Continuous Delivery in Practice (extended)Tzach Zohar
 
BizTalk ALM (Toon Vanhoutte @ Integration Monday)
BizTalk ALM (Toon Vanhoutte @ Integration Monday)BizTalk ALM (Toon Vanhoutte @ Integration Monday)
BizTalk ALM (Toon Vanhoutte @ Integration Monday)Codit
 
Continuous Delivery with TeamCity
Continuous Delivery with TeamCityContinuous Delivery with TeamCity
Continuous Delivery with TeamCityVolodymyr Melymuka
 
Performance testing in the cloud webinar jul 2018
Performance testing in the cloud webinar jul 2018Performance testing in the cloud webinar jul 2018
Performance testing in the cloud webinar jul 2018John Emmitt
 
Constinuous Integration
Constinuous IntegrationConstinuous Integration
Constinuous IntegrationGabriel Araujo
 
Introduction to DevOps. Continuous Integration by Myroslav Dmytrus
Introduction to DevOps. Continuous Integration by Myroslav Dmytrus Introduction to DevOps. Continuous Integration by Myroslav Dmytrus
Introduction to DevOps. Continuous Integration by Myroslav Dmytrus Binary Studio
 
Domenico Musto "Continuous Delivery Made Possible"
Domenico Musto "Continuous Delivery Made Possible"Domenico Musto "Continuous Delivery Made Possible"
Domenico Musto "Continuous Delivery Made Possible"Agile Lietuva
 
Continuous Delivery - From the Trenches
Continuous Delivery - From the TrenchesContinuous Delivery - From the Trenches
Continuous Delivery - From the TrenchesJohan Rydström
 
Security Implications for a DevOps Transformation
Security Implications for a DevOps TransformationSecurity Implications for a DevOps Transformation
Security Implications for a DevOps TransformationDevOps.com
 
Training Webinars - Secret hacks for OutSystems 10
Training Webinars - Secret hacks for OutSystems 10Training Webinars - Secret hacks for OutSystems 10
Training Webinars - Secret hacks for OutSystems 10OutSystems
 
Containers in Action Transform Application Delivery with Open Shift and Devops
Containers in Action Transform Application Delivery with Open Shift and DevopsContainers in Action Transform Application Delivery with Open Shift and Devops
Containers in Action Transform Application Delivery with Open Shift and Devopsandreas kuncoro
 
DevOps is a Journey - Choose Your Own Adventure
DevOps is a Journey - Choose Your Own AdventureDevOps is a Journey - Choose Your Own Adventure
DevOps is a Journey - Choose Your Own AdventureFabian Iannarella
 
Microsoft Team Foundation Server Build 2015
Microsoft Team Foundation Server Build 2015Microsoft Team Foundation Server Build 2015
Microsoft Team Foundation Server Build 2015Chris Kadel, MBA
 
Continuous Delivery for Cross-Platform Mobile Apps
Continuous Delivery for Cross-Platform Mobile AppsContinuous Delivery for Cross-Platform Mobile Apps
Continuous Delivery for Cross-Platform Mobile AppsMovel
 
Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit ...
Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit ...Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit ...
Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit ...ManageIQ
 
Toolchain for agile teams: Traceability from product vision to working software
Toolchain for agile teams: Traceability from product vision to working softwareToolchain for agile teams: Traceability from product vision to working software
Toolchain for agile teams: Traceability from product vision to working softwareJoscha Jenni
 
[E-Dev-Day 2015][3/4] QA Status Report (Stefan Schmidt)
[E-Dev-Day 2015][3/4] QA Status Report (Stefan Schmidt)[E-Dev-Day 2015][3/4] QA Status Report (Stefan Schmidt)
[E-Dev-Day 2015][3/4] QA Status Report (Stefan Schmidt)EnlightenmentProject
 

La actualidad más candente (20)

Increasing productivity with continuous delivery
Increasing productivity with continuous deliveryIncreasing productivity with continuous delivery
Increasing productivity with continuous delivery
 
Continuous Delivery in Practice (extended)
Continuous Delivery in Practice (extended)Continuous Delivery in Practice (extended)
Continuous Delivery in Practice (extended)
 
BizTalk ALM (Toon Vanhoutte @ Integration Monday)
BizTalk ALM (Toon Vanhoutte @ Integration Monday)BizTalk ALM (Toon Vanhoutte @ Integration Monday)
BizTalk ALM (Toon Vanhoutte @ Integration Monday)
 
Continuous Delivery with TeamCity
Continuous Delivery with TeamCityContinuous Delivery with TeamCity
Continuous Delivery with TeamCity
 
Performance testing in the cloud webinar jul 2018
Performance testing in the cloud webinar jul 2018Performance testing in the cloud webinar jul 2018
Performance testing in the cloud webinar jul 2018
 
Constinuous Integration
Constinuous IntegrationConstinuous Integration
Constinuous Integration
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
Introduction to DevOps. Continuous Integration by Myroslav Dmytrus
Introduction to DevOps. Continuous Integration by Myroslav Dmytrus Introduction to DevOps. Continuous Integration by Myroslav Dmytrus
Introduction to DevOps. Continuous Integration by Myroslav Dmytrus
 
Domenico Musto "Continuous Delivery Made Possible"
Domenico Musto "Continuous Delivery Made Possible"Domenico Musto "Continuous Delivery Made Possible"
Domenico Musto "Continuous Delivery Made Possible"
 
Continuous Delivery - From the Trenches
Continuous Delivery - From the TrenchesContinuous Delivery - From the Trenches
Continuous Delivery - From the Trenches
 
Security Implications for a DevOps Transformation
Security Implications for a DevOps TransformationSecurity Implications for a DevOps Transformation
Security Implications for a DevOps Transformation
 
Training Webinars - Secret hacks for OutSystems 10
Training Webinars - Secret hacks for OutSystems 10Training Webinars - Secret hacks for OutSystems 10
Training Webinars - Secret hacks for OutSystems 10
 
Containers in Action Transform Application Delivery with Open Shift and Devops
Containers in Action Transform Application Delivery with Open Shift and DevopsContainers in Action Transform Application Delivery with Open Shift and Devops
Containers in Action Transform Application Delivery with Open Shift and Devops
 
DevOps is a Journey - Choose Your Own Adventure
DevOps is a Journey - Choose Your Own AdventureDevOps is a Journey - Choose Your Own Adventure
DevOps is a Journey - Choose Your Own Adventure
 
Microsoft Team Foundation Server Build 2015
Microsoft Team Foundation Server Build 2015Microsoft Team Foundation Server Build 2015
Microsoft Team Foundation Server Build 2015
 
Centralising FM
Centralising FMCentralising FM
Centralising FM
 
Continuous Delivery for Cross-Platform Mobile Apps
Continuous Delivery for Cross-Platform Mobile AppsContinuous Delivery for Cross-Platform Mobile Apps
Continuous Delivery for Cross-Platform Mobile Apps
 
Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit ...
Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit ...Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit ...
Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit ...
 
Toolchain for agile teams: Traceability from product vision to working software
Toolchain for agile teams: Traceability from product vision to working softwareToolchain for agile teams: Traceability from product vision to working software
Toolchain for agile teams: Traceability from product vision to working software
 
[E-Dev-Day 2015][3/4] QA Status Report (Stefan Schmidt)
[E-Dev-Day 2015][3/4] QA Status Report (Stefan Schmidt)[E-Dev-Day 2015][3/4] QA Status Report (Stefan Schmidt)
[E-Dev-Day 2015][3/4] QA Status Report (Stefan Schmidt)
 

Similar a A guide to modern software development 2018

Avoid the Vendor Lock-in Trap (with App Deployment)
Avoid the Vendor Lock-in Trap (with App Deployment)Avoid the Vendor Lock-in Trap (with App Deployment)
Avoid the Vendor Lock-in Trap (with App Deployment)Peter Bittner
 
DevSecOps - Security in DevOps
DevSecOps - Security in DevOpsDevSecOps - Security in DevOps
DevSecOps - Security in DevOpsAarno Aukia
 
Next gen software operations models in the cloud
Next gen software operations models in the cloudNext gen software operations models in the cloud
Next gen software operations models in the cloudAarno Aukia
 
DevSecOps: Bringing security to the DevOps pipeline
DevSecOps: Bringing security to the DevOps pipelineDevSecOps: Bringing security to the DevOps pipeline
DevSecOps: Bringing security to the DevOps pipelineAarno Aukia
 
DevSecOps: Bringing security to the DevOps pipeline
DevSecOps: Bringing security to the DevOps pipelineDevSecOps: Bringing security to the DevOps pipeline
DevSecOps: Bringing security to the DevOps pipelineAarno Aukia
 
DevSecOps: Bringing security to the DevOps pipeline
DevSecOps: Bringing security to the DevOps pipelineDevSecOps: Bringing security to the DevOps pipeline
DevSecOps: Bringing security to the DevOps pipelineAarno Aukia
 
Free GitOps Workshop
Free GitOps WorkshopFree GitOps Workshop
Free GitOps WorkshopWeaveworks
 
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021William Caban
 
muCon 2019: "Creating an Effective Developer Experience for Cloud-Native Apps"
muCon 2019: "Creating an Effective Developer Experience for Cloud-Native Apps"muCon 2019: "Creating an Effective Developer Experience for Cloud-Native Apps"
muCon 2019: "Creating an Effective Developer Experience for Cloud-Native Apps"Daniel Bryant
 
microXchg 2019: "Creating an Effective Developer Experience for Cloud-Native ...
microXchg 2019: "Creating an Effective Developer Experience for Cloud-Native ...microXchg 2019: "Creating an Effective Developer Experience for Cloud-Native ...
microXchg 2019: "Creating an Effective Developer Experience for Cloud-Native ...Daniel Bryant
 
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...Haggai Philip Zagury
 
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)Weaveworks
 
Devops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShiftDevops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShiftYaniv cohen
 
Continuous security improvements in the DevOps process
Continuous security improvements in the DevOps processContinuous security improvements in the DevOps process
Continuous security improvements in the DevOps processAarno Aukia
 
Moving Applications to the cloud
Moving Applications to the cloudMoving Applications to the cloud
Moving Applications to the cloudAarno Aukia
 
Common blind spots on the journey to production vijay raghavan aravamudhan
Common blind spots on the journey to production  vijay raghavan aravamudhanCommon blind spots on the journey to production  vijay raghavan aravamudhan
Common blind spots on the journey to production vijay raghavan aravamudhanXP Conference India
 
Preparing for Neo - Singapore OutSystems User Group October 2022 Meetup
Preparing for Neo - Singapore OutSystems User Group October 2022 MeetupPreparing for Neo - Singapore OutSystems User Group October 2022 Meetup
Preparing for Neo - Singapore OutSystems User Group October 2022 MeetupYashrajNayak4
 

Similar a A guide to modern software development 2018 (20)

Avoid the Vendor Lock-in Trap (with App Deployment)
Avoid the Vendor Lock-in Trap (with App Deployment)Avoid the Vendor Lock-in Trap (with App Deployment)
Avoid the Vendor Lock-in Trap (with App Deployment)
 
DevSecOps - Security in DevOps
DevSecOps - Security in DevOpsDevSecOps - Security in DevOps
DevSecOps - Security in DevOps
 
Next gen software operations models in the cloud
Next gen software operations models in the cloudNext gen software operations models in the cloud
Next gen software operations models in the cloud
 
DevSecOps: Bringing security to the DevOps pipeline
DevSecOps: Bringing security to the DevOps pipelineDevSecOps: Bringing security to the DevOps pipeline
DevSecOps: Bringing security to the DevOps pipeline
 
DevSecOps: Bringing security to the DevOps pipeline
DevSecOps: Bringing security to the DevOps pipelineDevSecOps: Bringing security to the DevOps pipeline
DevSecOps: Bringing security to the DevOps pipeline
 
DevSecOps: Bringing security to the DevOps pipeline
DevSecOps: Bringing security to the DevOps pipelineDevSecOps: Bringing security to the DevOps pipeline
DevSecOps: Bringing security to the DevOps pipeline
 
Free GitOps Workshop
Free GitOps WorkshopFree GitOps Workshop
Free GitOps Workshop
 
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021
 
muCon 2019: "Creating an Effective Developer Experience for Cloud-Native Apps"
muCon 2019: "Creating an Effective Developer Experience for Cloud-Native Apps"muCon 2019: "Creating an Effective Developer Experience for Cloud-Native Apps"
muCon 2019: "Creating an Effective Developer Experience for Cloud-Native Apps"
 
microXchg 2019: "Creating an Effective Developer Experience for Cloud-Native ...
microXchg 2019: "Creating an Effective Developer Experience for Cloud-Native ...microXchg 2019: "Creating an Effective Developer Experience for Cloud-Native ...
microXchg 2019: "Creating an Effective Developer Experience for Cloud-Native ...
 
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
 
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
 
First Steps to DevOps
First Steps to DevOpsFirst Steps to DevOps
First Steps to DevOps
 
Dev ops
Dev opsDev ops
Dev ops
 
Devops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShiftDevops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShift
 
Continuous security improvements in the DevOps process
Continuous security improvements in the DevOps processContinuous security improvements in the DevOps process
Continuous security improvements in the DevOps process
 
Moving Applications to the cloud
Moving Applications to the cloudMoving Applications to the cloud
Moving Applications to the cloud
 
DevOps Case Studies
DevOps Case StudiesDevOps Case Studies
DevOps Case Studies
 
Common blind spots on the journey to production vijay raghavan aravamudhan
Common blind spots on the journey to production  vijay raghavan aravamudhanCommon blind spots on the journey to production  vijay raghavan aravamudhan
Common blind spots on the journey to production vijay raghavan aravamudhan
 
Preparing for Neo - Singapore OutSystems User Group October 2022 Meetup
Preparing for Neo - Singapore OutSystems User Group October 2022 MeetupPreparing for Neo - Singapore OutSystems User Group October 2022 Meetup
Preparing for Neo - Singapore OutSystems User Group October 2022 Meetup
 

Más de Peter Bittner

PyCon 23: Smettiamola di scrivere script
PyCon 23: Smettiamola di scrivere scriptPyCon 23: Smettiamola di scrivere script
PyCon 23: Smettiamola di scrivere scriptPeter Bittner
 
Python Summit 2022: Never Write Scripts Again
Python Summit 2022: Never Write Scripts AgainPython Summit 2022: Never Write Scripts Again
Python Summit 2022: Never Write Scripts AgainPeter Bittner
 
APPUiO Quick Start (OpenShift > DevOps > App Dev)
APPUiO Quick Start (OpenShift > DevOps > App Dev)APPUiO Quick Start (OpenShift > DevOps > App Dev)
APPUiO Quick Start (OpenShift > DevOps > App Dev)Peter Bittner
 
Pee Dee Kay (PDK) - Puppet Development Kit
Pee Dee Kay (PDK) - Puppet Development KitPee Dee Kay (PDK) - Puppet Development Kit
Pee Dee Kay (PDK) - Puppet Development KitPeter Bittner
 
EuroPython 2019: Modern Continuous Delivery for Python Developers
EuroPython 2019: Modern Continuous Delivery for Python DevelopersEuroPython 2019: Modern Continuous Delivery for Python Developers
EuroPython 2019: Modern Continuous Delivery for Python DevelopersPeter Bittner
 
PyCon 9: Continuous Delivery starts at your Development Dnvironment
PyCon 9: Continuous Delivery starts at your Development DnvironmentPyCon 9: Continuous Delivery starts at your Development Dnvironment
PyCon 9: Continuous Delivery starts at your Development DnvironmentPeter Bittner
 
Painless Continuous Delivery – DjangoCon 2017
Painless Continuous Delivery – DjangoCon 2017Painless Continuous Delivery – DjangoCon 2017
Painless Continuous Delivery – DjangoCon 2017Peter Bittner
 
Continuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon OttoContinuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon OttoPeter Bittner
 
Fix-Price Projects And Agile – PyCon Sette
Fix-Price Projects And Agile – PyCon SetteFix-Price Projects And Agile – PyCon Sette
Fix-Price Projects And Agile – PyCon SettePeter Bittner
 
Creating a Collaboration Platform (Leveraging the Django Eco System)
Creating a Collaboration Platform (Leveraging the Django Eco System)Creating a Collaboration Platform (Leveraging the Django Eco System)
Creating a Collaboration Platform (Leveraging the Django Eco System)Peter Bittner
 
Linux für Einsteiger und UmsteigerInnen (Vortrag)
Linux für Einsteiger und UmsteigerInnen (Vortrag)Linux für Einsteiger und UmsteigerInnen (Vortrag)
Linux für Einsteiger und UmsteigerInnen (Vortrag)Peter Bittner
 

Más de Peter Bittner (13)

PyCon 23: Smettiamola di scrivere script
PyCon 23: Smettiamola di scrivere scriptPyCon 23: Smettiamola di scrivere script
PyCon 23: Smettiamola di scrivere script
 
Python Summit 2022: Never Write Scripts Again
Python Summit 2022: Never Write Scripts AgainPython Summit 2022: Never Write Scripts Again
Python Summit 2022: Never Write Scripts Again
 
APPUiO Quick Start (OpenShift > DevOps > App Dev)
APPUiO Quick Start (OpenShift > DevOps > App Dev)APPUiO Quick Start (OpenShift > DevOps > App Dev)
APPUiO Quick Start (OpenShift > DevOps > App Dev)
 
Pee Dee Kay (PDK) - Puppet Development Kit
Pee Dee Kay (PDK) - Puppet Development KitPee Dee Kay (PDK) - Puppet Development Kit
Pee Dee Kay (PDK) - Puppet Development Kit
 
Managing 100+ WAFs
Managing 100+ WAFsManaging 100+ WAFs
Managing 100+ WAFs
 
EuroPython 2019: Modern Continuous Delivery for Python Developers
EuroPython 2019: Modern Continuous Delivery for Python DevelopersEuroPython 2019: Modern Continuous Delivery for Python Developers
EuroPython 2019: Modern Continuous Delivery for Python Developers
 
PyCon 9: Continuous Delivery starts at your Development Dnvironment
PyCon 9: Continuous Delivery starts at your Development DnvironmentPyCon 9: Continuous Delivery starts at your Development Dnvironment
PyCon 9: Continuous Delivery starts at your Development Dnvironment
 
Painless Continuous Delivery – DjangoCon 2017
Painless Continuous Delivery – DjangoCon 2017Painless Continuous Delivery – DjangoCon 2017
Painless Continuous Delivery – DjangoCon 2017
 
Continuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon OttoContinuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon Otto
 
Fix-Price Projects And Agile – PyCon Sette
Fix-Price Projects And Agile – PyCon SetteFix-Price Projects And Agile – PyCon Sette
Fix-Price Projects And Agile – PyCon Sette
 
Creating a Collaboration Platform (Leveraging the Django Eco System)
Creating a Collaboration Platform (Leveraging the Django Eco System)Creating a Collaboration Platform (Leveraging the Django Eco System)
Creating a Collaboration Platform (Leveraging the Django Eco System)
 
Linux für Einsteiger und UmsteigerInnen (Vortrag)
Linux für Einsteiger und UmsteigerInnen (Vortrag)Linux für Einsteiger und UmsteigerInnen (Vortrag)
Linux für Einsteiger und UmsteigerInnen (Vortrag)
 
Linux auf meinem PC
Linux auf meinem PCLinux auf meinem PC
Linux auf meinem PC
 

Último

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 

Último (20)

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

A guide to modern software development 2018

  • 1. VSHN - The DevOps Company A Guide to Modern Software Development Move fast, don’t break things. © 2018 VSHN AG
  • 2. VSHN - The DevOps Company 22 Simply Call Us. V-SH-N. ˈvɪʒn, “vision”
  • 3. VSHN - The DevOps Company ● Pain points & maturity ● Happy devs & customers ● Building blocks ● Implementation 33 Modern Software Development Move fast, don’t break things. Boring
  • 4. VSHN - The DevOps Company ● Cloud tooling is hard (so many options) ● Dev & Ops – where to draw the line? ● Automation engineering ● Monitoring unclear (availability, deployments, performance?) ● Cost increase (is the cloud expensive?) ● The market moves fast! 44 Situation Today
  • 5. VSHN - The DevOps Company ● Cloud tooling ● Dev & Ops ● Automation ● Monitoring ● Cost increase ● The market 55 Where Do We Need To Go? ⇢ Comfortable with both tools & service platforms ⇢ Runs on my machine (and in the cloud) ⇢ Continuous improvement, project maintenance ⇢ Full transparency & focus on QA (write tests, performance, security) ⇢ Short-lived branches, short time-to-market (features) ⇢ Easily switch between service platforms
  • 6. VSHN - The DevOps Company 1. Automated tests 2. CI/CD, automation 3. DevOps culture 4. Cloud native 5. Avoid vendor lock-in 66 Building Blocks
  • 7. VSHN - The DevOps Company 77 1.AutomatedTests
  • 8. VSHN - The DevOps Company 88 2.CI/CD,Automation
  • 9. VSHN - The DevOps Company 99 3.DevOpsCulture No more silos!
  • 10. VSHN - The DevOps Company 1010 4.CloudNative “Applications that scale & are resilient.”
  • 11. VSHN - The DevOps Company 1111 5.VendorLock-In Conventions matter! I shall apply best practices Separation of concerns
  • 12. VSHN - The DevOps Company ● Repository structure ● Application setup & target environments ● Pipeline 1212 How do I implement it? Maximize your freedom.
  • 13. VSHN - The DevOps Company ❏ app/ ❏ main.py ❏ tests/ ❏ test_main.py ❏ deployment/ ❏ app ❏ Dockerfile ❏ uwsgi.ini ❏ webserver ❏ Dockerfile ❏ nginx.conf ❏ template-app.yml ❏ docs/ ❏ .gitlab-ci.yml ❏ README.md ❏ tox.ini 1313 Repository Structure Separate concerns! CI/CD pipeline only (no project business logic) Conventions of technology in use
  • 14. VSHN - The DevOps Company Avoid ● Lengthy setup instructions (README) ● Manual configuration steps ● Special scripts for setting up project ● config-local-dist.php & similar ● Disable linting, no tests ● A myriad of configuration files (and tools) ● Long-lived branches & git-flow ● Start monitoring late ● Start deploying late Application & Target Environments Favor ● Standard procedures for getting started (short paragraph in README) ● Everything under version control (what is needed to get started) ● Treat your dev machine as a (standard) target environment ● Use getenv(‘VALUE’, ‘default’) etc. ● Short-lived feature branches ● Deploy & monitor from “commit 1” 1414
  • 15. VSHN - The DevOps Company Pipeline # template-webserver.yaml apiVersion: v1 kind: ConfigMap metadata: name: foo-bar-nginx namespace: foo-bar-dev data: Foo: | worker_processes auto; error_log stderr; pid /var/opt/.../run/nginx/nginx.pid; events { worker_connections 1024; } ... ``` # .gitlab-ci.yml variables: OPENSHIFT_PROJECT: foo-dev APP_NAME: bar-baz deploy: - oc -n ${OPENSHIFT_PROJECT} create configmap ${APP_NAME}-nginx --from-file=Foo=config/Foo/nginx.conf --from-file=Bar=config/Bar/nginx.conf --dry-run -o yaml | oc -n ${OPENSHIFT_PROJECT} apply -f - ; 1515 Avoid! Favor!
  • 16. Application-side ● Apply “shift-left” ● Container-driven ● Same tools for development and deployment 16 16 How we ensure independence Deployment-side ● No application-specific details ● Standard approaches (CD) ● Keep platform-specific differences to a minimum
  • 17. Come visit us for a coffee! VSHN AG - Neugasse 10 - CH-8005 Zürich - +41 44 545 53 00 - https://vshn.ch/ - info@vshn.ch vshn.ch/contact Follow us on Twitter! @vshn_ch 17
  • 18. Join our team! vshn.ch/jobs Zur Erweiterung unseres Teams suchen wir immer gute Frauen und Männer, die wir anhand ihrer individuellen Stärken, Erfahrungen und Wünsche in die bestehenden Teams integrieren. Bewirb dich noch heute! Follow us on Twitter! @vshn_ch VSHN AG - Neugasse 10 - CH-8005 Zürich - +41 44 545 53 00 - https://vshn.ch/ - info@vshn.ch 18