SlideShare a Scribd company logo
1 of 42
Download to read offline
DevOps and Safety
Critical Systems
LEN BASS
Overview
 DevOps: What and why
 Architecting for Continuous Deployment
 Basis for Partial Continuous Deployment
 Partial Continuous Deployment
copyright 2015 Len Bass
Is DevOps for you?
 DevOps is a set of practices intended to reduce
the time to market for new features.
 Question: How much are you willing to pay to
reduce the time to market for your systems?
 Installing DevOps practices takes time and
people.
copyright 2015 Len Bass
Partial Continuous Deployment
 I will propose something I am calling “partial
continuous deployment”. It involves
 Rearchitecting an existing system
 Utilizing formal methods to verify the isolation
of safety critical portions.
 Convincing yourself and regulators the system
is as safe as existing systems.
copyright 2015 Len Bass
Traditional development
Board or
marketing
has idea
Developers
implement
Operators place
in production
Time
 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.
Where Does the Time Go?
6
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.
7
copyright 2015 Len Bass
Deployment pipeline - build
 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.
copyright 2016 Len Bass
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
Deployment pipeline – staging
and production
 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 staging tests, the system is
promoted to provisional production where it
undergoes even more tests.
 The system is finally promoted to normal
production but the tests do not necessarily
stop.
© Len Bass
2015
Errors can be discovered at any stage
in the pipeline
 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
copyright 2015 Len Bass
Goal of DevOps
 The goal of DevOps is to reduce the time to
market without compromising quality by
 Reducing the number of errors that occur
during the placing of your code into
production
 Reducing the time for correcting errors that
occur
 Minimizing the necessity for coordination
among teams
copyright 2015 Len Bass
DevOps is a set of practices intended to reduce the time
between committing a change to a system and the change
being placed into normal production, while ensuring high
quality.*
 DevOps practices involve developers and operators’
processes, architectures, and tools.
 DevOps is also a movement – like agile
*DevOps: A Software Architect’s Perspective
What is DevOps?
12TEAR DOWN THAT
WALL!!
Categories of DevOps Practices
1. Make Dev more responsible for incident handling
2. Enforce deployment practices uniformly across both dev
and ops
3. Use continuous deployment
4. Develop infrastructure code using same processes as
application code
13
copyright 2015 Len Bass
Overview
 DevOps: What and why
 Architecting for Continuous Deployment
 Basis for Partial Continuous Deployment
 Partial Continuous Deployment
copyright 2015 Len Bass
Goal of Continuous Deployment
 Allow developers to deploy to production
without the necessity for coordination. I.e. an
individual commit can go into production
regardless of the state of other development
activities.
 All tests are automated and system is promoted
from one stage to another in the deployment
pipeline when it passes test.
copyright 2015 Len Bass
Application to safety critical systems
 Automated testing is inadequate for safety
critical systems.
 Proposal: Only manually test the safety critical
portions of the system. Other portions can have
automated testing. Safety critical portions are a
small percentage of total system
copyright 2015 Len Bass
Wait just a minute!!
 Question: How can you be sure that non safety
critical portions do not have an impact on the
safety critical portions?
 Answer: I will get to that.
copyright 2015 Len Bass
Architecting for continuous
deployment
 Base your system on “microservice architecture” style.
 A microservice architecture is
 A collection of independently deployable processes
 Packaged as services
 Communicating only via messages
 It is a stripped down version of Service Oriented
Architecture (SOA)
copyright 2015 Len Bass
~2002 Amazon instituted the
following design rules - 1
 All teams will henceforth expose their data
and functionality through service interfaces.
 Teams must communicate with each other
through these interfaces.
 There will be no other form of inter-process
communication allowed: no direct linking, no
direct reads of another team’s data store, no
shared-memory model, no back-doors
whatsoever. The only communication
allowed is via service interface calls over the
network.
19
Amazon design rules - 2
 It doesn’t matter what technology they[services] use.
 All service interfaces, without exception, must be
designed from the ground up to be externalizable.
 Amazon is providing the specifications for the
“Microservice Architecture”.
20
In Addition
 Amazon has a “two pizza” rule.
 No team should be larger than can be fed with two pizzas (~7
members).
 Each (micro) service is the responsibility
of one team
 This means that microservices are
small and intra team bandwidth
is high
 Large systems are made up of many microservices.
 There may be as many as 140 in a typical Amazon page.21
Micro service architecture
22
Service
 Each user request is satisfied by some
sequence of services.
 Most services are not externally
available.
 Each service communicates with
other services through service
interfaces.
 Service depth may
– Shallow (large fan out)
– Deep (small fan out, more
dependent services)
How does Microservice Architecture
reduce requirements for coordination?
 Coordination decisions can be made
 incrementally as system evolves or
 be built into the architecture.
 Microservice architecture builds most coordination
