SlideShare a Scribd company logo
1 of 25
Presented by: Jörg Hoh, Adobe Systems
+
Automation done right
Learnings from having 300+ production instances
Automation:
push the button and
go home
+
The background
• 50+ AEM 6.0 production environments
• 2-node authoring cluster
• 4 publish instances
• Ops team = 3 people
• Project team supporting Ops = 4 people
• Full deployment of all environments = 3h
+
The background
• An automated deployment process in its
basic shape worked early on.
• It took a lot of time to eliminate
• major issues and bugs
• inconsistencies
from the application (and product) to make
the automated deployments and the (user-)
support efforts bearable.
+
+
A reliable process
What doesn’t work
• Manual installation of hotfixes and
application packages
• Manual checks for correctness of the
deployment
• Waiting for feedback from end-users
+
Automation means
• Not only automatic
execution of steps
• But also automatic
checks of correctness
• Active reporting in
case something goes
wrong
+
Automation means
• Repeat the same
process over and over
again and always get
the same result.
• Or: Apply the same
process to N
instances and get the
same result.
+
+
The system should only be picked up
by the loadbalancer, if all bundles are
in state active and a request to the
homepage returns with HTTP
statuscode 200.
Epic: Avoid manual work
+
A system should only be used, if all
hotfixes have been applied correctly.
Epic: Avoid manual work
You can only trust a
process if you execute
it every day
+
Automation starts early
• Start in the DEV
environments.
• Run your automated
processes daily.
• Only then you can get enough
confidence to run them in
PROD
+
+
As project team we want the test
environments being deployed daily
with the latest snapshots and using
the same deployment procedures as
in PROD.
Epic: Get confidence
+
Minimize developer
distraction
The most important KPI:
Number of people knowing
the “admin” password
+
The need for manual intervention
breaks the purpose of automation
• Unlocking a page
• Restarting a bundle
• Adding ACLs
• Checking a logfile
• …
+
Focus on flawless operation
• Detect problems actively (healthchecks,
automatic logfile observation, end-to-end
monitoring)
• Authors should never rely on admin support to
recover from error situations
• Enable 1st level support to solve as many
problems as possible
• And if someone happens: provide enough and
timely information
+
+
As an author I don’t want to call
support to unlock a page in situations
when a workflow failed, but recover
from that situation on my own.
Epic: Reduce support calls
+
As IT operation engineer I want to get
an alert if the time to login exceeds 5
seconds.
Epic: Monitoring
+
Summary
+
As proactive developers we want not
only automate the deployments, but
also avoid the need to deliver
production support.
Epic: Plan the automation
Automation:
avoid repeated manual
work
+
Automation:
push the button and
go home
+
+
THANK YOU.
+
@joerghoh
https://cqdump.wordpress.com

More Related Content

What's hot

Jenkins hand in hand
Jenkins  hand in handJenkins  hand in hand
Jenkins hand in handnetdbncku
 
Performance Metrics for your Build Pipeline - presented at Vienna WebPerf Oct...
Performance Metrics for your Build Pipeline - presented at Vienna WebPerf Oct...Performance Metrics for your Build Pipeline - presented at Vienna WebPerf Oct...
Performance Metrics for your Build Pipeline - presented at Vienna WebPerf Oct...Andreas Grabner
 
Run Selenium Tests With Microsoft Test Manager
Run Selenium Tests With Microsoft Test ManagerRun Selenium Tests With Microsoft Test Manager
Run Selenium Tests With Microsoft Test ManagerDaniel Herken
 
Dot all 2019 | Testing with Craft | Giel Tettelar
Dot all 2019 | Testing with Craft | Giel TettelarDot all 2019 | Testing with Craft | Giel Tettelar
Dot all 2019 | Testing with Craft | Giel TettelarGiel Tettelaar
 
Extending Continuous Integration
Extending Continuous IntegrationExtending Continuous Integration
Extending Continuous IntegrationJohannes Brodwall
 
Belfast Selenium Meetup
Belfast Selenium MeetupBelfast Selenium Meetup
Belfast Selenium MeetupJustin Ison
 
Architecture of automated test cases for legacy applications
Architecture of automated test cases for legacy applicationsArchitecture of automated test cases for legacy applications
Architecture of automated test cases for legacy applicationsMikhail Vasylchenko
 
