SlideShare a Scribd company logo
Designing a DevOps
Dependency Diagram to Decide
Development Direction
LAST 2019
Hear an interesting story:
Learn something:
Get ideas:
What you’ll (hopefully) get out of this talk
DevOps = 0 → DevOps > 0
DevOps Dependencies
Planning DevOps Progression
Background: History
● 5 year old company
○ Produces SaaS Project Management Software
● Development outsourced
○ Insourcing development (owning core IP)
● Moving from startup to scaleup
○ Industrialisation
Background: Strengths and Weaknesses
Strengths
Company
● Product validated in the market
○ Multiple customers who are strong
advocates of the product
● Positive culture
○ Ego-less, highly experienced, willing to
listen
● Committed and willing to invest in
development
Development
● Using git
● Have some unit tests
● Have extensive functional tests
● Scripts to manage deployment
Weaknesses
Company
● Nobody in the company has any Software
Product Development experience
● Communication difficulties to Vietnam, so
require very prescriptive requirements
Development
A bit more extensive...
Background: Weaknesses (Development)
● Git: Unmanageable and divergent branching
● Testing
○ No CI
○ Unit tests: run once a month. Don’t all pass
○ Functional tests: 30% fail rate (i.e. useless)
● Deployment
○ Snowflake servers (no IaC)
○ Changes are run directly on production
○ Each environment has completely different
script, and it changes each release
○ Deployments: SSH to prod, git pull, restart
apache
● No monitoring or alerting
● Code:
○ General quality / maintainability
○ DRY = DO Repeat Yourself
Git branching strategy
Background: Challenges
● Transition from outsourced to insourced
○ Knowledge transfer difficult with communication barrier
● Commitments requiring premature maturity
○ AWS Well Architected Review
■ Requires autoscaling
○ SOC2
● Company full of Project Managers (need a plan)
● No experience with software development
○ E.g. Currently have a linear view of software development (no understanding of dependencies)
● Monolith Architecture
● Multiple production environments
Background: Challenges: SOC2
● SOC2: Service and Organization Controls
○ Provide an organization a way to demonstrate that security practices are in place and
operating effectively
● Some SOC2 Controls relating to development
○ Security: E.g.
■ Pen testing
■ Vulnerability scanning
■ Intrusion detection
■ Security incident analysis
○ Change Control: E.g.
■ Minimal admin access
■ Configuration monitoring
■ Segregation of duties (dev from ops)
■ Strict approval and Change Management process
Idea: design a DevOps dependency diagram
Different areas of Devops. E.g.
● Build automation
● Testing
● Deployment
● End-to-end testing
● Monitoring
● Infrastructure
● Configuration management
● Reporting
● etc
Automated
build
framework
Tasks with dependencies. E.g.
Unit tests run
automatically
Continuous
Integration
Continuous
Integration
Milestones. E.g.
Continuous
Deployment
What we did
Full version is here:
https://drive.google.com/file/d/1zJRATfrzF20uoN4
Z2zuCBCL8UmdYXUWV
Progression
Progression:
https://drive.google.com/file/d/1fe8rEQXGPAEJ9_8V66Ei
SYKOFhAOaRno
Final state:
https://drive.google.com/file/d/1NNkVJJ3ZY29NLfGSjWP
EwB2gALUHUTZv
Limitations of the diagram
● Iteration / improvement of progress of certain tasks
○ E.g. IaC or CI may be “done” once in place, but constantly improve over time
● Any remediation that does not have a definitive goal:
○ Code tech debt
○ Performance
○ Splitting out of services
○ Quality of testing
Questions

More Related Content

What's hot

Michael mittigaresume.docx (1)
Michael mittigaresume.docx (1)Michael mittigaresume.docx (1)
Michael mittigaresume.docx (1)
Michael Mittiga
 
technical debt management strategies
technical debt management strategiestechnical debt management strategies
technical debt management strategies
Raquel Pau
 
Clean application development tutorial
Clean application development tutorialClean application development tutorial
Clean application development tutorial
Adam Culp
 
SDLC-Waterfall-Model
SDLC-Waterfall-ModelSDLC-Waterfall-Model
SDLC-Waterfall-Model
Francis George
 
CI/CD in the serverless era
CI/CD in the serverless eraCI/CD in the serverless era
CI/CD in the serverless era
Efi Merdler-Kravitz
 
Clean application development (talk)
Clean application development (talk)Clean application development (talk)
Clean application development (talk)
Adam Culp
 
Dotsoft's tech stack
Dotsoft's tech stackDotsoft's tech stack
Dotsoft's tech stack
Odysseas Spyroglou
 
Trunk based development ritabrata
Trunk based development ritabrataTrunk based development ritabrata
Trunk based development ritabrata
apgionline
 
