SlideShare uma empresa Scribd logo
1 de 26
Automating the Application Lifecycle
Devan Stormont
“Big Picture” Goals
What should we be aiming for?
■ Don’t try to do everything perfectly
■ Do tighten every feedback loop to respond
as quickly as possible to problems
Goals in Practice
How do we accomplish this?
■ One-click manual steps
■ Monitoring results at every phase
■ Automatic reporting or action
Develop Deploy
ProductionAnalyze
Development
■ One-click builds
■ Continuous builds
■ Test suites
■ Static code analysis
Deployment
■ One-click deployments
■ Minimizing down time
■ Monitoring rollout health
■ Incremental node rollout
Production
■ Instance health
■ Process/service health
■ Third-party service health
■ User activity
Analysis
■ Automatic data collection
■ Scheduled analysis
■ Report notifications
■ Automatic rollbacks
Development
Development
The primary goals of development automation are:
■ Notify developers of the error(s)
■ Prevent bad code from being released
Development
(There shouldn’t be anything new here to most developers)
■ One-click (or one-command) builds
Ideally, this is exactly the same regardless of developer OS
■ Sanity checks proactively fail builds
Unit testing
Property testing
Static code analysis
■ Continuous builds systems
More thorough functional/integration tests
Every customer-reported issue should have an automated regression test!
Deeper code analysis
Development - Feedback Loop
(There shouldn’t be anything new here to most developers)
■ Developer systems: Failed builds should prevent code check-ins
■ Continuous builds failures
Send out notifications
Automatically roll back check-ins to release branches
Alternatively, success automatically integrates into release branches
Push system - the system is the gatekeeper■ Continuous builds also generate reports about lower-threshold warnings
Static code analysis, test code coverage
Pull system - up to developers to be pro-active
Minimize these as much as possible!
Check-In
Release
Check-In
Staging
Development
Build
Fail
Fail
DeploymentDevelopment
Deployment
The primary goals of deployment automation are:
■ Automatically push out changes
■ Actively monitor rollout for problems
■ Automatically roll back to known good states
Deployment
■ One-click (one-command) automatic rollouts
Should be staged across instances/regions
Should minimize down time - hot swap!
■ Monitor rollout health
Node availability
Process/service availability
Data migration health
■ Failure thresholds
Developer notifications
Rollouts automatically unwind to known-good states
Deployment
With enough seamless monitoring in place:
■ Deployments should be invisible to users
■ A “good” code check-in can automatically drive a new deployment
Deployment
Production
Staged
Deploy
Check-In
Release
Rollback
Production
Deployment
Production
The primary goals of end-user production automation are:
■ Monitor for problems
■ Proactively address problems
■ If necessary, roll back to known good states
Production
There are two distinct elements to monitoring in production
■ Detecting system problems
■ Monitoring users
Production
■ System monitoring
Notifications if systems/instances go down or are overloaded
Automatically scale up new resources upon need
■ Service watchdogs
Automatic service restarts
Capture and storage of logs
Pushed by client, service, or cron job/scheduled task
■ Third-party APIs
Periodically check health/accessibility
Notifications upon failure
A problem with a necessary third-party service is a problem for your service
Production
■ User monitoring
How many users are active?
What services are those users using?
What services are users hitting errors with?
■ Extended user monitoring
Email
Social media
App store reviews
Automatic notifications!■ Users like interaction - people like to be noticed
Immediate, graceful interaction is likely to earn positive public feedback
Even from users who were complaining about a problem!
Production
Resolve problems
■ Automatically spin up/down resources to adapt to user load
■ Proactive notifications about errors
■ For critical issues, allow the production environment to automatically rollback to
the last known-good state
■ Users who feel like you helped them personally are likely to become your
evangelists
Production
Production
Rollback
Monitor
Analysis Production
Development
Analysis
The primary goals of analysis automation are:
■ Proactive, early warning of known problems
Notifications of significant issues
Automatically resolving where possible
Unwinding bad deployments upon certain thresholds
■ Ability to more easily detect unknown problems
Requires prior collection of good enough information to resolve
Usually feeds into the next development iteration
■ Really touches all of the previous pieces, as already shown
Analysis
■ Really touches all of the previous pieces, as already shown
Listed here because analysis should be treated as a first-class citizen
■ If you’re not driving development (or even features) through the use of
measurement, all you’re really doing is educated guessing
Not this problem
Fix this problem first
Recap - Problem Resolution
The main points applicable to every stage
■ Automatic notifications of failures
■ Rollback to known-good state
■ Automatic resource scaling (up/down)
What this buys us
■ Immediate visibility to every link in the chain
■ Rapid, iterative releases for problem resolution
■ Rapid learning about your users