Top 25 Selenium Interview Questions and Answers 2018
Top 25 Selenium Interview Questions and Answers 2018Top 25 Selenium Interview Questions and Answers 2018
Top 25 Selenium Interview Questions and Answers 2018Testbytes
 
Hacker Proof web app using Functional tests
Hacker Proof web  app using Functional testsHacker Proof web  app using Functional tests
Hacker Proof web app using Functional testsAnkita Gupta
 
Ppt of soap ui
Ppt of soap uiPpt of soap ui
Ppt of soap uipkslide28
 
Practical Tips & Tricks for Selenium Test Automation
Practical Tips & Tricks for Selenium Test AutomationPractical Tips & Tricks for Selenium Test Automation
Practical Tips & Tricks for Selenium Test AutomationSauce Labs
 
Selenium Israel Meetup
Selenium Israel MeetupSelenium Israel Meetup
Selenium Israel MeetupJustin Ison
 
DCAST Meetup - Washington, DC Feb 2016
DCAST Meetup - Washington, DC Feb 2016DCAST Meetup - Washington, DC Feb 2016
DCAST Meetup - Washington, DC Feb 2016Justin Ison
 
SDLC. QA Role
SDLC. QA RoleSDLC. QA Role
SDLC. QA Roleeleksdev
 
Build safe environment for software developers
Build safe environment for software developersBuild safe environment for software developers
Build safe environment for software developersPrayoch Rujira
 
How Gear4Music Went from 0-1000+ API Tests
How Gear4Music Went from 0-1000+ API TestsHow Gear4Music Went from 0-1000+ API Tests
How Gear4Music Went from 0-1000+ API TestsPostman
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationFaisal Farooq
 
Usg Web Tech Day 2016 - Continuous Integration, Deployment, and Delivery
Usg Web Tech Day 2016 - Continuous Integration, Deployment, and DeliveryUsg Web Tech Day 2016 - Continuous Integration, Deployment, and Delivery
Usg Web Tech Day 2016 - Continuous Integration, Deployment, and DeliveryStephen Garrett
 

What's hot (20)

Jenkins hand in hand
Jenkins  hand in handJenkins  hand in hand
Jenkins hand in hand
 
Comparison manual & automation
Comparison manual & automationComparison manual & automation
Comparison manual & automation
 
Performance Metrics for your Build Pipeline - presented at Vienna WebPerf Oct...
Performance Metrics for your Build Pipeline - presented at Vienna WebPerf Oct...Performance Metrics for your Build Pipeline - presented at Vienna WebPerf Oct...
Performance Metrics for your Build Pipeline - presented at Vienna WebPerf Oct...
 
Run Selenium Tests With Microsoft Test Manager
Run Selenium Tests With Microsoft Test ManagerRun Selenium Tests With Microsoft Test Manager
Run Selenium Tests With Microsoft Test Manager
 
Dot all 2019 | Testing with Craft | Giel Tettelar
Dot all 2019 | Testing with Craft | Giel TettelarDot all 2019 | Testing with Craft | Giel Tettelar
Dot all 2019 | Testing with Craft | Giel Tettelar
 
Extending Continuous Integration
Extending Continuous IntegrationExtending Continuous Integration
Extending Continuous Integration
 
Belfast Selenium Meetup
Belfast Selenium MeetupBelfast Selenium Meetup
Belfast Selenium Meetup
 
Read me
Read meRead me
Read me
 
Architecture of automated test cases for legacy applications
Architecture of automated test cases for legacy applicationsArchitecture of automated test cases for legacy applications
Architecture of automated test cases for legacy applications
 
Top 25 Selenium Interview Questions and Answers 2018
Top 25 Selenium Interview Questions and Answers 2018Top 25 Selenium Interview Questions and Answers 2018
Top 25 Selenium Interview Questions and Answers 2018
 
Hacker Proof web app using Functional tests
Hacker Proof web  app using Functional testsHacker Proof web  app using Functional tests
Hacker Proof web app using Functional tests
 
Ppt of soap ui
Ppt of soap uiPpt of soap ui
Ppt of soap ui
 