Agile engineering environment 50 minutes or less
Agile engineering environment   50 minutes or lessAgile engineering environment   50 minutes or less
Agile engineering environment 50 minutes or less
Vernon Stinebaker
 
Wpm lecture#2
Wpm lecture#2Wpm lecture#2
Wpm lecture#2
Seda Yalçın
 
Agile Development Methodologies
Agile Development MethodologiesAgile Development Methodologies
Agile Development Methodologies
Nainil Chheda
 
Agile model in software testing
Agile model in software testingAgile model in software testing
Agile model in software testing
pooja deshmukh
 
San Francisco Jenkins Area Meetup October 2016: Self-service secure test and ...
San Francisco Jenkins Area Meetup October 2016: Self-service secure test and ...San Francisco Jenkins Area Meetup October 2016: Self-service secure test and ...
San Francisco Jenkins Area Meetup October 2016: Self-service secure test and ...
Andrey Falko
 
Working process and git branch strategy
Working process and git branch strategyWorking process and git branch strategy
Working process and git branch strategy
Kan-Han (John) Lu
 
Conway's transformation
Conway's transformationConway's transformation
Conway's transformation
Alexey Tokar
 
Transition from CI to CD
Transition from CI to CDTransition from CI to CD
Transition from CI to CD
Nanjekye Joannah
 
Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...
Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...
Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...
OW2
 
SCCM
SCCMSCCM
The Holy Trinity of UI Testing by Diego Molina
The Holy Trinity of UI Testing by Diego MolinaThe Holy Trinity of UI Testing by Diego Molina
The Holy Trinity of UI Testing by Diego Molina
Sauce Labs
 

What's hot (19)

Michael mittigaresume.docx (1)
Michael mittigaresume.docx (1)Michael mittigaresume.docx (1)
Michael mittigaresume.docx (1)
 
technical debt management strategies
technical debt management strategiestechnical debt management strategies
technical debt management strategies
 
Clean application development tutorial
Clean application development tutorialClean application development tutorial
Clean application development tutorial
 
SDLC-Waterfall-Model
SDLC-Waterfall-ModelSDLC-Waterfall-Model
SDLC-Waterfall-Model
 
CI/CD in the serverless era
CI/CD in the serverless eraCI/CD in the serverless era
CI/CD in the serverless era
 
Clean application development (talk)
Clean application development (talk)Clean application development (talk)
Clean application development (talk)
 
Dotsoft's tech stack
Dotsoft's tech stackDotsoft's tech stack
Dotsoft's tech stack
 
Trunk based development ritabrata
Trunk based development ritabrataTrunk based development ritabrata
Trunk based development ritabrata
 
Agile engineering environment 50 minutes or less
Agile engineering environment   50 minutes or lessAgile engineering environment   50 minutes or less
Agile engineering environment 50 minutes or less
 
Wpm lecture#2
Wpm lecture#2Wpm lecture#2
Wpm lecture#2
 
Agile Development Methodologies
Agile Development MethodologiesAgile Development Methodologies
Agile Development Methodologies
 
Agile model in software testing
Agile model in software testingAgile model in software testing
Agile model in software testing
 
San Francisco Jenkins Area Meetup October 2016: Self-service secure test and ...
San Francisco Jenkins Area Meetup October 2016: Self-service secure test and ...San Francisco Jenkins Area Meetup October 2016: Self-service secure test and ...
San Francisco Jenkins Area Meetup October 2016: Self-service secure test and ...
 
Working process and git branch strategy
Working process and git branch strategyWorking process and git branch strategy
Working process and git branch strategy
 
Conway's transformation
Conway's transformationConway's transformation
Conway's transformation
 
Transition from CI to CD
Transition from CI to CDTransition from CI to CD
Transition from CI to CD
 
Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...
Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...
Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...
 
SCCM
SCCMSCCM
SCCM
 
The Holy Trinity of UI Testing by Diego Molina
The Holy Trinity of UI Testing by Diego MolinaThe Holy Trinity of UI Testing by Diego Molina
The Holy Trinity of UI Testing by Diego Molina
 

Similar to Last 2019: Designing a DevOps Dependency Diagram to Decide Development Direction

3x3 Speeding Up Mobile Releases
3x3 Speeding Up Mobile Releases3x3 Speeding Up Mobile Releases
3x3 Speeding Up Mobile Releases
Mobile Delivery Days
 
3x3: Speeding Up Mobile Releases
3x3: Speeding Up Mobile Releases3x3: Speeding Up Mobile Releases
3x3: Speeding Up Mobile Releases
Drew Hannay
 
Expedia 3x3 presentation
Expedia 3x3 presentationExpedia 3x3 presentation
Expedia 3x3 presentation
Drew Hannay
 
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weaveworks
 
Evolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand RaoEvolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand Rao
VMware Tanzu
 
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Giovanni Toraldo
 
Transforming PropertyGuru's Delivery Pipeline
Transforming PropertyGuru's Delivery PipelineTransforming PropertyGuru's Delivery Pipeline
Transforming PropertyGuru's Delivery Pipeline
Dwi Sasongko Supriyadi
 
Testing in a continuous delivery environment
Testing in a continuous delivery environmentTesting in a continuous delivery environment
Testing in a continuous delivery environment
Stefan Verhoeff
 
Demystifying Devops - Uday kumar
Demystifying Devops - Uday kumarDemystifying Devops - Uday kumar
Demystifying Devops - Uday kumar
Agile Testing Alliance
 
High Performance Software Engineering Teams
High Performance Software Engineering TeamsHigh Performance Software Engineering Teams
High Performance Software Engineering Teams
Lars Thorup
 
Acjim acmacs presentation
Acjim acmacs presentationAcjim acmacs presentation
Acjim acmacs presentation
hda_jim
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
Yosef Tavin
 
Acjim acmacs presentation
Acjim acmacs presentationAcjim acmacs presentation
Acjim acmacs presentation
Rohan Maleku
 
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and MockitoQCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
Szczepan Faber
 
Agile Gurugram 2016 | Conference | Demystifying DevOps | Uday Kumar
Agile Gurugram 2016 | Conference | Demystifying DevOps | Uday KumarAgile Gurugram 2016 | Conference | Demystifying DevOps | Uday Kumar
Agile Gurugram 2016 | Conference | Demystifying DevOps | Uday Kumar
AgileNetwork
 
Prepare the sled in summer and project release at its beginning
Prepare the sled in summer and project release at its beginningPrepare the sled in summer and project release at its beginning
Prepare the sled in summer and project release at its beginning
Vadym Fedorov
 
Dev ops
Dev opsDev ops
Dev ops
farzanehvar
 
Agile Development Lifecycle and Best Practices with Denodo
Agile Development Lifecycle and Best Practices with DenodoAgile Development Lifecycle and Best Practices with Denodo
Agile Development Lifecycle and Best Practices with Denodo
Denodo
 
DevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and ProjectsDevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and Projects
Fedir RYKHTIK
 
Creating An App for 650 million customers v.2.pdf
Creating An App for 650 million customers v.2.pdfCreating An App for 650 million customers v.2.pdf
Creating An App for 650 million customers v.2.pdf
Dmitry Osipa
 

Similar to Last 2019: Designing a DevOps Dependency Diagram to Decide Development Direction (20)

3x3 Speeding Up Mobile Releases
3x3 Speeding Up Mobile Releases3x3 Speeding Up Mobile Releases
3x3 Speeding Up Mobile Releases
 
3x3: Speeding Up Mobile Releases
3x3: Speeding Up Mobile Releases3x3: Speeding Up Mobile Releases
3x3: Speeding Up Mobile Releases
 
Expedia 3x3 presentation
Expedia 3x3 presentationExpedia 3x3 presentation
Expedia 3x3 presentation
 
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
 
Evolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand RaoEvolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand Rao
 
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)
 
Transforming PropertyGuru's Delivery Pipeline
Transforming PropertyGuru's Delivery PipelineTransforming PropertyGuru's Delivery Pipeline
Transforming PropertyGuru's Delivery Pipeline
 
Testing in a continuous delivery environment
Testing in a continuous delivery environmentTesting in a continuous delivery environment
Testing in a continuous delivery environment
 
Demystifying Devops - Uday kumar
Demystifying Devops - Uday kumarDemystifying Devops - Uday kumar
Demystifying Devops - Uday kumar
 
High Performance Software Engineering Teams
High Performance Software Engineering TeamsHigh Performance Software Engineering Teams
High Performance Software Engineering Teams
 
Acjim acmacs presentation
Acjim acmacs presentationAcjim acmacs presentation
Acjim acmacs presentation
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Acjim acmacs presentation
Acjim acmacs presentationAcjim acmacs presentation
Acjim acmacs presentation
 
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and MockitoQCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
 
Agile Gurugram 2016 | Conference | Demystifying DevOps | Uday Kumar
Agile Gurugram 2016 | Conference | Demystifying DevOps | Uday KumarAgile Gurugram 2016 | Conference | Demystifying DevOps | Uday Kumar
Agile Gurugram 2016 | Conference | Demystifying DevOps | Uday Kumar
 
Prepare the sled in summer and project release at its beginning
Prepare the sled in summer and project release at its beginningPrepare the sled in summer and project release at its beginning
Prepare the sled in summer and project release at its beginning
 
Dev ops
Dev opsDev ops
Dev ops
 