decisions into architecture
 Consequently they only need to be made once for a
system, not once per release.
copyright 2015 Len Bass
Is Microservice Architecture sufficient
for continuous deployment?
 No. There are other architectural techniques that should
be used.
 See http://www.slideshare.net/lenbass/deployability for
more information
copyright 2015 Len Bass
Overview
 DevOps: What and why
 Architecting for Continuous Deployment
 Basis for Partial Continuous Deployment
 Partial Continuous Deployment
copyright 2015 Len Bass
Partial Continuous Deployment
 Identify and isolate safety critical portions of an
architecture
 Use continuous deployment for non safety
critical portions
 Use traditional testing methods for safety critical
portions
copyright 2015 Len Bass
Based on two past efforts
 Smart Grid security controls
 Hardening the deployment pipeline
copyright 2015 Len Bass
Smart Grid Security Controls
 ASAP SG was a public private effort to accelerate the
adoption of security for smart grid technologies.
 50% government – SEI, Oak Ridge National Lab
 50% private – American Electric Power, Consumers
Energy, Florida Power & Light, Southern California
Edison
 Operated under the auspices of UCA International Users
Group
copyright 2015 Len Bass
ASAP SG output
 ASAP produced “security profiles” for various portions of the
Smart Grid.
 The process was
 Produce a logical architecture through identifying
 Roles within the system
 Use cases
 Communication topology
 Use this logical architecture to identify controls to mitigate
vulnerabilities
 Process documented in
http://osgug.ucaiug.org/utilisec/Shared%20Documents/Secu
rity%20Profile%20Blueprint/Security_Profile_Blueprint_-_v1_0_-
_20101006.pdf
copyright 2015 Len Bass
Wide Area Management and Control
Communications Topology
copyright 2015 Len Bass
Application to partial continuous
deployment
 Observe that in the communications topology
there is no discussion of electric functions, billing
function, or most of the functions of the system.
 The focus is on places where security might be
compromised.
 In partial continuous deployment, there is a a
step to identify a logical architecture that has
roles with safety critical functions.
copyright 2015 Len Bass
Hardening Deployment Pipeline
 PhD research of Paul Rimba who received his PhD
(Building High Assurance Secure Applications using
Security Patterns for Capability-based Platforms) from Univ
New South Wales in 2016
 He examined the Jenkins build server from the perspective
of security
 This work reported in
https://www.computer.org/csdl/proceedings/releng/2015
/7070/00/7070a004-abs.html
copyright 2015 Len Bass
Process for hardening Jenkins
1. Identify security requirements
2. Create logical architecture
3. Use model checking to identify which components must
be trustworthy from a security perspective
4. Can these components really be trusted
1. Yes. – Done
2. No. – refactor these components into smaller pieces.
5. Repeat from step 3.
copyright 2015 Len Bass
Output of process
 Set of components that deserve to be trusted
 Verification that with these trusted components, the
architecture is, in fact, secure.
 Hardened Jenkins architecture
copyright 2015 Len Bass
AWS OpsWorks
Pull application
source code from
repository
Deploy image to
Testing/
Production
environment on
AWS OpsWorks
Pull image from
Image storage,
verify image
checksum
a) Testing
Environment:
Run application
testsBuild application
artifacts
Build Image
containing
application and
its dependencies
Verify image
creation,
compute image
checksum
Push image to
Image storage
Application
code
repository
(GitHub)
Image
storage
(Amazon S3)
Artifact Builder
Image Builder Image Verifier Image Archiver
Run Chef recipe
to deploy image
to OpsWorks VM
instances
b) Production
Environment:
App start
serving requests
All tests
passed?
Application
code
committed
to repository
New app version
deployed
to production
Deploy
to?
Infrastructure-as-Code repository
(GitHub)
Image
specifications
Opscode Chef
Recipes
Run unit tests on
source code
Trigger each step
of build sequence
Code RetrieverOrchestrator Unit Tester
Deployer
Trustedenvironment
Untrustedenvironment
Operator
notified
about
test
failure No
Yes
Application to partial continuous
deployment
 Explicit identification of security requirements
 Use of model checking to identify trustworthy
components
 Determination of whether trustworthy
components should be trusted.
copyright 2015 Len Bass
Overview
 DevOps: What and why
 Architecting for Continuous Deployment
 Basis for Partial Continuous Deployment
 Partial Continuous Deployment
copyright 2015 Len Bass
Partial Continuous Deployment
Process
1. Explicitly state safety requirements. E.g. through FMEA
2. Create logical architecture for target system
3. Use model checking of architecture to identify
components that must be safe for system to be safe.
4. Refactor architecture until safe components are
“sufficiently small”
5. Use continuous deployment for components that may
be unsafe
6. Test safe components in normal fashion.
copyright 2015 Len Bass
Caveat
 Partial continuous deployment is a proposal.
 It has never been tested or implemented