Mais conteúdo relacionado

Mais procurados

Random testing & prototyping
Random testing & prototypingRandom testing & prototyping
Random testing & prototyping
Vipul Rastogi
 

Mais procurados (20)

Pitfalls of Test Automation
Pitfalls of Test AutomationPitfalls of Test Automation
Pitfalls of Test Automation
 
Troubleshooting.pdf
Troubleshooting.pdfTroubleshooting.pdf
Troubleshooting.pdf
 
Quality Assurance and Testing of Automated Business Processes
Quality Assurance and Testing of Automated Business ProcessesQuality Assurance and Testing of Automated Business Processes
Quality Assurance and Testing of Automated Business Processes
 
Momentum dashboard walkthrough
Momentum dashboard walkthroughMomentum dashboard walkthrough
Momentum dashboard walkthrough
 
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
 
User Interface Testing | Best Practices
User Interface Testing | Best Practices User Interface Testing | Best Practices
User Interface Testing | Best Practices
 
Failure mode effect analysis
 Failure mode effect analysis Failure mode effect analysis
Failure mode effect analysis
 
Bug first Zero Defect
Bug first   Zero DefectBug first   Zero Defect
Bug first Zero Defect
 
Random testing & prototyping
Random testing & prototypingRandom testing & prototyping
Random testing & prototyping
 
Hello
HelloHello
Hello
 
Software Risk Analysis
Software Risk AnalysisSoftware Risk Analysis
Software Risk Analysis
 
Raise the bar! Reloaded
Raise the bar! ReloadedRaise the bar! Reloaded
Raise the bar! Reloaded
 
Overview of Site Reliability Engineering (SRE) & best practices
Overview of Site Reliability Engineering (SRE) & best practicesOverview of Site Reliability Engineering (SRE) & best practices
Overview of Site Reliability Engineering (SRE) & best practices
 
How to SRE when you have no SRE
How to SRE when you have no SREHow to SRE when you have no SRE
How to SRE when you have no SRE
 
Managing software projects & teams effectively
Managing software projects & teams effectivelyManaging software projects & teams effectively
Managing software projects & teams effectively
 
Getting test automation right - webinar
Getting test automation right - webinarGetting test automation right - webinar
Getting test automation right - webinar
 
Presentation1
Presentation1Presentation1
Presentation1
 
Overview of FMEA
Overview of FMEAOverview of FMEA
Overview of FMEA
 
Automation in the Bug Flow - Machine Learning for Triaging and Tracing
Automation in the Bug Flow - Machine Learning for Triaging and TracingAutomation in the Bug Flow - Machine Learning for Triaging and Tracing
Automation in the Bug Flow - Machine Learning for Triaging and Tracing
 
Test Reports
Test ReportsTest Reports
Test Reports
 

Semelhante a Automating the application lifecycle.pptx

FAILURE MODE EFFECT ANALYSIS
FAILURE MODE EFFECT ANALYSISFAILURE MODE EFFECT ANALYSIS
FAILURE MODE EFFECT ANALYSIS
ANOOPA NARAYANAN
 
fmea-130116034507-phpapp01.pdf
fmea-130116034507-phpapp01.pdffmea-130116034507-phpapp01.pdf
fmea-130116034507-phpapp01.pdf
Rajendran C
 
IT 381_Chap hubybybybybybybytggyguh7h7_7.ppt
IT 381_Chap hubybybybybybybytggyguh7h7_7.pptIT 381_Chap hubybybybybybybytggyguh7h7_7.ppt
IT 381_Chap hubybybybybybybytggyguh7h7_7.ppt
ksujith0034
 
Effective Vulnerability Management
Effective Vulnerability ManagementEffective Vulnerability Management
Effective Vulnerability Management
Vicky Ames
 