Agile Development Lifecycle and Best Practices with Denodo
Agile Development Lifecycle and Best Practices with DenodoAgile Development Lifecycle and Best Practices with Denodo
Agile Development Lifecycle and Best Practices with Denodo
 
DevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and ProjectsDevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and Projects
 
Creating An App for 650 million customers v.2.pdf
Creating An App for 650 million customers v.2.pdfCreating An App for 650 million customers v.2.pdf
Creating An App for 650 million customers v.2.pdf
 

Recently uploaded

Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 

Recently uploaded (20)

Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 

Last 2019: Designing a DevOps Dependency Diagram to Decide Development Direction

  • 1. Designing a DevOps Dependency Diagram to Decide Development Direction LAST 2019
  • 2.
  • 3. Hear an interesting story: Learn something: Get ideas: What you’ll (hopefully) get out of this talk DevOps = 0 → DevOps > 0 DevOps Dependencies Planning DevOps Progression
  • 4. Background: History ● 5 year old company ○ Produces SaaS Project Management Software ● Development outsourced ○ Insourcing development (owning core IP) ● Moving from startup to scaleup ○ Industrialisation
  • 5. Background: Strengths and Weaknesses Strengths Company ● Product validated in the market ○ Multiple customers who are strong advocates of the product ● Positive culture ○ Ego-less, highly experienced, willing to listen ● Committed and willing to invest in development Development ● Using git ● Have some unit tests ● Have extensive functional tests ● Scripts to manage deployment Weaknesses Company ● Nobody in the company has any Software Product Development experience ● Communication difficulties to Vietnam, so require very prescriptive requirements Development A bit more extensive...
  • 6. Background: Weaknesses (Development) ● Git: Unmanageable and divergent branching ● Testing ○ No CI ○ Unit tests: run once a month. Don’t all pass ○ Functional tests: 30% fail rate (i.e. useless) ● Deployment ○ Snowflake servers (no IaC) ○ Changes are run directly on production ○ Each environment has completely different script, and it changes each release ○ Deployments: SSH to prod, git pull, restart apache ● No monitoring or alerting ● Code: ○ General quality / maintainability ○ DRY = DO Repeat Yourself Git branching strategy
  • 7. Background: Challenges ● Transition from outsourced to insourced ○ Knowledge transfer difficult with communication barrier ● Commitments requiring premature maturity ○ AWS Well Architected Review ■ Requires autoscaling ○ SOC2 ● Company full of Project Managers (need a plan) ● No experience with software development ○ E.g. Currently have a linear view of software development (no understanding of dependencies) ● Monolith Architecture ● Multiple production environments
  • 8. Background: Challenges: SOC2 ● SOC2: Service and Organization Controls ○ Provide an organization a way to demonstrate that security practices are in place and operating effectively ● Some SOC2 Controls relating to development ○ Security: E.g. ■ Pen testing ■ Vulnerability scanning ■ Intrusion detection ■ Security incident analysis ○ Change Control: E.g. ■ Minimal admin access ■ Configuration monitoring ■ Segregation of duties (dev from ops) ■ Strict approval and Change Management process
  • 9. Idea: design a DevOps dependency diagram Different areas of Devops. E.g. ● Build automation ● Testing ● Deployment ● End-to-end testing ● Monitoring ● Infrastructure ● Configuration management ● Reporting ● etc Automated build framework Tasks with dependencies. E.g. Unit tests run automatically Continuous Integration Continuous Integration Milestones. E.g. Continuous Deployment
  • 10. What we did Full version is here: https://drive.google.com/file/d/1zJRATfrzF20uoN4 Z2zuCBCL8UmdYXUWV
  • 12. Limitations of the diagram ● Iteration / improvement of progress of certain tasks ○ E.g. IaC or CI may be “done” once in place, but constantly improve over time ● Any remediation that does not have a definitive goal: ○ Code tech debt ○ Performance ○ Splitting out of services ○ Quality of testing

Editor's Notes

  1. Timeline https://docs.google.com/spreadsheets/d/1ofAzbXn2eatNl3ycjhEUy-s3kbIPoX6LAMVs6I62xIU/edit#gid=0
  2. Image sources: https://pixabay.com/illustrations/people-men-women-man-woman-220284/ https://en.wikipedia.org/wiki/Flag_of_Vietnam#/media/File:Flag_of_Vietnam.svg
  3. Linear ideas: Set up performance testing Automated deployment Auto scaling
  4. Remembered a talk from LAST a few years ago Micro Hering presented a dependency diagram E.g.
  5. A full verision of the diagram is up at https://drive.google.com/file/d/1zJRATfrzF20uoN4Z2zuCBCL8UmdYXUWV/view?usp=sharing