Practical Tips & Tricks for Selenium Test Automation
Practical Tips & Tricks for Selenium Test AutomationPractical Tips & Tricks for Selenium Test Automation
Practical Tips & Tricks for Selenium Test Automation
 
Selenium Israel Meetup
Selenium Israel MeetupSelenium Israel Meetup
Selenium Israel Meetup
 
DCAST Meetup - Washington, DC Feb 2016
DCAST Meetup - Washington, DC Feb 2016DCAST Meetup - Washington, DC Feb 2016
DCAST Meetup - Washington, DC Feb 2016
 
SDLC. QA Role
SDLC. QA RoleSDLC. QA Role
SDLC. QA Role
 
Build safe environment for software developers
Build safe environment for software developersBuild safe environment for software developers
Build safe environment for software developers
 
How Gear4Music Went from 0-1000+ API Tests
How Gear4Music Went from 0-1000+ API TestsHow Gear4Music Went from 0-1000+ API Tests
How Gear4Music Went from 0-1000+ API Tests
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Usg Web Tech Day 2016 - Continuous Integration, Deployment, and Delivery
Usg Web Tech Day 2016 - Continuous Integration, Deployment, and DeliveryUsg Web Tech Day 2016 - Continuous Integration, Deployment, and Delivery
Usg Web Tech Day 2016 - Continuous Integration, Deployment, and Delivery
 

Viewers also liked

Open Source examples from Adobe : Oscon kiosk
Open Source examples from Adobe : Oscon kioskOpen Source examples from Adobe : Oscon kiosk
Open Source examples from Adobe : Oscon kioskDave McAllister
 
Thoughts on Component Resuse
Thoughts on Component ResuseThoughts on Component Resuse
Thoughts on Component ResuseJustin Edelson
 
Building Modular Enterprise Applications - C Ziegeler
Building Modular Enterprise Applications - C ZiegelerBuilding Modular Enterprise Applications - C Ziegeler
Building Modular Enterprise Applications - C Ziegelermfrancis
 
20131021 Lavacon keynote - Who are today's and future's content professionals...
20131021 Lavacon keynote - Who are today's and future's content professionals...20131021 Lavacon keynote - Who are today's and future's content professionals...
20131021 Lavacon keynote - Who are today's and future's content professionals...Kapil Verma
 
STC mobile device content consideration
STC mobile device content consideration  STC mobile device content consideration
STC mobile device content consideration Maxwell Hoffmann
 
Overcome-3-common-aem-delivery-challenges
Overcome-3-common-aem-delivery-challengesOvercome-3-common-aem-delivery-challenges
Overcome-3-common-aem-delivery-challengesiCiDIGITAL
 
Content-Centric Apps for Mobile Devices by John Fait
Content-Centric Apps for Mobile Devices by John FaitContent-Centric Apps for Mobile Devices by John Fait
Content-Centric Apps for Mobile Devices by John FaitAEM HUB
 
AEM Digital Assets Management - What's new in 6.2?
AEM Digital Assets Management - What's new in 6.2?AEM Digital Assets Management - What's new in 6.2?
AEM Digital Assets Management - What's new in 6.2?Tricode (part of Dept)
 
The Future of Web Apps
The Future of Web AppsThe Future of Web Apps
The Future of Web AppsiCiDIGITAL
 
AEM integration with Apache Mahout
AEM integration with Apache MahoutAEM integration with Apache Mahout
AEM integration with Apache MahoutAnkit Gubrani
 
Accelerate Your Next AEM Project
Accelerate Your Next AEM ProjectAccelerate Your Next AEM Project
Accelerate Your Next AEM ProjectMark Kelley
 
Sling Component Filters in CQ5
Sling Component Filters in CQ5 Sling Component Filters in CQ5
Sling Component Filters in CQ5 connectwebex
 
CQ5.x Maintenance Webinar 2013
CQ5.x Maintenance Webinar 2013CQ5.x Maintenance Webinar 2013
CQ5.x Maintenance Webinar 2013Andrew Khoury
 
Adobe Source 2016 - Styleguides and AEM
Adobe Source 2016 - Styleguides and AEMAdobe Source 2016 - Styleguides and AEM
Adobe Source 2016 - Styleguides and AEMMichael Leroy
 
