SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
Experience in teaching
DevOps
Len Bass
Topics
• What is DevOps
• Class offering
• Student knowledge shortcomings
© Len Bass 2015 2
Over the wall development
copyright 2015 Len Bass 3
Board has
idea
Developers
implement
Operators place
in production
Time
Where Does theTime Go?
• As Software Engineers our view is that there are the following
activities in software development
• Requirements
• Design
• Implementation
• Test
• Code Complete
• Different methodologies will organize these activities in
different ways.
• Agile focuses on getting to Code Complete faster than with
other methods.
4
Developers
implement
copyright 2015 Len Bass
What is wrong?
•Code Complete Code in Production
•Between the completion of the code and
the placing of the code into production is a
step called: Deployment
•Deploying completed code can be very
time consuming because of concern about
errors that could occur.
5copyright 2015 Len Bass
What is the work flow for code from a
multiteam development effort
• You develop and test your code in isolation
• Your code is integrated with code developed by other
teams to see if an executable can be constructed.
• The built system is tested for correctness
• The built system is tested for performance and other
qualities (staging)
• The built system is placed into production
copyright 2015 Len Bass 6
Errors can occur at every stage
• Every error must either be corrected or prevented.
• Preventing errors can be done through some
combination of
• Process
• Architecture
• Tooling
• Coordination among teams.
• Coordination takes time.
• Correcting errors takes time
© Len Bass 2015 7
How much time?
• Historically, releases are scheduled for once a quarter or
once a year to give time to coordinate and adequately
test.
• This means there may be months delay before a new
concept or feature is added to a system.
• This delay has become more and more unacceptable.
• Weekly or daily releases are becoming the norm.
copyright 2015 Len Bass 8
Goal of DevOps
• The goal of DevOps is to reduce the time to market
without compromising quality by
• Reducing errors during deployment
• Speeding up incident handling after deployment
• Speeding up deployment
copyright 2015 Len Bass 9
Example for reducing errors during
deployment
• Use microservice architecture
• Each team makes its own choices of technology for the service it
is developing
• Avoids inconsistencies in versions and technology choices that
are discovered during deployment process
© Len Bass 2015 10
Example for speeding up incident
handling
• Developers carry pagers and are the first respondents to
an incident
• When an incident occurs developers do not need to wait
for the incident to be escalated through a ticketing
system
• Gives developers cradle to grave responsibility for a
service
© Len Bass 2015 11
Example for speeding up
Deployment (Deployment pipeline)
• Developer creates and tests code on local machine.
• Checks code into a version control system
• Continuous integration server (CI) builds the system and runs a series of
integration tests.
• After passing the tests, the system is promoted to a staging environment
where it undergoes more tests including performance, security, and user
acceptance tests.
• After passing those tests, the system is promoted to provisional production
where it undergoes even more tests.
copyright 2016 Len Bass 12
Pre-commit
tests
X
Build Image
and Perform
Integration
tests
UAT / staging /
performance
tests
Deploy to
production
Commit
...
Pre-commit
tests
Commit
Developers
promote
to normal
production
Just to summarize
• Placing a system into production can be error prone and
time consuming
• Supporting a system after it gets into production can be
time consuming and error prone
• DevOps is a set of practices intended to speed up placing
a robust system into production
© Len Bass 2015 13
Topics
• What is DevOps
• Class offering
• Student knowledge shortcomings
© Len Bass 2015 14
Context for DevOps course
• I teach a DevOps course as a portion of the CMU MSE
professional master’s program
• Students are graduate students at CMU. Some have
industrial experience, some right out of undergraduate
school
• Currently in the fourth offering of the course
© Len Bass 2015
Course structure
• Half theory
• Lectures on video to be seen prior to
class
• Textbook and other readings
• In class discussion about lectures
and readings
• Half assignments
• Assignments involve a variety of
open source tools
• Evaluation based on theory and
assignments © Len Bass 2015
Discussion examples
• What was your takeaway from the videos and readings?
• Each student is called on
• Generate a design of a relevant tool, e.g. Continuous
Integration server
• Done in groups
• Time in discussion matches time in video
• Balances out of class reading/video with inclass time spent
discussing
© Len Bass 2015
Assignment
• Sample assignment:
• Create two virtual machines
• Install SSH so that one machine can securely connect to another
without being prompted for a password
• One page discussion: Discuss the pluses and minuses of having
“known hosts” in SSH
• Each assignment takes roughly half a day
© Len Bass 2015 18
Syllabus
• You can retrieve the syllabus from
https://github.com/devopseducator/2016workshop
© Len Bass 2015
Major topics
• DevOps overview
• Networking
• Cloud
• Deployment pipeline
• Architecture
• Deployment
• Security
• Monitoring
© Len Bass 2015 20
Elaborating on the syllabus - networking
• it is amazing what Masters students in CS at CMU do not
know. A reflection of their undergraduate curriculum.
• Virtualization
• Virtual machines
• Virtual machine images
• Networks
• IP addresses
• DNS servers andTTL (time to live)
• Ports
• Load Balancers
© Len Bass 2015
Elaborating on the syllabus –
cloud
• Failures in the cloud
• Distributed coordination – Zookeeper, Consul
• Scalability
© Len Bass 2015
Deployment pipeline
• Introduction to a deployment pipeline
• What are the roles and responsibilities of various
teams with respect to the pipeline
• Case study in business continuity
• Environments of the pipeline in more detail with types
of tests
• Development
• Build
• Staging
• Production
• Case study of company that sets up continuous
deployment pipelines
© Len Bass 2015
Elaborating on the syllabus –
architecture and advanced
packaging
• Microservice architecture
• Case study in migrating to a microservice architecture
• Containers
© Len Bass 2015
Elaborating on the syllabus –
deployment
• Designing for deployment
• Use of feature toggles
• Backward and forward compatability
• Managing schemas
© Len Bass 2015
Elaborating on the syllabus –
security
• Basic security
• Credential management
• Securing the network
• Securing the pipeline
• Securing an app
© Len Bass 2015
Elaborating on the syllabus –
monitoring
• What to monitor
• How to monitor
• Interpreting monitoring data
© Len Bass 2015
Assignments – all open source
except AWS
• VirtualBox - virtualization
• SSH – secure connection betweenVMs
• Vagrant – tool for creating and provisioning a singleVM
• Jenkins – continuous integration server
• Chef – configuration management
• Docker - containers
• AWS EC2 Container Service
• ChefVault – secure configuration management
• Nagios - monitoring
© Len Bass 2015
Topics
• What is DevOps
• Class offering
• Student knowledge shortcomings
© Len Bass 2015 29
Student knowledge shortcomings – 1
• Networking 101
• URL - > IP
• Ports
• TCP/IP
• Networking 102
• Subnets
• Firewalls
© Len Bass 2015 30
Student knowledge shortcomings – 2
• Security 101
• Certificates
• Trust
• Vulnerabilities/patching
© Len Bass 2015 31
Student knowledge shortcomings – 3
• Operations
• Deployment/rollback
• Network management
• Incident handling
© Len Bass 2015 32
Proposal
• Establish an “infrastructure” minor to the Software
Engineering degree. It could have the following courses:
• Operating systems
• Networking
• Operations/Security
• The cloud
• DevOps
© Len Bass 2015 33
Summary
• DevOps is a set of practices to
• Shorten time to deployment
• Reduce errors during deployment process
• Shorten time to respond to incidents
• A course on DevOps is attractive to students
• There are gaps in knowledge from standard
undergraduate CS or SE curricula
© Len Bass 2015 34
More information
• Textbook
• https://github.com/devopseducator/
2016workshop
• https://github.com/devopseducator/
2017workshop
© Len Bass 2015 35

