Devops
Devops
Hasan Yasar
Technical Director, Adjunct Faculty Member
Software Engineering Institute | Carnegie Mellon University
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
2
2020 Carnegie Mellon University
Outline
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
3
2020 Carnegie Mellon University
Modern SW Development: DevOps
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
4
2020 Carnegie Mellon University
DevOps is a set of principles and practices emphasizing collaboration and communication
between software development teams and IT operations staff along with acquirers, suppliers,
and other stakeholders in the lifecycle of a software system
Mature DevOps practices are constantly testing, deploying and validating that software
meets every requirement and allows for fast recovery in the event of a problem. As a result
we can easily say,
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
5
2020 Carnegie Mellon University
Who are Dev?
• Operations
• Runs the application
• Manages the infrastructure
• Support the applications
• Operations provides
• Service Strategy
• Service Design
• Service Transition
• Service Operations
• Secure systems
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
7
2020 Carnegie Mellon University
DevOps aims to Increase…
…collaboration
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
8
2020 Carnegie Mellon University
DevOps has four Fundamental Principles
•Infrastructure as Code: all assets are versioned, scripted, and shared where
possible
•Monitoring: any metric in the development or operational spaces that can inform
priorities, direction, and policy
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
9
2020 Carnegie Mellon University
SW Development Phases
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
10
2020 Carnegie Mellon University
Collaboration: Many stakeholders
Collaboration: Many stakeholders
IT Operations Business Analyst
Scalability
Business Constraints
Technical Testing
Documentation Monitoring
Code Review
Data Privacy
Release
User Interface Incident response
Review
User Security Intrusion
Documentation
Detection
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
11
2020 Carnegie Mellon University
Collaboration: Silos Inhibit Collaboration and poor
communication
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
12
2020 Carnegie Mellon University
Infrastructure as Code (IaC)
A program that creates infrastructure,
Continuous integration is a process that continually merges a system’s artifacts, including source code updates and configuration
items from all stakeholders on a team, into a shared mainline to build and test the developed system.
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
14
2020 Carnegie Mellon University
Automation : Continuous Delivery / Deployment (CD)
Shift Left Operational Concerns Enforced by Continuous Delivery with parity across
various environment
Continuous delivery is a software engineering practice that allows for frequent releases of new software to
staging or various test environments through the use of automated testing.
Continuous deployment is the automated process of deploying changes to production by verifying intended
features and validations to minimize risk.
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
15
2020 Carnegie Mellon University
Integrated Development Pipeline - General
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
16
2020 Carnegie Mellon University
DevOps Stack: Exemplary DoD tool stack
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
17
2020 Carnegie Mellon University
Automation with IaC, CI, CD
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
18
2020 Carnegie Mellon University
Key Benefits of DevOps
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
19
2020 Carnegie Mellon University
DoD Specific
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
20
2020 Carnegie Mellon University
DoD Does Not Control SW Development
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
21
2020 Carnegie Mellon University
Barriers to DevSecOps
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
22
2020 Carnegie Mellon University
ATO: Authority to Operate
What is an ATO? • An AO makes a risk-based decision to
• An ATO is Authority to Operate grant an ATO for use of the system
- Authorizes the system to be placed on a • The decision has to be formalized in an
production network ATO letter
- Interface with other components within the
- An ATO letter must explicitly state the AO’s
DoD
acceptance of:
- Authorizes access by end users to
• Use of the system at the Agency at the
leverage these resources to execute
determined FIPS 199 impact level
mission
• All leveraged external services supporting
• Key staff in the ATO process the system
- AO (Authorizing Official) • Any exceptions or exclusions of the Chief
- ISSO (Information System Security Security Officer (CSO) for use at the
Officer) Agency
- Security assessor
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
23
2020 Carnegie Mellon University
Continuous ATO(cATO) is the Goal
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
24
2020 Carnegie Mellon University
cATO and DevSecOps
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
25
2020 Carnegie Mellon University
Proposed DoD Enterprise DevSecOps
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
26
2020 Carnegie Mellon University
DevOps with Security for cATO
Security from
inception to
deployment and Continuous
improvement Authorization on
with every every phases
delivery
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
27
2020 Carnegie Mellon University
AI for DevOps
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
28
2020 Carnegie Mellon University
AI For DevOps
Using ML and AI to ‘inform’ a
DevOps factory or pipeline of
notable events, usually to help
improve the process over time, or
help make decisions based on
real-time event.
Requirements:
• Monitoring each step
• Must develop models that
allow for ‘actionable’ events.
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
29
2020 Carnegie Mellon University
DevOps for AI
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
30
2020 Carnegie Mellon University
Traditional vs ML Based Approaches?
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
31
2020 Carnegie Mellon University
Code in AI System
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
32
2020 Carnegie Mellon University
More formally…
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
33
2020 Carnegie Mellon University
ML Development Cycle
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
34
2020 Carnegie Mellon University
DevOps for AI
Using DevOps concepts and
methodologies in every aspect of ML
and AI enabled software systems.
• Data curation
• Training data
• Model creation, storage
• Deployment
• Monitoring
• Re-training
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
35
2020 Carnegie Mellon University
DataOps and MLOps exist
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
36
2020 Carnegie Mellon University
Important considerations
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
37
2020 Carnegie Mellon University
AI Engineering Framework
AI Technologies Infrastructure
and Components • Data, data management, • Platform choices and transferability
• Knowledge representation and data pipelines • Tooling
• Modeling and abstraction • Scalability, performance, • Sensors and actuators
and evaluation
• Algorithms • Future architectures
• Computational resources and
• Scalability and performance
considerations (CSWaP)
• Robust component design
• Processing placement and
• Component V&V deployment, data locality
• Novelty and Uncertainty
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
38
2020 Carnegie Mellon University
Necessary DevOps Factory additions
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
39
2020 Carnegie Mellon University
DevOps for data curation
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
40
2020 Carnegie Mellon University
Data curation
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
41
2020 Carnegie Mellon University
Data curation - workflow
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
42
2020 Carnegie Mellon University
Monitoring deployed AI systems
• Include a return loop of data to the starting point of the pipeline
• Archive all ingress data to the model for future training
• Record and analyze the model’s output for functionality and integrity
• Determine if a model requires modification or re-training
• Model inputs: what data, predictions or recommendations
• Model outputs and decisions
• Model interpretability outputs
• Example: using EFK stack for monitoring and observability
• Elasticsearch: an open source search engine.
• FluentD: an open source data collector for unified logging layer.
• Kibana: an open source web UI that makes it easy to explore and visualize the data
indexed by Elasticsearch.
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
43
2020 Carnegie Mellon University
Additional guidance for an AI/ML Pipeline
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
44
2020 Carnegie Mellon University
Exemplary AI+DevSecOps implementation scenarios
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
45
2020 Carnegie Mellon University
Exemplary AI+DevSecOps implementation scenarios
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
46
2020 Carnegie Mellon University
Summary
• Use DevOps to build, deploy, and monitor systems so that a pathway exists to take
action on a ML/AI enabled system.
• These ‘actions’ could improve model performance, system security, and many other
possibilities
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
47
2020 Carnegie Mellon University
For more information…
DevOps: [Link]
DevOps Blog: [Link]
Webinar : [Link]
Podcast : [Link]
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
48
2020 Carnegie Mellon University
Thank You
Hasan Yasar
Technical Director, Adjunct Faculty Member
Continuous Deployment of Capability
hyasar@[Link]
@securelifecycle
Leveraging DevOps and DevSecOps to Accelerate AI Development and Deployment [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution.
49
2020 Carnegie Mellon University