Extending Machine Translation in AEM
Extending Machine Translation in AEMExtending Machine Translation in AEM
Extending Machine Translation in AEMVivek Sachdeva
 
Sling models by Justin Edelson
Sling models by Justin Edelson Sling models by Justin Edelson
Sling models by Justin Edelson AEM HUB
 
10 Best Node.js Practices you Need to Know!
10 Best Node.js Practices you Need to Know!10 Best Node.js Practices you Need to Know!
10 Best Node.js Practices you Need to Know!TO THE NEW | Technology
 
OSCON 2016 - Lessons learned from 15+ years in open source - Matt Asay
OSCON 2016 - Lessons learned from 15+ years in open source - Matt AsayOSCON 2016 - Lessons learned from 15+ years in open source - Matt Asay
OSCON 2016 - Lessons learned from 15+ years in open source - Matt AsayMatt Asay
 
Consuming External Content and Enriching Content with Apache Camel
Consuming External Content and Enriching Content with Apache CamelConsuming External Content and Enriching Content with Apache Camel
Consuming External Content and Enriching Content with Apache Cameltherealgaston
 
Adobe Source 2016 - Building a Corporate Site Solution Using Multi Site Manager
Adobe Source 2016 - Building a Corporate Site Solution Using Multi Site ManagerAdobe Source 2016 - Building a Corporate Site Solution Using Multi Site Manager
Adobe Source 2016 - Building a Corporate Site Solution Using Multi Site ManagerMichael Leroy
 

Viewers also liked (20)

Open Source examples from Adobe : Oscon kiosk
Open Source examples from Adobe : Oscon kioskOpen Source examples from Adobe : Oscon kiosk
Open Source examples from Adobe : Oscon kiosk
 
Thoughts on Component Resuse
Thoughts on Component ResuseThoughts on Component Resuse
Thoughts on Component Resuse
 
Building Modular Enterprise Applications - C Ziegeler
Building Modular Enterprise Applications - C ZiegelerBuilding Modular Enterprise Applications - C Ziegeler
Building Modular Enterprise Applications - C Ziegeler
 
20131021 Lavacon keynote - Who are today's and future's content professionals...
20131021 Lavacon keynote - Who are today's and future's content professionals...20131021 Lavacon keynote - Who are today's and future's content professionals...
20131021 Lavacon keynote - Who are today's and future's content professionals...
 
STC mobile device content consideration
STC mobile device content consideration  STC mobile device content consideration
STC mobile device content consideration
 
Overcome-3-common-aem-delivery-challenges
Overcome-3-common-aem-delivery-challengesOvercome-3-common-aem-delivery-challenges
Overcome-3-common-aem-delivery-challenges
 
Content-Centric Apps for Mobile Devices by John Fait
Content-Centric Apps for Mobile Devices by John FaitContent-Centric Apps for Mobile Devices by John Fait
Content-Centric Apps for Mobile Devices by John Fait
 
AEM Digital Assets Management - What's new in 6.2?
AEM Digital Assets Management - What's new in 6.2?AEM Digital Assets Management - What's new in 6.2?
AEM Digital Assets Management - What's new in 6.2?
 
The Future of Web Apps
The Future of Web AppsThe Future of Web Apps
The Future of Web Apps
 
AEM integration with Apache Mahout
AEM integration with Apache MahoutAEM integration with Apache Mahout
AEM integration with Apache Mahout
 
Accelerate Your Next AEM Project
Accelerate Your Next AEM ProjectAccelerate Your Next AEM Project
Accelerate Your Next AEM Project
 
Sling Component Filters in CQ5
Sling Component Filters in CQ5 Sling Component Filters in CQ5
Sling Component Filters in CQ5
 
CQ5.x Maintenance Webinar 2013
CQ5.x Maintenance Webinar 2013CQ5.x Maintenance Webinar 2013
CQ5.x Maintenance Webinar 2013
 
Adobe Source 2016 - Styleguides and AEM
Adobe Source 2016 - Styleguides and AEMAdobe Source 2016 - Styleguides and AEM
Adobe Source 2016 - Styleguides and AEM
 
Extending Machine Translation in AEM
Extending Machine Translation in AEMExtending Machine Translation in AEM
Extending Machine Translation in AEM
 