copyright 2015 Len Bass
Gates to implementation (technical)
1. Choose existing system to replicate
2. Make explicit safety requirements
3. Create logical architecture for existing system
4. Model check logical architecture to determine components that are
required to be safe
5. Refine these components until they are as small as possible.
6. Refactor small number of remaining components into microservice
architecture
7. Create test cases for components that are not required to be safe
8. Set up deployment pipeline
9. Implement modified components
10. Manually test components that are required to be safe
copyright 2015 Len Bass
Gates to implementation (non-
technical)
 Convince regulators that dividing architecture
into one portion required to be safe and
another portion not required to be safe is viable
strategy
 Run test system in parallel with actual system in
order to track problems and compare behavior.
copyright 2015 Len Bass
Summary
 DevOps is a set of practices intended to reduce
time to market
 Continuous deployment is one such practice
 Partial continuous deployment is a proposal to
adapt continuous deployment to safety critical
systems
 The path to production of partial continuous
deployment requires convincing regulators of
safety of resulting system.
copyright 2015 Len Bass
More Information
Contact lenbass@cmu.edu
DevOps: A Software Architect’s
Perspective is available from your
favorite bookseller
42

More Related Content

What's hot

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...Synopsys Software Integrity Group
 
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 Ulf Mattsson
 
CI/CD Overview
CI/CD OverviewCI/CD Overview
CI/CD OverviewAn Nguyen
 
Preparing for DevOps
Preparing for DevOpsPreparing for DevOps
Preparing for DevOpsEklove Mohan
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICDKnoldus Inc.
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOpsEklove Mohan
 
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...Sauce Labs
 
Scaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBeesScaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBeesDeborah Schalm
 
Dev ops tutorial for beginners what is devops & devops tools
Dev ops tutorial for beginners what is devops & devops toolsDev ops tutorial for beginners what is devops & devops tools
Dev ops tutorial for beginners what is devops & devops toolsJanBask Training
 
Innovation in Action - #MFSummit2017
Innovation in Action - #MFSummit2017Innovation in Action - #MFSummit2017
Innovation in Action - #MFSummit2017Micro Focus
 
Jenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous DeliveryJenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous DeliveryVirendra Bhalothia
 
Building a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containersBuilding a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containersAmazon Web Services
 
Database continuous integration, unit test and functional test
Database continuous integration, unit test and functional testDatabase continuous integration, unit test and functional test
Database continuous integration, unit test and functional testHarry Zheng
 
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 DeliveryGene Gotimer
 
Enterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsEnterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsCollabNet
 
Continuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentContinuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentChristopher Read
 

What's hot (20)

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...
 
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
 
Devops
DevopsDevops
Devops
 
CI/CD Overview
CI/CD OverviewCI/CD Overview
CI/CD Overview
 
Preparing for DevOps
Preparing for DevOpsPreparing for DevOps
Preparing for DevOps
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICD
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
 
How to Build a DevOps Toolchain
How to Build a DevOps ToolchainHow to Build a DevOps Toolchain
How to Build a DevOps Toolchain
 
Devops architecture
Devops architectureDevops architecture
Devops architecture
 
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
 
Scaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBeesScaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBees
 
Dev ops tutorial for beginners what is devops & devops tools
Dev ops tutorial for beginners what is devops & devops toolsDev ops tutorial for beginners what is devops & devops tools
Dev ops tutorial for beginners what is devops & devops tools
 
Innovation in Action - #MFSummit2017
Innovation in Action - #MFSummit2017Innovation in Action - #MFSummit2017
Innovation in Action - #MFSummit2017
 
Jenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous DeliveryJenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous Delivery
 
Building a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containersBuilding a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containers
 
Database continuous integration, unit test and functional test
Database continuous integration, unit test and functional testDatabase continuous integration, unit test and functional test
Database continuous integration, unit test and functional test
 
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
 
Enterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsEnterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using Jenkins
 
CI/CD
CI/CDCI/CD
CI/CD
 
Continuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentContinuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous Deployment
 

Viewers also liked

Refactoring for Software Architecture Smells - International Workshop on Refa...
Refactoring for Software Architecture Smells - International Workshop on Refa...Refactoring for Software Architecture Smells - International Workshop on Refa...
Refactoring for Software Architecture Smells - International Workshop on Refa...Ganesh Samarthyam
 
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 futureLen Bass
 
Cloud Security At Netflix, October 2013
Cloud Security At Netflix, October 2013Cloud Security At Netflix, October 2013
Cloud Security At Netflix, October 2013Jay Zarfoss
 