Más contenido relacionado

La actualidad más candente

Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Denim Group
 
Connect Ops and Security with Flexible Web App and API Protection
Connect Ops and Security with Flexible Web App and API ProtectionConnect Ops and Security with Flexible Web App and API Protection
Connect Ops and Security with Flexible Web App and API Protection
DevOps.com
 
LV Dev Efficiency NIDays 2015
LV Dev Efficiency NIDays 2015LV Dev Efficiency NIDays 2015
LV Dev Efficiency NIDays 2015
Jeffrey Habets
 

La actualidad más candente (20)

Flight East 2018 Presentation–Continuous Integration––An Overview
Flight East 2018 Presentation–Continuous Integration––An OverviewFlight East 2018 Presentation–Continuous Integration––An Overview
Flight East 2018 Presentation–Continuous Integration––An Overview
 
Flight East 2018 Presentation–A DevOps State of Mind: Continuous Security wit...
Flight East 2018 Presentation–A DevOps State of Mind: Continuous Security wit...Flight East 2018 Presentation–A DevOps State of Mind: Continuous Security wit...
Flight East 2018 Presentation–A DevOps State of Mind: Continuous Security wit...
 
Flight East 2018 Presentation–Black Duck at Docusign
Flight East 2018 Presentation–Black Duck at DocusignFlight East 2018 Presentation–Black Duck at Docusign
Flight East 2018 Presentation–Black Duck at Docusign
 