Asp Abstracts, Sample Copy 15+ Abstracts
Asp Abstracts, Sample Copy 15+ AbstractsAsp Abstracts, Sample Copy 15+ Abstracts
Asp Abstracts, Sample Copy 15+ Abstracts
ncct
 

Semelhante a Automating the application lifecycle.pptx (20)

FAILURE MODE EFFECT ANALYSIS
FAILURE MODE EFFECT ANALYSISFAILURE MODE EFFECT ANALYSIS
FAILURE MODE EFFECT ANALYSIS
 
Ncerc rlmca202 adm m1 ssm
Ncerc rlmca202 adm m1 ssmNcerc rlmca202 adm m1 ssm
Ncerc rlmca202 adm m1 ssm
 
Continuous Integration Practices
Continuous Integration Practices Continuous Integration Practices
Continuous Integration Practices
 
Continuous integration practices to improve the software quality
Continuous integration practices to improve the software qualityContinuous integration practices to improve the software quality
Continuous integration practices to improve the software quality
 
Continuous delivery
Continuous deliveryContinuous delivery
Continuous delivery
 
Ncerc rlmca202 adm m3 ssm
Ncerc rlmca202  adm m3 ssmNcerc rlmca202  adm m3 ssm
Ncerc rlmca202 adm m3 ssm
 
fmea-130116034507-phpapp01.pdf
fmea-130116034507-phpapp01.pdffmea-130116034507-phpapp01.pdf
fmea-130116034507-phpapp01.pdf
 
FMEA
FMEAFMEA
FMEA
 
IT 381_Chap_7.ppt
IT 381_Chap_7.pptIT 381_Chap_7.ppt
IT 381_Chap_7.ppt
 
Failure mode effects analysis, Computer Integrated Manufacturing, Quality fun...
Failure mode effects analysis, Computer Integrated Manufacturing, Quality fun...Failure mode effects analysis, Computer Integrated Manufacturing, Quality fun...
Failure mode effects analysis, Computer Integrated Manufacturing, Quality fun...
 
FMEA presentation for research and development
FMEA presentation for research and developmentFMEA presentation for research and development
FMEA presentation for research and development
 
FMEA análise e odos de falhas e seus efeitos.ppt
FMEA análise e odos de falhas e seus efeitos.pptFMEA análise e odos de falhas e seus efeitos.ppt
FMEA análise e odos de falhas e seus efeitos.ppt
 
IT 381_Chap hubybybybybybybytggyguh7h7_7.ppt
IT 381_Chap hubybybybybybybytggyguh7h7_7.pptIT 381_Chap hubybybybybybybytggyguh7h7_7.ppt
IT 381_Chap hubybybybybybybytggyguh7h7_7.ppt
 
Failure mode and effects analysis
Failure mode and effects analysisFailure mode and effects analysis
Failure mode and effects analysis
 
Effective Vulnerability Management
Effective Vulnerability ManagementEffective Vulnerability Management
Effective Vulnerability Management
 
Continuous Automation and its Impact on the CI_CD Pipeline.pdf
Continuous Automation and its Impact on the CI_CD Pipeline.pdfContinuous Automation and its Impact on the CI_CD Pipeline.pdf
Continuous Automation and its Impact on the CI_CD Pipeline.pdf
 
The on-call survival guide - how to be confident on-call
The on-call survival guide - how to be confident on-call The on-call survival guide - how to be confident on-call
The on-call survival guide - how to be confident on-call
 
Agile Development of High Performance Applications
Agile Development of High Performance ApplicationsAgile Development of High Performance Applications
Agile Development of High Performance Applications
 
Asp Abstracts, Sample Copy 15+ Abstracts
Asp Abstracts, Sample Copy 15+ AbstractsAsp Abstracts, Sample Copy 15+ Abstracts
Asp Abstracts, Sample Copy 15+ Abstracts
 
Defect MgmtBugDay Bangkok 2009: Defect Management
Defect MgmtBugDay Bangkok 2009: Defect ManagementDefect MgmtBugDay Bangkok 2009: Defect Management
Defect MgmtBugDay Bangkok 2009: Defect Management
 

Último

%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Último (20)

MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 