From Code to the Monkeys: Continuous Delivery at Netflix
From Code to the Monkeys: Continuous Delivery at NetflixFrom Code to the Monkeys: Continuous Delivery at Netflix
From Code to the Monkeys: Continuous Delivery at NetflixDianne Marsh
 
Practical Security Automation
Practical Security AutomationPractical Security Automation
Practical Security AutomationJason Chan
 
Release the Monkeys ! Testing in the Wild at Netflix
Release the Monkeys !  Testing in the Wild at NetflixRelease the Monkeys !  Testing in the Wild at Netflix
Release the Monkeys ! Testing in the Wild at NetflixGareth Bowles
 
Netflix: A State of Xen - Chaos Monkey & Cassandra
Netflix: A State of Xen - Chaos Monkey & CassandraNetflix: A State of Xen - Chaos Monkey & Cassandra
Netflix: A State of Xen - Chaos Monkey & CassandraDataStax Academy
 
Intro to Netflix's Chaos Monkey
Intro to Netflix's Chaos MonkeyIntro to Netflix's Chaos Monkey
Intro to Netflix's Chaos MonkeyMichael Whitehead
 
Netflix security monkey overview
Netflix security monkey overviewNetflix security monkey overview
Netflix security monkey overviewRyan Hodgin
 
Devops at Netflix (re:Invent)
Devops at Netflix (re:Invent)Devops at Netflix (re:Invent)
Devops at Netflix (re:Invent)Jeremy Edberg
 
Antifragile, Microservices and DevOps - A Study
Antifragile, Microservices and DevOps - A StudyAntifragile, Microservices and DevOps - A Study
Antifragile, Microservices and DevOps - A StudyWilliam Yang
 
ARC301 Intro to Chaos Monkey & the Simian Army - AWS re: Invent 2012
ARC301 Intro to Chaos Monkey & the Simian Army - AWS re: Invent 2012ARC301 Intro to Chaos Monkey & the Simian Army - AWS re: Invent 2012
ARC301 Intro to Chaos Monkey & the Simian Army - AWS re: Invent 2012Amazon Web Services
 
Principles of software architecture design
Principles of software architecture designPrinciples of software architecture design
Principles of software architecture designLen Bass
 
Igor Popov: Mutation Testing at I T.A.K.E. Unconference 2015
Igor Popov: Mutation Testing at I T.A.K.E. Unconference 2015Igor Popov: Mutation Testing at I T.A.K.E. Unconference 2015
Igor Popov: Mutation Testing at I T.A.K.E. Unconference 2015Mozaic Works
 

Viewers also liked (18)

Refactoring for Software Architecture Smells - International Workshop on Refa...
Refactoring for Software Architecture Smells - International Workshop on Refa...Refactoring for Software Architecture Smells - International Workshop on Refa...
Refactoring for Software Architecture Smells - International Workshop on Refa...
 
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
 
presentation-chaos-monkey
presentation-chaos-monkeypresentation-chaos-monkey
presentation-chaos-monkey
 
Cloud Security At Netflix, October 2013
Cloud Security At Netflix, October 2013Cloud Security At Netflix, October 2013
Cloud Security At Netflix, October 2013
 
From Code to the Monkeys: Continuous Delivery at Netflix
From Code to the Monkeys: Continuous Delivery at NetflixFrom Code to the Monkeys: Continuous Delivery at Netflix
From Code to the Monkeys: Continuous Delivery at Netflix
 
Practical Security Automation
Practical Security AutomationPractical Security Automation
Practical Security Automation
 
Release the Monkeys ! Testing in the Wild at Netflix
Release the Monkeys !  Testing in the Wild at NetflixRelease the Monkeys !  Testing in the Wild at Netflix
Release the Monkeys ! Testing in the Wild at Netflix
 
Netflix: A State of Xen - Chaos Monkey & Cassandra
Netflix: A State of Xen - Chaos Monkey & CassandraNetflix: A State of Xen - Chaos Monkey & Cassandra
Netflix: A State of Xen - Chaos Monkey & Cassandra
 
Intro to Netflix's Chaos Monkey
Intro to Netflix's Chaos MonkeyIntro to Netflix's Chaos Monkey
Intro to Netflix's Chaos Monkey
 
Netflix security monkey overview
Netflix security monkey overviewNetflix security monkey overview
Netflix security monkey overview
 
Mini-Training: Netflix Simian Army
Mini-Training: Netflix Simian ArmyMini-Training: Netflix Simian Army
Mini-Training: Netflix Simian Army
 
Devops at Netflix (re:Invent)
Devops at Netflix (re:Invent)Devops at Netflix (re:Invent)
Devops at Netflix (re:Invent)
 
Antifragile, Microservices and DevOps - A Study
Antifragile, Microservices and DevOps - A StudyAntifragile, Microservices and DevOps - A Study
Antifragile, Microservices and DevOps - A Study
 