Sling models by Justin Edelson
Sling models by Justin Edelson Sling models by Justin Edelson
Sling models by Justin Edelson
 
10 Best Node.js Practices you Need to Know!
10 Best Node.js Practices you Need to Know!10 Best Node.js Practices you Need to Know!
10 Best Node.js Practices you Need to Know!
 
OSCON 2016 - Lessons learned from 15+ years in open source - Matt Asay
OSCON 2016 - Lessons learned from 15+ years in open source - Matt AsayOSCON 2016 - Lessons learned from 15+ years in open source - Matt Asay
OSCON 2016 - Lessons learned from 15+ years in open source - Matt Asay
 
Consuming External Content and Enriching Content with Apache Camel
Consuming External Content and Enriching Content with Apache CamelConsuming External Content and Enriching Content with Apache Camel
Consuming External Content and Enriching Content with Apache Camel
 
Adobe Source 2016 - Building a Corporate Site Solution Using Multi Site Manager
Adobe Source 2016 - Building a Corporate Site Solution Using Multi Site ManagerAdobe Source 2016 - Building a Corporate Site Solution Using Multi Site Manager
Adobe Source 2016 - Building a Corporate Site Solution Using Multi Site Manager
 

Similar to Automation done right: Learnings from 300+ AEM instances

Cross-platform logging and analytics
Cross-platform logging and analyticsCross-platform logging and analytics
Cross-platform logging and analyticsDrew Crawford
 
Owasp tds
Owasp tdsOwasp tds
Owasp tdssnyff
 
Пирамида Тестирования через призму ROI калькулятора и прочая геометрия
Пирамида Тестирования через призму ROI калькулятора и прочая геометрияПирамида Тестирования через призму ROI калькулятора и прочая геометрия
Пирамида Тестирования через призму ROI калькулятора и прочая геометрияSQALab
 
Test Pyramid vs Roi
Test Pyramid vs Roi Test Pyramid vs Roi
Test Pyramid vs Roi COMAQA.BY
 
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austinDev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austinMatt Tesauro
 
What a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysisWhat a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysisAndrey Karpov
 
Building an Open Source AppSec Pipeline
Building an Open Source AppSec PipelineBuilding an Open Source AppSec Pipeline
Building an Open Source AppSec PipelineMatt Tesauro
 
Devtest: using Lean and Devops practices to bring QA and coders together by L...
Devtest: using Lean and Devops practices to bring QA and coders together by L...Devtest: using Lean and Devops practices to bring QA and coders together by L...
Devtest: using Lean and Devops practices to bring QA and coders together by L...Institut Lean France
 