Automating the application lifecycle.pptx

  • 1. Automating the Application Lifecycle Devan Stormont
  • 2. “Big Picture” Goals What should we be aiming for? ■ Don’t try to do everything perfectly ■ Do tighten every feedback loop to respond as quickly as possible to problems
  • 3. Goals in Practice How do we accomplish this? ■ One-click manual steps ■ Monitoring results at every phase ■ Automatic reporting or action
  • 5. Development ■ One-click builds ■ Continuous builds ■ Test suites ■ Static code analysis Deployment ■ One-click deployments ■ Minimizing down time ■ Monitoring rollout health ■ Incremental node rollout Production ■ Instance health ■ Process/service health ■ Third-party service health ■ User activity Analysis ■ Automatic data collection ■ Scheduled analysis ■ Report notifications ■ Automatic rollbacks
  • 7. Development The primary goals of development automation are: ■ Notify developers of the error(s) ■ Prevent bad code from being released
  • 8. Development (There shouldn’t be anything new here to most developers) ■ One-click (or one-command) builds Ideally, this is exactly the same regardless of developer OS ■ Sanity checks proactively fail builds Unit testing Property testing Static code analysis ■ Continuous builds systems More thorough functional/integration tests Every customer-reported issue should have an automated regression test! Deeper code analysis
  • 9. Development - Feedback Loop (There shouldn’t be anything new here to most developers) ■ Developer systems: Failed builds should prevent code check-ins ■ Continuous builds failures Send out notifications Automatically roll back check-ins to release branches Alternatively, success automatically integrates into release branches Push system - the system is the gatekeeper■ Continuous builds also generate reports about lower-threshold warnings Static code analysis, test code coverage Pull system - up to developers to be pro-active Minimize these as much as possible!
  • 12. Deployment The primary goals of deployment automation are: ■ Automatically push out changes ■ Actively monitor rollout for problems ■ Automatically roll back to known good states
  • 13. Deployment ■ One-click (one-command) automatic rollouts Should be staged across instances/regions Should minimize down time - hot swap! ■ Monitor rollout health Node availability Process/service availability Data migration health ■ Failure thresholds Developer notifications Rollouts automatically unwind to known-good states
  • 14. Deployment With enough seamless monitoring in place: ■ Deployments should be invisible to users ■ A “good” code check-in can automatically drive a new deployment
  • 17. Production The primary goals of end-user production automation are: ■ Monitor for problems ■ Proactively address problems ■ If necessary, roll back to known good states
  • 18. Production There are two distinct elements to monitoring in production ■ Detecting system problems ■ Monitoring users
  • 19. Production ■ System monitoring Notifications if systems/instances go down or are overloaded Automatically scale up new resources upon need ■ Service watchdogs Automatic service restarts Capture and storage of logs Pushed by client, service, or cron job/scheduled task ■ Third-party APIs Periodically check health/accessibility Notifications upon failure A problem with a necessary third-party service is a problem for your service
  • 20. Production ■ User monitoring How many users are active? What services are those users using? What services are users hitting errors with? ■ Extended user monitoring Email Social media App store reviews Automatic notifications!■ Users like interaction - people like to be noticed Immediate, graceful interaction is likely to earn positive public feedback Even from users who were complaining about a problem!
  • 21. Production Resolve problems ■ Automatically spin up/down resources to adapt to user load ■ Proactive notifications about errors ■ For critical issues, allow the production environment to automatically rollback to the last known-good state ■ Users who feel like you helped them personally are likely to become your evangelists
  • 24. Analysis The primary goals of analysis automation are: ■ Proactive, early warning of known problems Notifications of significant issues Automatically resolving where possible Unwinding bad deployments upon certain thresholds ■ Ability to more easily detect unknown problems Requires prior collection of good enough information to resolve Usually feeds into the next development iteration ■ Really touches all of the previous pieces, as already shown
  • 25. Analysis ■ Really touches all of the previous pieces, as already shown Listed here because analysis should be treated as a first-class citizen ■ If you’re not driving development (or even features) through the use of measurement, all you’re really doing is educated guessing Not this problem Fix this problem first
  • 26. Recap - Problem Resolution The main points applicable to every stage ■ Automatic notifications of failures ■ Rollback to known-good state ■ Automatic resource scaling (up/down) What this buys us ■ Immediate visibility to every link in the chain ■ Rapid, iterative releases for problem resolution ■ Rapid learning about your users