Security Implications for a DevOps Transformation
Security Implications for a DevOps TransformationSecurity Implications for a DevOps Transformation
Security Implications for a DevOps Transformation
 
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
 
How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks
 
PKI in DevOps: How to Deploy Certificate Automation within CI/CD
PKI in DevOps: How to Deploy Certificate Automation within CI/CDPKI in DevOps: How to Deploy Certificate Automation within CI/CD
PKI in DevOps: How to Deploy Certificate Automation within CI/CD
 
TechTalk 2021: Peran IT Security dalam Penerapan DevOps
TechTalk 2021: Peran IT Security dalam Penerapan DevOpsTechTalk 2021: Peran IT Security dalam Penerapan DevOps
TechTalk 2021: Peran IT Security dalam Penerapan DevOps
 
Code Quality - Security
Code Quality - SecurityCode Quality - Security
Code Quality - Security
 
Connect Ops and Security with Flexible Web App and API Protection
Connect Ops and Security with Flexible Web App and API ProtectionConnect Ops and Security with Flexible Web App and API Protection
Connect Ops and Security with Flexible Web App and API Protection
 
Perforce on Tour 2015 - Optimising the Developer Pipeline at U-Blox
Perforce on Tour 2015 - Optimising the Developer Pipeline at U-BloxPerforce on Tour 2015 - Optimising the Developer Pipeline at U-Blox
Perforce on Tour 2015 - Optimising the Developer Pipeline at U-Blox
 
Integrating security into Continuous Delivery
Integrating security into Continuous DeliveryIntegrating security into Continuous Delivery
Integrating security into Continuous Delivery
 
DSOMM
DSOMMDSOMM
DSOMM
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICD
 
Preparing for DevOps
Preparing for DevOpsPreparing for DevOps
Preparing for DevOps
 
Optimizing Security Velocity in Your DevSecOps Pipeline at Scale
Optimizing Security Velocity in Your DevSecOps Pipeline at ScaleOptimizing Security Velocity in Your DevSecOps Pipeline at Scale
Optimizing Security Velocity in Your DevSecOps Pipeline at Scale
 
Better Security Testing: Using the Cloud and Continuous Delivery
Better Security Testing: Using the Cloud and Continuous DeliveryBetter Security Testing: Using the Cloud and Continuous Delivery
Better Security Testing: Using the Cloud and Continuous Delivery
 
LV Dev Efficiency NIDays 2015
LV Dev Efficiency NIDays 2015LV Dev Efficiency NIDays 2015
LV Dev Efficiency NIDays 2015
 
Conquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOpsConquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOps
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
 

Similar a Experience in teaching devops

Training Bootcamp - MainframeDevOps.pptx
Training Bootcamp - MainframeDevOps.pptxTraining Bootcamp - MainframeDevOps.pptx
Training Bootcamp - MainframeDevOps.pptx
Nashet Ali
 