ARC301 Intro to Chaos Monkey & the Simian Army - AWS re: Invent 2012
ARC301 Intro to Chaos Monkey & the Simian Army - AWS re: Invent 2012ARC301 Intro to Chaos Monkey & the Simian Army - AWS re: Invent 2012
ARC301 Intro to Chaos Monkey & the Simian Army - AWS re: Invent 2012
 
Principles of software architecture design
Principles of software architecture designPrinciples of software architecture design
Principles of software architecture design
 
Igor Popov: Mutation Testing at I T.A.K.E. Unconference 2015
Igor Popov: Mutation Testing at I T.A.K.E. Unconference 2015Igor Popov: Mutation Testing at I T.A.K.E. Unconference 2015
Igor Popov: Mutation Testing at I T.A.K.E. Unconference 2015
 
Mutation testing
Mutation testingMutation testing
Mutation testing
 
Cloud security ppt
Cloud security pptCloud security ppt
Cloud security ppt
 

Similar to Dev ops and safety critical systems

DevOps culture, concepte , philosophie and practices
DevOps culture, concepte , philosophie and practicesDevOps culture, concepte , philosophie and practices
DevOps culture, concepte , philosophie and practicesayoubbahaddouayoub
 
Leveraging DevOps for Faster and Scalable Deployments - Keynote.pdf
Leveraging DevOps for Faster and Scalable Deployments -  Keynote.pdfLeveraging DevOps for Faster and Scalable Deployments -  Keynote.pdf
Leveraging DevOps for Faster and Scalable Deployments - Keynote.pdfPaschalOruche1
 
DevOps Automation: Boosting Efficiency and Productivity
DevOps Automation: Boosting Efficiency and ProductivityDevOps Automation: Boosting Efficiency and Productivity
DevOps Automation: Boosting Efficiency and ProductivityFredReynolds2
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous EverythingAndrea Tino
 
Introduction to DevOps in Cloud Computing.pptx
Introduction to DevOps in Cloud Computing.pptxIntroduction to DevOps in Cloud Computing.pptx
Introduction to DevOps in Cloud Computing.pptxLAKSHMIS553566
 
Devops Explained & Best Practices
Devops Explained & Best PracticesDevops Explained & Best Practices
Devops Explained & Best PracticesShikhaKonda
 
NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)
NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)
NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)Hui (Henry) Chen
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build AutomationHeiswayi Nrird
 
SCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPSSCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPSG R VISHAL
 
Testing in the new age of DevOps
Testing in the new age of DevOpsTesting in the new age of DevOps
Testing in the new age of DevOpsMoataz Mahmoud
 
DevOps Overview
DevOps OverviewDevOps Overview
DevOps OverviewSagar Mody
 
Scaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBeesScaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBeesDeborah Schalm
 
Scaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBeesScaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBeesDevOps.com
 
Top 3 Useful Tools for DevOps Automation -
Top 3 Useful Tools for DevOps Automation -Top 3 Useful Tools for DevOps Automation -
Top 3 Useful Tools for DevOps Automation -Urolime Technologies
 
2.What is a DevOps Environment and How Does it Function_.pdf
2.What is a DevOps Environment and How Does it Function_.pdf2.What is a DevOps Environment and How Does it Function_.pdf
2.What is a DevOps Environment and How Does it Function_.pdfBelayet Hossain
 
Mainframe Automation: A Panel Discussion
Mainframe Automation: A Panel DiscussionMainframe Automation: A Panel Discussion
Mainframe Automation: A Panel DiscussionDevOps.com
 
Continuous delivery best practices and essential tools
Continuous delivery best practices and essential toolsContinuous delivery best practices and essential tools
Continuous delivery best practices and essential toolsDBmaestro - Database DevOps
 

Similar to Dev ops and safety critical systems (20)

DevOps culture, concepte , philosophie and practices
DevOps culture, concepte , philosophie and practicesDevOps culture, concepte , philosophie and practices
DevOps culture, concepte , philosophie and practices
 
Leveraging DevOps for Faster and Scalable Deployments - Keynote.pdf
Leveraging DevOps for Faster and Scalable Deployments -  Keynote.pdfLeveraging DevOps for Faster and Scalable Deployments -  Keynote.pdf
Leveraging DevOps for Faster and Scalable Deployments - Keynote.pdf
 
DevOps Automation: Boosting Efficiency and Productivity
DevOps Automation: Boosting Efficiency and ProductivityDevOps Automation: Boosting Efficiency and Productivity
DevOps Automation: Boosting Efficiency and Productivity
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
DevOps
DevOps DevOps
DevOps
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everything
 
Introduction to DevOps in Cloud Computing.pptx
Introduction to DevOps in Cloud Computing.pptxIntroduction to DevOps in Cloud Computing.pptx
Introduction to DevOps in Cloud Computing.pptx
 
