SlideShare a Scribd company logo
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

More Related Content

PDF
What to Expect When You're Expecting (to Own Production)
PDF
Getting more 9s from your Cloud operations
PDF
Brainstorming failure
PDF
Mt s13 defect_management
PDF
BugDay Bangkok 2009 Defect Management
PPTX
Control Phase Roadmap (Level 3)
PPTX
Top 5 pitfalls of software test automatiion
PDF
Software Testing
What to Expect When You're Expecting (to Own Production)
Getting more 9s from your Cloud operations
Brainstorming failure
Mt s13 defect_management
BugDay Bangkok 2009 Defect Management
Control Phase Roadmap (Level 3)
Top 5 pitfalls of software test automatiion
Software Testing

What's hot (20)

PDF
Pitfalls of Test Automation
PDF
Troubleshooting.pdf
PDF
Quality Assurance and Testing of Automated Business Processes
PPTX
Momentum dashboard walkthrough
PPT
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
PPTX
User Interface Testing | Best Practices
PPTX
Failure mode effect analysis
PDF
Bug first Zero Defect
PPTX
Random testing & prototyping
PPTX
ODP
Software Risk Analysis
PDF
Raise the bar! Reloaded
PDF
Overview of Site Reliability Engineering (SRE) & best practices
PDF
How to SRE when you have no SRE
PDF
Managing software projects & teams effectively
PDF
Getting test automation right - webinar
PPTX
Presentation1
PPTX
Overview of FMEA
PPTX
Automation in the Bug Flow - Machine Learning for Triaging and Tracing
PPTX
Test Reports
Pitfalls of Test Automation
Troubleshooting.pdf
Quality Assurance and Testing of Automated Business Processes
Momentum dashboard walkthrough
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
User Interface Testing | Best Practices
Failure mode effect analysis
Bug first Zero Defect
Random testing & prototyping
Software Risk Analysis
Raise the bar! Reloaded
Overview of Site Reliability Engineering (SRE) & best practices
How to SRE when you have no SRE
Managing software projects & teams effectively
Getting test automation right - webinar
Presentation1
Overview of FMEA
Automation in the Bug Flow - Machine Learning for Triaging and Tracing
Test Reports
Ad

Similar to Automating the application lifecycle.pptx (20)

KEY
Everything you ever wanted to know about deployment but were afraid to ask
PPTX
Intro To Continuous Delivery
PDF
Releasing To Production Every Week
PPTX
Agile Product Owner
PDF
Monitoring and automation
PPTX
My Dad Won't Buy Me DevOps
PDF
Deploying and releasing applications
PPT
P4 Branching Overview
PPTX
So you-want-to-go-faster
PPTX
What the music of the 1980s taught me about shipping software
PDF
DevOps for Mainframe for IBM Pulse Conference
PPTX
Am i doing deployments right v2
PPT
Les outils de Devops IBM
PDF
Common blind spots on the journey to production vijay raghavan aravamudhan
PDF
OpenDev 2018: "Open CD for Open Infrastructure - Hybrid and Multi-Cloud Deplo...
PPTX
DevOps: IT's Automation Revolution
PDF
Andrey Adamovich - Enterprise flight into DevOps space - ConFu
PDF
Evolving to Cloud-Native - Anand Rao
PPT
Making the Agile Leap to Continuous Deployment
PDF
Continuous Delivery for Agile Teams
Everything you ever wanted to know about deployment but were afraid to ask
Intro To Continuous Delivery
Releasing To Production Every Week
Agile Product Owner
Monitoring and automation
My Dad Won't Buy Me DevOps
Deploying and releasing applications
P4 Branching Overview
So you-want-to-go-faster
What the music of the 1980s taught me about shipping software
DevOps for Mainframe for IBM Pulse Conference
Am i doing deployments right v2
Les outils de Devops IBM
Common blind spots on the journey to production vijay raghavan aravamudhan
OpenDev 2018: "Open CD for Open Infrastructure - Hybrid and Multi-Cloud Deplo...
DevOps: IT's Automation Revolution
Andrey Adamovich - Enterprise flight into DevOps space - ConFu
Evolving to Cloud-Native - Anand Rao
Making the Agile Leap to Continuous Deployment
Continuous Delivery for Agile Teams
Ad

Recently uploaded (20)

PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
medical staffing services at VALiNTRY
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PPTX
history of c programming in notes for students .pptx
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPT
Introduction Database Management System for Course Database
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Understanding Forklifts - TECH EHS Solution
PDF
System and Network Administraation Chapter 3
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
top salesforce developer skills in 2025.pdf
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Design an Analysis of Algorithms I-SECS-1021-03
Navsoft: AI-Powered Business Solutions & Custom Software Development
medical staffing services at VALiNTRY
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
history of c programming in notes for students .pptx
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
2025 Textile ERP Trends: SAP, Odoo & Oracle
Introduction Database Management System for Course Database
How to Migrate SBCGlobal Email to Yahoo Easily
PTS Company Brochure 2025 (1).pdf.......
Design an Analysis of Algorithms II-SECS-1021-03
Wondershare Filmora 15 Crack With Activation Key [2025
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Understanding Forklifts - TECH EHS Solution
System and Network Administraation Chapter 3
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
top salesforce developer skills in 2025.pdf
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Odoo POS Development Services by CandidRoot Solutions
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025

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