Similar a Experience in teaching devops (20)

Dg-DevOps_seminar.pptx
Dg-DevOps_seminar.pptxDg-DevOps_seminar.pptx
Dg-DevOps_seminar.pptx
 
Devops
DevopsDevops
Devops
 
Melhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na NuvemMelhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na Nuvem
 
Introduction to devops
Introduction to devopsIntroduction to devops
Introduction to devops
 
Dev ops
Dev opsDev ops
Dev ops
 
Why kubernetes matters
Why kubernetes mattersWhy kubernetes matters
Why kubernetes matters
 
Training Bootcamp - MainframeDevOps.pptx
Training Bootcamp - MainframeDevOps.pptxTraining Bootcamp - MainframeDevOps.pptx
Training Bootcamp - MainframeDevOps.pptx
 
intro to DevOps
intro to DevOpsintro to DevOps
intro to DevOps
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
 
Warsaw MuleSoft Meetup #6 - CI/CD
Warsaw MuleSoft Meetup  #6 - CI/CDWarsaw MuleSoft Meetup  #6 - CI/CD
Warsaw MuleSoft Meetup #6 - CI/CD
 
Patterns and Practices of a Successful DevOps Transformation
Patterns and Practices of a Successful DevOps TransformationPatterns and Practices of a Successful DevOps Transformation
Patterns and Practices of a Successful DevOps Transformation
 
Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017
 
Back To Basics
Back To BasicsBack To Basics
Back To Basics
 
Dev ops using Jenkins
Dev ops using JenkinsDev ops using Jenkins
Dev ops using Jenkins
 
My personal story from azure it pro to azure dev ops
My personal story from azure it pro to azure dev opsMy personal story from azure it pro to azure dev ops
My personal story from azure it pro to azure dev ops
 
OpenStack Enabling DevOps
OpenStack Enabling DevOpsOpenStack Enabling DevOps
OpenStack Enabling DevOps
 
Cloud Native Engineering with SRE and GitOps
Cloud Native Engineering with SRE and GitOpsCloud Native Engineering with SRE and GitOps
Cloud Native Engineering with SRE and GitOps
 
26.1a.Introduction to DEVOPS_v2.pptx
26.1a.Introduction to DEVOPS_v2.pptx26.1a.Introduction to DEVOPS_v2.pptx
26.1a.Introduction to DEVOPS_v2.pptx
 
DevOps Training institute in Ameerpet
DevOps Training institute in Ameerpet DevOps Training institute in Ameerpet
DevOps Training institute in Ameerpet
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
 

Más de Len Bass

Más de Len Bass (20)

11 secure development
11  secure development 11  secure development
11 secure development
 
10 disaster recovery
10 disaster recovery  10 disaster recovery
10 disaster recovery
 
9 postproduction
9 postproduction 9 postproduction
9 postproduction
 
8 pipeline
8 pipeline 8 pipeline
8 pipeline
 
7 configuration management
7 configuration management 7 configuration management
7 configuration management
 
6 microservice architecture
6 microservice architecture6 microservice architecture
6 microservice architecture
 
5 infrastructure security
5 infrastructure security5 infrastructure security
5 infrastructure security
 
4 container management
4  container management4  container management
4 container management
 
3 the cloud
3 the cloud 3 the cloud
3 the cloud
 
1 virtual machines
1 virtual machines1 virtual machines
1 virtual machines
 
2 networking
2 networking2 networking
2 networking
 
Quantum talk
Quantum talkQuantum talk
Quantum talk
 
Icsa2018 blockchain tutorial
Icsa2018 blockchain tutorialIcsa2018 blockchain tutorial
Icsa2018 blockchain tutorial
 
Understanding blockchains
Understanding blockchainsUnderstanding blockchains
Understanding blockchains
 
What is a blockchain
What is a blockchainWhat is a blockchain
What is a blockchain
 
Architecture for the cloud deployment case study future
Architecture for the cloud deployment case study futureArchitecture for the cloud deployment case study future
Architecture for the cloud deployment case study future
 