Devops Explained & Best Practices
Devops Explained & Best PracticesDevops Explained & Best Practices
Devops Explained & Best Practices
 
NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)
NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)
NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
 
SCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPSSCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPS
 
Testing in the new age of DevOps
Testing in the new age of DevOpsTesting in the new age of DevOps
Testing in the new age of DevOps
 
DevOps Overview
DevOps OverviewDevOps Overview
DevOps Overview
 
Scaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBeesScaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBees
 
Scaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBeesScaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBees
 
Top 3 Useful Tools for DevOps Automation -
Top 3 Useful Tools for DevOps Automation -Top 3 Useful Tools for DevOps Automation -
Top 3 Useful Tools for DevOps Automation -
 
2.What is a DevOps Environment and How Does it Function_.pdf
2.What is a DevOps Environment and How Does it Function_.pdf2.What is a DevOps Environment and How Does it Function_.pdf
2.What is a DevOps Environment and How Does it Function_.pdf
 
Mainframe Automation: A Panel Discussion
Mainframe Automation: A Panel DiscussionMainframe Automation: A Panel Discussion
Mainframe Automation: A Panel Discussion
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Continuous delivery best practices and essential tools
Continuous delivery best practices and essential toolsContinuous delivery best practices and essential tools
Continuous delivery best practices and essential tools
 

More from Len Bass

11 secure development
11  secure development 11  secure development
11 secure development Len Bass
 
10 disaster recovery
10 disaster recovery  10 disaster recovery
10 disaster recovery Len Bass
 
9 postproduction
9 postproduction 9 postproduction
9 postproduction Len Bass
 
8 pipeline
8 pipeline 8 pipeline
8 pipeline Len Bass
 
7 configuration management
7 configuration management 7 configuration management
7 configuration management Len Bass
 
6 microservice architecture
6 microservice architecture6 microservice architecture
6 microservice architectureLen Bass
 
5 infrastructure security
5 infrastructure security5 infrastructure security
5 infrastructure securityLen Bass
 
4 container management
4  container management4  container management
4 container managementLen Bass
 
3 the cloud
3 the cloud 3 the cloud
3 the cloud Len Bass
 
1 virtual machines
1 virtual machines1 virtual machines
1 virtual machinesLen Bass
 
2 networking
2 networking2 networking
2 networkingLen Bass
 
Quantum talk
Quantum talkQuantum talk
Quantum talkLen Bass
 
Icsa2018 blockchain tutorial
Icsa2018 blockchain tutorialIcsa2018 blockchain tutorial
Icsa2018 blockchain tutorialLen Bass
 
Understanding blockchains
Understanding blockchainsUnderstanding blockchains
Understanding blockchainsLen Bass
 
What is a blockchain
What is a blockchainWhat is a blockchain
What is a blockchainLen Bass
 
Architecting for the cloud cloud providers
Architecting for the cloud cloud providersArchitecting for the cloud cloud providers
Architecting for the cloud cloud providersLen Bass
 
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 testLen Bass
 
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 creatingLen Bass
 
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 topicsLen Bass
 
Architecting for the cloud elasticity security
Architecting for the cloud elasticity securityArchitecting for the cloud elasticity security
Architecting for the cloud elasticity securityLen Bass
 

More from 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
 
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
 
Architecting for the cloud elasticity security
Architecting for the cloud elasticity securityArchitecting for the cloud elasticity security
Architecting for the cloud elasticity security
 

Recently uploaded

Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
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...ICS
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
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 Modelsaagamshah0812
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
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.pdfkalichargn70th171
 
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...panagenda
 
+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
 
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.comFatema Valibhai
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
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 PrecisionSolGuruz
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
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 WorkerThousandEyes
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 

Recently uploaded (20)

Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
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...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
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
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
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
 
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...
 
+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...
 
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
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
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
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
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
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 