Five (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous DeliveryFive (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous DeliveryEberhard Wolff
 
Scale your Software development process while scaling your team
Scale your Software development process while scaling your teamScale your Software development process while scaling your team
Scale your Software development process while scaling your teamFlorian Motlik
 
Introduzione allo Unit Testing
Introduzione allo Unit TestingIntroduzione allo Unit Testing
Introduzione allo Unit TestingStefano Ottaviani
 
Monitoring at Facebook - Ran Leibman, Facebook - DevOpsDays Tel Aviv 2015
Monitoring at Facebook - Ran Leibman, Facebook - DevOpsDays Tel Aviv 2015Monitoring at Facebook - Ran Leibman, Facebook - DevOpsDays Tel Aviv 2015
Monitoring at Facebook - Ran Leibman, Facebook - DevOpsDays Tel Aviv 2015DevOpsDays Tel Aviv
 
Lotuscript for large systems
Lotuscript for large systemsLotuscript for large systems
Lotuscript for large systemsBill Buchan
 
Mastering Complex Application Deployments
Mastering Complex Application DeploymentsMastering Complex Application Deployments
Mastering Complex Application DeploymentsIBM UrbanCode Products
 
5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test AutomationSauce Labs
 
EuroSTAR_DUBLIN_2014_Albert_Witteveen_v6
EuroSTAR_DUBLIN_2014_Albert_Witteveen_v6EuroSTAR_DUBLIN_2014_Albert_Witteveen_v6
EuroSTAR_DUBLIN_2014_Albert_Witteveen_v6Albert Witteveen
 
A lean automation blueprint for testing in continuous delivery
A lean automation blueprint for testing in continuous deliveryA lean automation blueprint for testing in continuous delivery
A lean automation blueprint for testing in continuous deliverySauce Labs
 

Similar to Automation done right: Learnings from 300+ AEM instances (20)

Cross-platform logging and analytics
Cross-platform logging and analyticsCross-platform logging and analytics
Cross-platform logging and analytics
 
Owasp tds
Owasp tdsOwasp tds
Owasp tds
 
In (database) automation we trust
In (database) automation we trustIn (database) automation we trust
In (database) automation we trust
 
Пирамида Тестирования через призму ROI калькулятора и прочая геометрия
Пирамида Тестирования через призму ROI калькулятора и прочая геометрияПирамида Тестирования через призму ROI калькулятора и прочая геометрия
Пирамида Тестирования через призму ROI калькулятора и прочая геометрия
 
Test Pyramid vs Roi
Test Pyramid vs Roi Test Pyramid vs Roi
Test Pyramid vs Roi
 
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austinDev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
 
What a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysisWhat a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysis
 
Building an Open Source AppSec Pipeline
Building an Open Source AppSec PipelineBuilding an Open Source AppSec Pipeline
Building an Open Source AppSec Pipeline
 
Devtest: using Lean and Devops practices to bring QA and coders together by L...
Devtest: using Lean and Devops practices to bring QA and coders together by L...Devtest: using Lean and Devops practices to bring QA and coders together by L...
Devtest: using Lean and Devops practices to bring QA and coders together by L...
 
Five (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous DeliveryFive (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous Delivery
 
Scale your Software development process while scaling your team
Scale your Software development process while scaling your teamScale your Software development process while scaling your team
Scale your Software development process while scaling your team
 
Dev ops
Dev opsDev ops
Dev ops
 
Introduzione allo Unit Testing
Introduzione allo Unit TestingIntroduzione allo Unit Testing
Introduzione allo Unit Testing
 
Monitoring at Facebook - Ran Leibman, Facebook - DevOpsDays Tel Aviv 2015
Monitoring at Facebook - Ran Leibman, Facebook - DevOpsDays Tel Aviv 2015Monitoring at Facebook - Ran Leibman, Facebook - DevOpsDays Tel Aviv 2015
Monitoring at Facebook - Ran Leibman, Facebook - DevOpsDays Tel Aviv 2015
 
Automic Support Tips and Tricks
Automic Support Tips and TricksAutomic Support Tips and Tricks
Automic Support Tips and Tricks
 
Lotuscript for large systems
Lotuscript for large systemsLotuscript for large systems
Lotuscript for large systems
 
Mastering Complex Application Deployments
Mastering Complex Application DeploymentsMastering Complex Application Deployments
Mastering Complex Application Deployments
 
5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation
 
EuroSTAR_DUBLIN_2014_Albert_Witteveen_v6
EuroSTAR_DUBLIN_2014_Albert_Witteveen_v6EuroSTAR_DUBLIN_2014_Albert_Witteveen_v6
EuroSTAR_DUBLIN_2014_Albert_Witteveen_v6
 
A lean automation blueprint for testing in continuous delivery
A lean automation blueprint for testing in continuous deliveryA lean automation blueprint for testing in continuous delivery
A lean automation blueprint for testing in continuous delivery
 

Recently uploaded

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Recently uploaded (20)

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 

Automation done right: Learnings from 300+ AEM instances

  • 1. Presented by: Jörg Hoh, Adobe Systems + Automation done right Learnings from having 300+ production instances
  • 3. The background • 50+ AEM 6.0 production environments • 2-node authoring cluster • 4 publish instances • Ops team = 3 people • Project team supporting Ops = 4 people • Full deployment of all environments = 3h +
  • 4. The background • An automated deployment process in its basic shape worked early on. • It took a lot of time to eliminate • major issues and bugs • inconsistencies from the application (and product) to make the automated deployments and the (user-) support efforts bearable. +
  • 6. What doesn’t work • Manual installation of hotfixes and application packages • Manual checks for correctness of the deployment • Waiting for feedback from end-users +
  • 7. Automation means • Not only automatic execution of steps • But also automatic checks of correctness • Active reporting in case something goes wrong +
  • 8. Automation means • Repeat the same process over and over again and always get the same result. • Or: Apply the same process to N instances and get the same result. +
  • 9. + The system should only be picked up by the loadbalancer, if all bundles are in state active and a request to the homepage returns with HTTP statuscode 200. Epic: Avoid manual work
  • 10. + A system should only be used, if all hotfixes have been applied correctly. Epic: Avoid manual work
  • 11. You can only trust a process if you execute it every day +
  • 12. Automation starts early • Start in the DEV environments. • Run your automated processes daily. • Only then you can get enough confidence to run them in PROD +
  • 13. + As project team we want the test environments being deployed daily with the latest snapshots and using the same deployment procedures as in PROD. Epic: Get confidence
  • 15. The most important KPI: Number of people knowing the “admin” password +
  • 16. The need for manual intervention breaks the purpose of automation • Unlocking a page • Restarting a bundle • Adding ACLs • Checking a logfile • … +
  • 17. Focus on flawless operation • Detect problems actively (healthchecks, automatic logfile observation, end-to-end monitoring) • Authors should never rely on admin support to recover from error situations • Enable 1st level support to solve as many problems as possible • And if someone happens: provide enough and timely information +
  • 18. + As an author I don’t want to call support to unlock a page in situations when a workflow failed, but recover from that situation on my own. Epic: Reduce support calls
  • 19. + As IT operation engineer I want to get an alert if the time to login exceeds 5 seconds. Epic: Monitoring
  • 21. + As proactive developers we want not only automate the deployments, but also avoid the need to deliver production support. Epic: Plan the automation

Editor's Notes

  1. “Automation” deserves its name, if you can push the button and go home
  2. Some people think, that automating a manual click path into a curl-script can be called “automation”. It prevents you execute the steps manually, but most often such scripts lack proper error handling. So in the end you still have to check the outcome of this script and validate the correctness.
  3. Some people think, that automating a manual click path into a curl-script can be called “automation”. It prevents you execute the steps manually, but most often such scripts lack proper error handling. So in the end you still have to check the outcome of this script and validate the correctness.
  4. Some people think, that automating a manual click path into a curl-script can be called “automation”. It prevents you execute the steps manually, but most often such scripts lack proper error handling. So in the end you still have to check the outcome of this script and validate the correctness. “The system should be used only if all hotfixes are applied correctly.”
  5. Some people think, that automating a manual click path into a curl-script can be called “automation”. It prevents you execute the steps manually, but most often such scripts lack proper error handling. So in the end you still have to check the outcome of this script and validate the correctness.
  6. It’s the same with baking: You don’t start your baking career with the wedding cake for your sister. But you rather start practicing years before with smaller cakes, you gain experience with it and confidence in your abilities, until you finally go for the wedding cake.
  7. Some people think, that automating a manual click path into a curl-script can be called “automation”. It prevents you execute the steps manually, but most often such scripts lack proper error handling. So in the end you still have to check the outcome of this script and validate the correctness. “The system should be used only if all hotfixes are applied correctly.”
  8. Assuming a “need to know” policy, many people knowing the admin password mean, that they all need to login as admin on a regular basis. Image: 63693715
  9. Bild notwendig, relying on the help of others – gebrochener Fuß
  10. Bild notwendig
  11. Some people think, that automating a manual click path into a curl-script can be called “automation”. It prevents you execute the steps manually, but most often such scripts lack proper error handling. So in the end you still have to check the outcome of this script and validate the correctness. “The system should be used only if all hotfixes are applied correctly.”
  12. Some people think, that automating a manual click path into a curl-script can be called “automation”. It prevents you execute the steps manually, but most often such scripts lack proper error handling. So in the end you still have to check the outcome of this script and validate the correctness. “The system should be used only if all hotfixes are applied correctly.”
  13. Some people think, that automating a manual click path into a curl-script can be called “automation”. It prevents you execute the steps manually, but most often such scripts lack proper error handling. So in the end you still have to check the outcome of this script and validate the correctness. “The system should be used only if all hotfixes are applied correctly.”
  14. “Automation” deserves its name, if you can push the button and go home