Architecting for the cloud cloud providers
Architecting for the cloud cloud providersArchitecting for the cloud cloud providers
Architecting for the cloud cloud providers
 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build test
 
Architecting for the cloud map reduce creating
Architecting for the cloud   map reduce creatingArchitecting for the cloud   map reduce creating
Architecting for the cloud map reduce creating
 
Architecting for the cloud storage misc topics
Architecting for the cloud storage misc topicsArchitecting for the cloud storage misc topics
Architecting for the cloud storage misc topics
 

Último

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 

Último (20)

8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 

Experience in teaching devops

  • 2. Topics • What is DevOps • Class offering • Student knowledge shortcomings © Len Bass 2015 2
  • 3. Over the wall development copyright 2015 Len Bass 3 Board has idea Developers implement Operators place in production Time
  • 4. Where Does theTime Go? • As Software Engineers our view is that there are the following activities in software development • Requirements • Design • Implementation • Test • Code Complete • Different methodologies will organize these activities in different ways. • Agile focuses on getting to Code Complete faster than with other methods. 4 Developers implement copyright 2015 Len Bass
  • 5. What is wrong? •Code Complete Code in Production •Between the completion of the code and the placing of the code into production is a step called: Deployment •Deploying completed code can be very time consuming because of concern about errors that could occur. 5copyright 2015 Len Bass
  • 6. What is the work flow for code from a multiteam development effort • You develop and test your code in isolation • Your code is integrated with code developed by other teams to see if an executable can be constructed. • The built system is tested for correctness • The built system is tested for performance and other qualities (staging) • The built system is placed into production copyright 2015 Len Bass 6
  • 7. Errors can occur at every stage • Every error must either be corrected or prevented. • Preventing errors can be done through some combination of • Process • Architecture • Tooling • Coordination among teams. • Coordination takes time. • Correcting errors takes time © Len Bass 2015 7
  • 8. How much time? • Historically, releases are scheduled for once a quarter or once a year to give time to coordinate and adequately test. • This means there may be months delay before a new concept or feature is added to a system. • This delay has become more and more unacceptable. • Weekly or daily releases are becoming the norm. copyright 2015 Len Bass 8
  • 9. Goal of DevOps • The goal of DevOps is to reduce the time to market without compromising quality by • Reducing errors during deployment • Speeding up incident handling after deployment • Speeding up deployment copyright 2015 Len Bass 9
  • 10. Example for reducing errors during deployment • Use microservice architecture • Each team makes its own choices of technology for the service it is developing • Avoids inconsistencies in versions and technology choices that are discovered during deployment process © Len Bass 2015 10
  • 11. Example for speeding up incident handling • Developers carry pagers and are the first respondents to an incident • When an incident occurs developers do not need to wait for the incident to be escalated through a ticketing system • Gives developers cradle to grave responsibility for a service © Len Bass 2015 11
  • 12. Example for speeding up Deployment (Deployment pipeline) • Developer creates and tests code on local machine. • Checks code into a version control system • Continuous integration server (CI) builds the system and runs a series of integration tests. • After passing the tests, the system is promoted to a staging environment where it undergoes more tests including performance, security, and user acceptance tests. • After passing those tests, the system is promoted to provisional production where it undergoes even more tests. copyright 2016 Len Bass 12 Pre-commit tests X Build Image and Perform Integration tests UAT / staging / performance tests Deploy to production Commit ... Pre-commit tests Commit Developers promote to normal production
  • 13. Just to summarize • Placing a system into production can be error prone and time consuming • Supporting a system after it gets into production can be time consuming and error prone • DevOps is a set of practices intended to speed up placing a robust system into production © Len Bass 2015 13
  • 14. Topics • What is DevOps • Class offering • Student knowledge shortcomings © Len Bass 2015 14
  • 15. Context for DevOps course • I teach a DevOps course as a portion of the CMU MSE professional master’s program • Students are graduate students at CMU. Some have industrial experience, some right out of undergraduate school • Currently in the fourth offering of the course © Len Bass 2015
  • 16. Course structure • Half theory • Lectures on video to be seen prior to class • Textbook and other readings • In class discussion about lectures and readings • Half assignments • Assignments involve a variety of open source tools • Evaluation based on theory and assignments © Len Bass 2015
  • 17. Discussion examples • What was your takeaway from the videos and readings? • Each student is called on • Generate a design of a relevant tool, e.g. Continuous Integration server • Done in groups • Time in discussion matches time in video • Balances out of class reading/video with inclass time spent discussing © Len Bass 2015
  • 18. Assignment • Sample assignment: • Create two virtual machines • Install SSH so that one machine can securely connect to another without being prompted for a password • One page discussion: Discuss the pluses and minuses of having “known hosts” in SSH • Each assignment takes roughly half a day © Len Bass 2015 18
  • 19. Syllabus • You can retrieve the syllabus from https://github.com/devopseducator/2016workshop © Len Bass 2015
  • 20. Major topics • DevOps overview • Networking • Cloud • Deployment pipeline • Architecture • Deployment • Security • Monitoring © Len Bass 2015 20
  • 21. Elaborating on the syllabus - networking • it is amazing what Masters students in CS at CMU do not know. A reflection of their undergraduate curriculum. • Virtualization • Virtual machines • Virtual machine images • Networks • IP addresses • DNS servers andTTL (time to live) • Ports • Load Balancers © Len Bass 2015
  • 22. Elaborating on the syllabus – cloud • Failures in the cloud • Distributed coordination – Zookeeper, Consul • Scalability © Len Bass 2015
  • 23. Deployment pipeline • Introduction to a deployment pipeline • What are the roles and responsibilities of various teams with respect to the pipeline • Case study in business continuity • Environments of the pipeline in more detail with types of tests • Development • Build • Staging • Production • Case study of company that sets up continuous deployment pipelines © Len Bass 2015
  • 24. Elaborating on the syllabus – architecture and advanced packaging • Microservice architecture • Case study in migrating to a microservice architecture • Containers © Len Bass 2015
  • 25. Elaborating on the syllabus – deployment • Designing for deployment • Use of feature toggles • Backward and forward compatability • Managing schemas © Len Bass 2015
  • 26. Elaborating on the syllabus – security • Basic security • Credential management • Securing the network • Securing the pipeline • Securing an app © Len Bass 2015
  • 27. Elaborating on the syllabus – monitoring • What to monitor • How to monitor • Interpreting monitoring data © Len Bass 2015
  • 28. Assignments – all open source except AWS • VirtualBox - virtualization • SSH – secure connection betweenVMs • Vagrant – tool for creating and provisioning a singleVM • Jenkins – continuous integration server • Chef – configuration management • Docker - containers • AWS EC2 Container Service • ChefVault – secure configuration management • Nagios - monitoring © Len Bass 2015
  • 29. Topics • What is DevOps • Class offering • Student knowledge shortcomings © Len Bass 2015 29
  • 30. Student knowledge shortcomings – 1 • Networking 101 • URL - > IP • Ports • TCP/IP • Networking 102 • Subnets • Firewalls © Len Bass 2015 30
  • 31. Student knowledge shortcomings – 2 • Security 101 • Certificates • Trust • Vulnerabilities/patching © Len Bass 2015 31
  • 32. Student knowledge shortcomings – 3 • Operations • Deployment/rollback • Network management • Incident handling © Len Bass 2015 32
  • 33. Proposal • Establish an “infrastructure” minor to the Software Engineering degree. It could have the following courses: • Operating systems • Networking • Operations/Security • The cloud • DevOps © Len Bass 2015 33
  • 34. Summary • DevOps is a set of practices to • Shorten time to deployment • Reduce errors during deployment process • Shorten time to respond to incidents • A course on DevOps is attractive to students • There are gaps in knowledge from standard undergraduate CS or SE curricula © Len Bass 2015 34
  • 35. More information • Textbook • https://github.com/devopseducator/ 2016workshop • https://github.com/devopseducator/ 2017workshop © Len Bass 2015 35