Dev ops and safety critical systems

  • 1. DevOps and Safety Critical Systems LEN BASS
  • 2. Overview  DevOps: What and why  Architecting for Continuous Deployment  Basis for Partial Continuous Deployment  Partial Continuous Deployment copyright 2015 Len Bass
  • 3. Is DevOps for you?  DevOps is a set of practices intended to reduce the time to market for new features.  Question: How much are you willing to pay to reduce the time to market for your systems?  Installing DevOps practices takes time and people. copyright 2015 Len Bass
  • 4. Partial Continuous Deployment  I will propose something I am calling “partial continuous deployment”. It involves  Rearchitecting an existing system  Utilizing formal methods to verify the isolation of safety critical portions.  Convincing yourself and regulators the system is as safe as existing systems. copyright 2015 Len Bass
  • 5. Traditional development Board or marketing has idea Developers implement Operators place in production Time
  • 6.  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. Where Does the Time Go? 6 Developers implement copyright 2015 Len Bass
  • 7. 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. 7 copyright 2015 Len Bass
  • 8. Deployment pipeline - build  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. copyright 2016 Len Bass 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
  • 9. Deployment pipeline – staging and production  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 staging tests, the system is promoted to provisional production where it undergoes even more tests.  The system is finally promoted to normal production but the tests do not necessarily stop. © Len Bass 2015
  • 10. Errors can be discovered at any stage in the pipeline  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 copyright 2015 Len Bass
  • 11. Goal of DevOps  The goal of DevOps is to reduce the time to market without compromising quality by  Reducing the number of errors that occur during the placing of your code into production  Reducing the time for correcting errors that occur  Minimizing the necessity for coordination among teams copyright 2015 Len Bass
  • 12. DevOps is a set of practices intended to reduce the time between committing a change to a system and the change being placed into normal production, while ensuring high quality.*  DevOps practices involve developers and operators’ processes, architectures, and tools.  DevOps is also a movement – like agile *DevOps: A Software Architect’s Perspective What is DevOps? 12TEAR DOWN THAT WALL!!
  • 13. Categories of DevOps Practices 1. Make Dev more responsible for incident handling 2. Enforce deployment practices uniformly across both dev and ops 3. Use continuous deployment 4. Develop infrastructure code using same processes as application code 13 copyright 2015 Len Bass
  • 14. Overview  DevOps: What and why  Architecting for Continuous Deployment  Basis for Partial Continuous Deployment  Partial Continuous Deployment copyright 2015 Len Bass
  • 15. Goal of Continuous Deployment  Allow developers to deploy to production without the necessity for coordination. I.e. an individual commit can go into production regardless of the state of other development activities.  All tests are automated and system is promoted from one stage to another in the deployment pipeline when it passes test. copyright 2015 Len Bass
  • 16. Application to safety critical systems  Automated testing is inadequate for safety critical systems.  Proposal: Only manually test the safety critical portions of the system. Other portions can have automated testing. Safety critical portions are a small percentage of total system copyright 2015 Len Bass
  • 17. Wait just a minute!!  Question: How can you be sure that non safety critical portions do not have an impact on the safety critical portions?  Answer: I will get to that. copyright 2015 Len Bass
  • 18. Architecting for continuous deployment  Base your system on “microservice architecture” style.  A microservice architecture is  A collection of independently deployable processes  Packaged as services  Communicating only via messages  It is a stripped down version of Service Oriented Architecture (SOA) copyright 2015 Len Bass
  • 19. ~2002 Amazon instituted the following design rules - 1  All teams will henceforth expose their data and functionality through service interfaces.  Teams must communicate with each other through these interfaces.  There will be no other form of inter-process communication allowed: no direct linking, no direct reads of another team’s data store, no shared-memory model, no back-doors whatsoever. The only communication allowed is via service interface calls over the network. 19
  • 20. Amazon design rules - 2  It doesn’t matter what technology they[services] use.  All service interfaces, without exception, must be designed from the ground up to be externalizable.  Amazon is providing the specifications for the “Microservice Architecture”. 20
  • 21. In Addition  Amazon has a “two pizza” rule.  No team should be larger than can be fed with two pizzas (~7 members).  Each (micro) service is the responsibility of one team  This means that microservices are small and intra team bandwidth is high  Large systems are made up of many microservices.  There may be as many as 140 in a typical Amazon page.21
  • 22. Micro service architecture 22 Service  Each user request is satisfied by some sequence of services.  Most services are not externally available.  Each service communicates with other services through service interfaces.  Service depth may – Shallow (large fan out) – Deep (small fan out, more dependent services)
  • 23. How does Microservice Architecture reduce requirements for coordination?  Coordination decisions can be made  incrementally as system evolves or  be built into the architecture.  Microservice architecture builds most coordination decisions into architecture  Consequently they only need to be made once for a system, not once per release. copyright 2015 Len Bass
  • 24. Is Microservice Architecture sufficient for continuous deployment?  No. There are other architectural techniques that should be used.  See http://www.slideshare.net/lenbass/deployability for more information copyright 2015 Len Bass
  • 25. Overview  DevOps: What and why  Architecting for Continuous Deployment  Basis for Partial Continuous Deployment  Partial Continuous Deployment copyright 2015 Len Bass
  • 26. Partial Continuous Deployment  Identify and isolate safety critical portions of an architecture  Use continuous deployment for non safety critical portions  Use traditional testing methods for safety critical portions copyright 2015 Len Bass
  • 27. Based on two past efforts  Smart Grid security controls  Hardening the deployment pipeline copyright 2015 Len Bass
  • 28. Smart Grid Security Controls  ASAP SG was a public private effort to accelerate the adoption of security for smart grid technologies.  50% government – SEI, Oak Ridge National Lab  50% private – American Electric Power, Consumers Energy, Florida Power & Light, Southern California Edison  Operated under the auspices of UCA International Users Group copyright 2015 Len Bass
  • 29. ASAP SG output  ASAP produced “security profiles” for various portions of the Smart Grid.  The process was  Produce a logical architecture through identifying  Roles within the system  Use cases  Communication topology  Use this logical architecture to identify controls to mitigate vulnerabilities  Process documented in http://osgug.ucaiug.org/utilisec/Shared%20Documents/Secu rity%20Profile%20Blueprint/Security_Profile_Blueprint_-_v1_0_- _20101006.pdf copyright 2015 Len Bass
  • 30. Wide Area Management and Control Communications Topology copyright 2015 Len Bass
  • 31. Application to partial continuous deployment  Observe that in the communications topology there is no discussion of electric functions, billing function, or most of the functions of the system.  The focus is on places where security might be compromised.  In partial continuous deployment, there is a a step to identify a logical architecture that has roles with safety critical functions. copyright 2015 Len Bass
  • 32. Hardening Deployment Pipeline  PhD research of Paul Rimba who received his PhD (Building High Assurance Secure Applications using Security Patterns for Capability-based Platforms) from Univ New South Wales in 2016  He examined the Jenkins build server from the perspective of security  This work reported in https://www.computer.org/csdl/proceedings/releng/2015 /7070/00/7070a004-abs.html copyright 2015 Len Bass
  • 33. Process for hardening Jenkins 1. Identify security requirements 2. Create logical architecture 3. Use model checking to identify which components must be trustworthy from a security perspective 4. Can these components really be trusted 1. Yes. – Done 2. No. – refactor these components into smaller pieces. 5. Repeat from step 3. copyright 2015 Len Bass
  • 34. Output of process  Set of components that deserve to be trusted  Verification that with these trusted components, the architecture is, in fact, secure.  Hardened Jenkins architecture copyright 2015 Len Bass AWS OpsWorks Pull application source code from repository Deploy image to Testing/ Production environment on AWS OpsWorks Pull image from Image storage, verify image checksum a) Testing Environment: Run application testsBuild application artifacts Build Image containing application and its dependencies Verify image creation, compute image checksum Push image to Image storage Application code repository (GitHub) Image storage (Amazon S3) Artifact Builder Image Builder Image Verifier Image Archiver Run Chef recipe to deploy image to OpsWorks VM instances b) Production Environment: App start serving requests All tests passed? Application code committed to repository New app version deployed to production Deploy to? Infrastructure-as-Code repository (GitHub) Image specifications Opscode Chef Recipes Run unit tests on source code Trigger each step of build sequence Code RetrieverOrchestrator Unit Tester Deployer Trustedenvironment Untrustedenvironment Operator notified about test failure No Yes
  • 35. Application to partial continuous deployment  Explicit identification of security requirements  Use of model checking to identify trustworthy components  Determination of whether trustworthy components should be trusted. copyright 2015 Len Bass
  • 36. Overview  DevOps: What and why  Architecting for Continuous Deployment  Basis for Partial Continuous Deployment  Partial Continuous Deployment copyright 2015 Len Bass
  • 37. Partial Continuous Deployment Process 1. Explicitly state safety requirements. E.g. through FMEA 2. Create logical architecture for target system 3. Use model checking of architecture to identify components that must be safe for system to be safe. 4. Refactor architecture until safe components are “sufficiently small” 5. Use continuous deployment for components that may be unsafe 6. Test safe components in normal fashion. copyright 2015 Len Bass
  • 38. Caveat  Partial continuous deployment is a proposal.  It has never been tested or implemented copyright 2015 Len Bass
  • 39. Gates to implementation (technical) 1. Choose existing system to replicate 2. Make explicit safety requirements 3. Create logical architecture for existing system 4. Model check logical architecture to determine components that are required to be safe 5. Refine these components until they are as small as possible. 6. Refactor small number of remaining components into microservice architecture 7. Create test cases for components that are not required to be safe 8. Set up deployment pipeline 9. Implement modified components 10. Manually test components that are required to be safe copyright 2015 Len Bass
  • 40. Gates to implementation (non- technical)  Convince regulators that dividing architecture into one portion required to be safe and another portion not required to be safe is viable strategy  Run test system in parallel with actual system in order to track problems and compare behavior. copyright 2015 Len Bass
  • 41. Summary  DevOps is a set of practices intended to reduce time to market  Continuous deployment is one such practice  Partial continuous deployment is a proposal to adapt continuous deployment to safety critical systems  The path to production of partial continuous deployment requires convincing regulators of safety of resulting system. copyright 2015 Len Bass
  • 42. More Information Contact lenbass@cmu.edu DevOps: A Software Architect’s Perspective is available from your favorite bookseller 42