SlideShare a Scribd company logo
1 of 24
#evolverocks
TAKING YOUR AEM IMPLEMENTATION TO
ROCKSTAR LEVEL!!!!!!
CAT REUSSWIG
August 31, 2016
#evolverocks
• Culture
• Mvp
• Agile teams
• Automation
• devops
TOPICS I’LL COVER
HAVE NO FEAR: ITERATE EVERYTHING
2
#evolverocks
A way of thinking, behaving or working
that exists in an organization
CULTURE IS KEY
3
#evolverocks
ITERATE EVERYTHING, FEAR NOTHING!
TRY STUFF!
• Hypothetical: lets just say you are asked to start a major project
initiative where they would like multiple sites migrated to AEM in
parallel and quickly…..
• What do you do?
4
#evolverocks
MVP – Minimal Viable Product, the smallest useful set of
capabilities that will meet the business need in production
MVP AND RELEASE PLANNING
5
#evolverocks
Abstraction:
Story review  components ensures multi-use lego approach
Story Mappings  aids in MVP creation
CSS Strategy  shared plus specific
ABSTRACTION LEADS TO FREEDOM
DOESN’T HURT OPTIMIZATION EITHER
6
#evolverocks
Bigger projects vs smaller projects
Mature team including solid Product Owners
New team, learning curve/ramp up requirements
Pairing!
Time zones & communications
SCRUM VS KANBAN
CHOICES CHOICES
7
#evolverocks
Obvious answer: when communication goes to *$@#;
When standups take more than 15 minutes
BUT (behold the underlying truth!)
Sometimes you need to try something to bring along more people to the agile way
• New to agile, new to AEM, new to processes
• Pair people so they function as one – only one speaks at Standup
• Make each team as cross functional and complete as possible – include UX,
PO, QA, Analytics, Devs, SM
SCRUM TEAM SIZING
HOW BIG IS TOO BIG?
8
#evolverocks
If the process is nailed  AUTOMATE IT! (why not?)
• Releases
• Deploys
• Testing
• Go/NoGo
• Trouble-shooting
AUTOMATION FOCUS
FREE THE HUMANS – MAKE THE MACHINES DO IT!
9
#evolverocks
SHARED PAIN IS A GREAT MOTIVATOR:
UAT Handoff
• Provide UAT Wikis
• Review Wikis (UAT Team)
Beta Release
• Cut Code and Create Release Candidate
• Deploy to Beta (Test) Environment
• Mark tickets for handoff
PRODUCTION SUPPORT
• Handle issues incoming from production
DOTS: delivery of the sprint duties with sprint cycle rotation
40%
60%
10
#evolverocks
Focus one team on DOTS and live the pain
HOW TO MAKE DOTS LESS SCARY
NOTHING TO FEAR BUT FEAR ITSELF (OR JUST ELIMINATE THAT NASTY
FEAR STUFF)
Ooohh
Noooo
I’m on
DOTS!
11
#evolverocks
• Github Webhook to kick off build (Jenkins)
• Build includes Unit/Integration/Functional Tests
• Karma Tests
• Deploy to CI
• Validation Scripts -> Check bundle status and that right ones are there
• SmokeTest (author and publish are different) ensure app is up and running properly
CONTINUOUS INTEGRATION UPLIFT
First Stop: CI/CD
12
#evolverocks
• Content Syncs from Prod to Test Envs (Prod -> DW -> TestEnv) (remember Grabbit?)
https://docs.adobe.com/docs/en/aem/6-2/administer/content/assets/best-practices-for-
assets/assets-migration-guide.html
• Release Cut (merge master into Release branch)
• Update Jira Tickets with ToProd Info (tagging tickets that will be deployed in next
release)
• Update UAT Handoff Wikis -> Letting business and UAT teams know which tickets are
ready for UAT and their status
• Deploy latest release to Betas for testing.
RELEASE PROCESS AUTOMATION
THINGS WE USED TO DO MANUALLY THAT ARE NOW CRON JOBS
Second Stop: Build & Release
13
#evolverocks
Utility Jobs - actions that used to be 100% manual now able to be triggered by
Jenkins Job:
• Server Restarts
• Server Clean UP (Remove Zombie Bundles)
• Clear Dispatcher Cache
• Clear JSP Cache
• Cherry-Pick (needed commits onto next release branch)
• Build and Deploy Random Branch Jobs
Our success: we extrapolated this entire process for our analytics code stream; mirroring
the entire automated process for this additional code stream. Puppet makes it all work
locally!
RELEASE PROCESS - ROCKSTAR
14
#evolverocks
How to find out before the business team that something is wrong in PROD???
Spiked a story on identifying key transactions/metrics
Spiked a story to learn with the experts on how to use our tool: AppD
Focused on Instrumenting Business Transactions
First Focus: FOLLOW THE $$$$$$$ -- do CHECKOUT END TO END!
Collaborative team approach
Tried all of it out in the BETA environment – Learned the hard way that we could
impact production with our instrumentation so testing it is a good thing!
NOW FOR THE HEAVY LIFTING:
TROUBLE-SHOOTING AUTOMATION
15
#evolverocks
• Instrumentation For Checkout
- Metrics on Avg Load, Response time, #Errors for every page in the flow
- Counts on Splash Page Errors (specific reasons the flow fails or crashes)
- Counts on flow entry and completion (rough look at close rate)
• Instrumentation For Business Class
- Metrics on Avg Load, Response time, # Errors on Home page vs other pages
- Monitoring on Geolocation service
- Number of times served up from "FingerPrint" (on network) availablityh
- Number of times served up from fallback
UPLIFT IN METRICS FOR THE DEV TEAM:
ITS NOT JUST ABOUT ANALYTICS FOR THE BUSINESS
16
#evolverocks
Graphing the Metrics
- Trending information on Error counts (Error/min VS Exception/min)
- Dashboarding for DOTS (support) team
- Traffic to nodes and datacenters
- Response times, errors, load
VISUALS
17
#evolverocks
FAST FEEDBACK LOOPS
18
#evolverocks
Current Alerts
- Average response times get too high
- End User Monitoring times get too high
- Disk space gets too low
- Error rate gets too high
Axioms
- Only send alerts containing actionable steps
to solve the issue!
- Notices only go to people who can fix
the problem
NOTIFICATIONS
19
#evolverocks
FUTURE DREAMS
Can actually be configured to trigger Jenkins jobs (like restarts)
A great example would be when Disk space gets too low (due to AEM needing
compaction)- AppD could alert and in the alert trigger a job that:
1. Emails support teams
2. Takes specific node out of node balancer
3. Performs compaction (including restarts)
4. Validates node
5. Puts back in load balancer
20
#evolverocks
DEVOPS: THE KEYS TO THE KINGDOM
ITS HARD WORK, BUT WELL WORTH THE EFFORT!
• For the 6.1 upgrade, we tackled improving our delivery & tooling with
the migration to the cloud
• We wanted elasticity, consistency that had eluded us in our VM env
• VAGRANT image made it so ALL DEVS matched PROD!  QUALITY
• Configuring any new environment, be it author, pub can be done
almost instantly with our “infrastructure as code”
• Fully redundant across data centers, GSLB
• =#FREEDOM!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
21
TOOLS USED TO HELP AUTOMATE THE
AGILE DEV/TEST/DELIVERY CYCLE
#evolverocks 22
#evolverocks
https://github.com/TWCable/grabbit
Timewarnercable.com
Business.timewarnercable.com
Check it out:
#evolverocks
THANK YOU!
https://www.linkedin.com/in/catreusswig

More Related Content

What's hot

Automating Your Way to Greatness by Combining OutSystems CI/CD with the Power...
Automating Your Way to Greatness by Combining OutSystems CI/CD with the Power...Automating Your Way to Greatness by Combining OutSystems CI/CD with the Power...
Automating Your Way to Greatness by Combining OutSystems CI/CD with the Power...OutSystems
 
Саша Белецкий "Continuous Delivery в продуктовой разработке"
Саша Белецкий "Continuous Delivery в продуктовой разработке"Саша Белецкий "Continuous Delivery в продуктовой разработке"
Саша Белецкий "Continuous Delivery в продуктовой разработке"Agile Base Camp
 
Deploy applications with TFS Build
Deploy applications with TFS BuildDeploy applications with TFS Build
Deploy applications with TFS BuildGian Maria Ricci
 
Distribute your code with NUget and build vNext
Distribute your code with NUget and build vNextDistribute your code with NUget and build vNext
Distribute your code with NUget and build vNextGian Maria Ricci
 
Jenkins advance topic
Jenkins advance topicJenkins advance topic
Jenkins advance topicGourav Varma
 
Introduction to continuous delivery
Introduction to continuous deliveryIntroduction to continuous delivery
Introduction to continuous deliveryLeena N
 
Merge hells - Feature Toggles to the rescue
Merge hells - Feature Toggles to the rescueMerge hells - Feature Toggles to the rescue
Merge hells - Feature Toggles to the rescueLeena N
 
Git Branching for Agile Teams
Git Branching for Agile Teams Git Branching for Agile Teams
Git Branching for Agile Teams Atlassian
 
Deployment of DevOps Environment with CA Solutions
Deployment of DevOps Environment with CA SolutionsDeployment of DevOps Environment with CA Solutions
Deployment of DevOps Environment with CA SolutionsNic Swart
 
QAAgility Presentation - Cucumber with Appium
QAAgility Presentation - Cucumber with AppiumQAAgility Presentation - Cucumber with Appium
QAAgility Presentation - Cucumber with AppiumQAAgility Technologies
 
5 step bim automation roadmap - shed manufacturers e book
5 step bim automation roadmap - shed manufacturers e book5 step bim automation roadmap - shed manufacturers e book
5 step bim automation roadmap - shed manufacturers e bookLukeHunter14
 
A Git Workflow Model or Branching Strategy
A Git Workflow Model or Branching StrategyA Git Workflow Model or Branching Strategy
A Git Workflow Model or Branching StrategyVivek Parihar
 
Trunk based development
Trunk based developmentTrunk based development
Trunk based developmentgo_oh
 
Jenkins introduction
Jenkins introductionJenkins introduction
Jenkins introductionGourav Varma
 
Ice breaker with dev ops
Ice breaker with dev opsIce breaker with dev ops
Ice breaker with dev opsMukta Aphale
 
Continuously serving the developer community with Continuous Integration and...
Continuously serving the developer community with  Continuous Integration and...Continuously serving the developer community with  Continuous Integration and...
Continuously serving the developer community with Continuous Integration and...Thoughtworks
 
How to setup a development environment for ONAP
How to setup a development environment for ONAPHow to setup a development environment for ONAP
How to setup a development environment for ONAPVictor Morales
 
Automate your build on Android with Jenkins
Automate your build on Android with JenkinsAutomate your build on Android with Jenkins
Automate your build on Android with JenkinsBeMyApp
 
Introduction to Application insights
Introduction to Application insightsIntroduction to Application insights
Introduction to Application insightsGian Maria Ricci
 

What's hot (20)

Automating Your Way to Greatness by Combining OutSystems CI/CD with the Power...
Automating Your Way to Greatness by Combining OutSystems CI/CD with the Power...Automating Your Way to Greatness by Combining OutSystems CI/CD with the Power...
Automating Your Way to Greatness by Combining OutSystems CI/CD with the Power...
 
Саша Белецкий "Continuous Delivery в продуктовой разработке"
Саша Белецкий "Continuous Delivery в продуктовой разработке"Саша Белецкий "Continuous Delivery в продуктовой разработке"
Саша Белецкий "Continuous Delivery в продуктовой разработке"
 
Deploy applications with TFS Build
Deploy applications with TFS BuildDeploy applications with TFS Build
Deploy applications with TFS Build
 
Distribute your code with NUget and build vNext
Distribute your code with NUget and build vNextDistribute your code with NUget and build vNext
Distribute your code with NUget and build vNext
 
Jenkins advance topic
Jenkins advance topicJenkins advance topic
Jenkins advance topic
 
Introduction to continuous delivery
Introduction to continuous deliveryIntroduction to continuous delivery
Introduction to continuous delivery
 
Merge hells - Feature Toggles to the rescue
Merge hells - Feature Toggles to the rescueMerge hells - Feature Toggles to the rescue
Merge hells - Feature Toggles to the rescue
 
Git Branching for Agile Teams
Git Branching for Agile Teams Git Branching for Agile Teams
Git Branching for Agile Teams
 
Deployment of DevOps Environment with CA Solutions
Deployment of DevOps Environment with CA SolutionsDeployment of DevOps Environment with CA Solutions
Deployment of DevOps Environment with CA Solutions
 
QAAgility Presentation - Cucumber with Appium
QAAgility Presentation - Cucumber with AppiumQAAgility Presentation - Cucumber with Appium
QAAgility Presentation - Cucumber with Appium
 
Git branching model
Git branching modelGit branching model
Git branching model
 
5 step bim automation roadmap - shed manufacturers e book
5 step bim automation roadmap - shed manufacturers e book5 step bim automation roadmap - shed manufacturers e book
5 step bim automation roadmap - shed manufacturers e book
 
A Git Workflow Model or Branching Strategy
A Git Workflow Model or Branching StrategyA Git Workflow Model or Branching Strategy
A Git Workflow Model or Branching Strategy
 
Trunk based development
Trunk based developmentTrunk based development
Trunk based development
 
Jenkins introduction
Jenkins introductionJenkins introduction
Jenkins introduction
 
Ice breaker with dev ops
Ice breaker with dev opsIce breaker with dev ops
Ice breaker with dev ops
 
Continuously serving the developer community with Continuous Integration and...
Continuously serving the developer community with  Continuous Integration and...Continuously serving the developer community with  Continuous Integration and...
Continuously serving the developer community with Continuous Integration and...
 
How to setup a development environment for ONAP
How to setup a development environment for ONAPHow to setup a development environment for ONAP
How to setup a development environment for ONAP
 
Automate your build on Android with Jenkins
Automate your build on Android with JenkinsAutomate your build on Android with Jenkins
Automate your build on Android with Jenkins
 
Introduction to Application insights
Introduction to Application insightsIntroduction to Application insights
Introduction to Application insights
 

Similar to EVOLVE'16 | Keynote | Cat Reusswig | Taking Your AEM Implementation to The ROCKSTAR level!

Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeConfoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeSteve Mercier
 
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise ApplicationsDaniel Oh
 
Simplified DevOps Bliss -with OpenAI API
Simplified DevOps Bliss -with OpenAI APISimplified DevOps Bliss -with OpenAI API
Simplified DevOps Bliss -with OpenAI APIVictorSzoltysek
 
AppSec Pipelines and Event based Security
AppSec Pipelines and Event based SecurityAppSec Pipelines and Event based Security
AppSec Pipelines and Event based SecurityMatt Tesauro
 
Intro to DefectDojo at OWASP Switzerland
Intro to DefectDojo at OWASP SwitzerlandIntro to DefectDojo at OWASP Switzerland
Intro to DefectDojo at OWASP SwitzerlandMatt Tesauro
 
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
 
DevOps: Automate all the things
DevOps: Automate all the thingsDevOps: Automate all the things
DevOps: Automate all the thingsMat Mannion
 
IT Trends 120-ish in the real world
 IT Trends 120-ish in the real world IT Trends 120-ish in the real world
IT Trends 120-ish in the real worldChristian John Felix
 
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
Just In Time Scalability  Agile Methods To Support Massive Growth PresentationJust In Time Scalability  Agile Methods To Support Massive Growth Presentation
Just In Time Scalability Agile Methods To Support Massive Growth PresentationEric Ries
 
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
Just In Time Scalability  Agile Methods To Support Massive Growth PresentationJust In Time Scalability  Agile Methods To Support Massive Growth Presentation
Just In Time Scalability Agile Methods To Support Massive Growth PresentationTimothy Fitz
 
From Duke of DevOps to Queen of Chaos - Api days 2018
From Duke of DevOps to Queen of Chaos - Api days 2018From Duke of DevOps to Queen of Chaos - Api days 2018
From Duke of DevOps to Queen of Chaos - Api days 2018Christophe Rochefolle
 
DevOps: The New Face Of Application Development - Global Azure Bootcamp
DevOps: The New Face Of Application Development - Global Azure BootcampDevOps: The New Face Of Application Development - Global Azure Bootcamp
DevOps: The New Face Of Application Development - Global Azure BootcampRichard Harbridge
 
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA
 

Similar to EVOLVE'16 | Keynote | Cat Reusswig | Taking Your AEM Implementation to The ROCKSTAR level! (20)

Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeConfoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
 
Dev Ops without the Ops
Dev Ops without the OpsDev Ops without the Ops
Dev Ops without the Ops
 
Continuous integration at CartoDB March '16
Continuous integration at CartoDB March '16Continuous integration at CartoDB March '16
Continuous integration at CartoDB March '16
 
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
 
Simplified DevOps Bliss -with OpenAI API
Simplified DevOps Bliss -with OpenAI APISimplified DevOps Bliss -with OpenAI API
Simplified DevOps Bliss -with OpenAI API
 
AppSec Pipelines and Event based Security
AppSec Pipelines and Event based SecurityAppSec Pipelines and Event based Security
AppSec Pipelines and Event based Security
 
Intro to DefectDojo at OWASP Switzerland
Intro to DefectDojo at OWASP SwitzerlandIntro to DefectDojo at OWASP Switzerland
Intro to DefectDojo at OWASP Switzerland
 
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...
 
DevOps: Automate all the things
DevOps: Automate all the thingsDevOps: Automate all the things
DevOps: Automate all the things
 
Advanced deployment scenarios
Advanced deployment scenariosAdvanced deployment scenarios
Advanced deployment scenarios
 
IT Trends 120-ish in the real world
 IT Trends 120-ish in the real world IT Trends 120-ish in the real world
IT Trends 120-ish in the real world
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
What DevOps Isn't
What DevOps Isn'tWhat DevOps Isn't
What DevOps Isn't
 
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
Just In Time Scalability  Agile Methods To Support Massive Growth PresentationJust In Time Scalability  Agile Methods To Support Massive Growth Presentation
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
 
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
Just In Time Scalability  Agile Methods To Support Massive Growth PresentationJust In Time Scalability  Agile Methods To Support Massive Growth Presentation
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
 
Continuous integration at CartoDB
Continuous integration at CartoDBContinuous integration at CartoDB
Continuous integration at CartoDB
 
From Duke of DevOps to Queen of Chaos - Api days 2018
From Duke of DevOps to Queen of Chaos - Api days 2018From Duke of DevOps to Queen of Chaos - Api days 2018
From Duke of DevOps to Queen of Chaos - Api days 2018
 
DevOps: The New Face Of Application Development - Global Azure Bootcamp
DevOps: The New Face Of Application Development - Global Azure BootcampDevOps: The New Face Of Application Development - Global Azure Bootcamp
DevOps: The New Face Of Application Development - Global Azure Bootcamp
 
DevOps demystified
DevOps demystifiedDevOps demystified
DevOps demystified
 
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612
 

More from Evolve The Adobe Digital Marketing Community

More from Evolve The Adobe Digital Marketing Community (20)

Evolve 19 | Sarah Xu & Kanika Gera | Adobe I/O - Why You Need it to Execute o...
Evolve 19 | Sarah Xu & Kanika Gera | Adobe I/O - Why You Need it to Execute o...Evolve 19 | Sarah Xu & Kanika Gera | Adobe I/O - Why You Need it to Execute o...
Evolve 19 | Sarah Xu & Kanika Gera | Adobe I/O - Why You Need it to Execute o...
 
Evolve 19 | Upen Manickam & Amanda Gray | Adventures in SPA with AEM 6.5
Evolve 19 | Upen Manickam & Amanda Gray | Adventures in SPA with AEM 6.5Evolve 19 | Upen Manickam & Amanda Gray | Adventures in SPA with AEM 6.5
Evolve 19 | Upen Manickam & Amanda Gray | Adventures in SPA with AEM 6.5
 
Evolve 19 | Ameeth Palla | Adobe Asset Link - Use Cases and Pitfalls to Avoid
Evolve 19 | Ameeth Palla | Adobe Asset Link - Use Cases and Pitfalls to AvoidEvolve 19 | Ameeth Palla | Adobe Asset Link - Use Cases and Pitfalls to Avoid
Evolve 19 | Ameeth Palla | Adobe Asset Link - Use Cases and Pitfalls to Avoid
 
Evolve 19 | Giancarlo Berner | JECIS 2 - The Beginning of a New Era in Buildi...
Evolve 19 | Giancarlo Berner | JECIS 2 - The Beginning of a New Era in Buildi...Evolve 19 | Giancarlo Berner | JECIS 2 - The Beginning of a New Era in Buildi...
Evolve 19 | Giancarlo Berner | JECIS 2 - The Beginning of a New Era in Buildi...
 
Evolve 19 | Paul Legan & Kristin Jones | Anatomy of a Solid AEM Implementatio...
Evolve 19 | Paul Legan & Kristin Jones | Anatomy of a Solid AEM Implementatio...Evolve 19 | Paul Legan & Kristin Jones | Anatomy of a Solid AEM Implementatio...
Evolve 19 | Paul Legan & Kristin Jones | Anatomy of a Solid AEM Implementatio...
 
Evolve 19 | Rabiah Coon & Rebecca Blaha | Rockstar Kickoffs for AEM Projects
Evolve 19 | Rabiah Coon & Rebecca Blaha | Rockstar Kickoffs for AEM ProjectsEvolve 19 | Rabiah Coon & Rebecca Blaha | Rockstar Kickoffs for AEM Projects
Evolve 19 | Rabiah Coon & Rebecca Blaha | Rockstar Kickoffs for AEM Projects
 
Evolve19 | Nick Panagopoulos | World Focus: Translation Tips and Trends
Evolve19 | Nick Panagopoulos | World Focus: Translation Tips and TrendsEvolve19 | Nick Panagopoulos | World Focus: Translation Tips and Trends
Evolve19 | Nick Panagopoulos | World Focus: Translation Tips and Trends
 
Evolve 19 | Rabiah Coon, Sabrina Schmidt & Noah Linge | Industry Focus | Furn...
Evolve 19 | Rabiah Coon, Sabrina Schmidt & Noah Linge | Industry Focus | Furn...Evolve 19 | Rabiah Coon, Sabrina Schmidt & Noah Linge | Industry Focus | Furn...
Evolve 19 | Rabiah Coon, Sabrina Schmidt & Noah Linge | Industry Focus | Furn...
 
Evolve 19 | Carl Madaffari | Best Practices | From Customer Data to Customer ...
Evolve 19 | Carl Madaffari | Best Practices | From Customer Data to Customer ...Evolve 19 | Carl Madaffari | Best Practices | From Customer Data to Customer ...
Evolve 19 | Carl Madaffari | Best Practices | From Customer Data to Customer ...
 
Evolve 19 | Kevin Campton & Sharat Radhakrishnan | Industry Focus | Autodesk ...
Evolve 19 | Kevin Campton & Sharat Radhakrishnan | Industry Focus | Autodesk ...Evolve 19 | Kevin Campton & Sharat Radhakrishnan | Industry Focus | Autodesk ...
Evolve 19 | Kevin Campton & Sharat Radhakrishnan | Industry Focus | Autodesk ...
 
Evolve 19 | Gina Petruccelli | Let’s Dig Into Requirements
Evolve 19 | Gina Petruccelli | Let’s Dig Into RequirementsEvolve 19 | Gina Petruccelli | Let’s Dig Into Requirements
Evolve 19 | Gina Petruccelli | Let’s Dig Into Requirements
 
Evolve 19 | Dave Fox | Retaining Niche Talent in a Highly Competitive Environ...
Evolve 19 | Dave Fox | Retaining Niche Talent in a Highly Competitive Environ...Evolve 19 | Dave Fox | Retaining Niche Talent in a Highly Competitive Environ...
Evolve 19 | Dave Fox | Retaining Niche Talent in a Highly Competitive Environ...
 
Evolve 19 | Paul Legan | Going Beyond Metadata: Extracting Meaningful Informa...
Evolve 19 | Paul Legan | Going Beyond Metadata: Extracting Meaningful Informa...Evolve 19 | Paul Legan | Going Beyond Metadata: Extracting Meaningful Informa...
Evolve 19 | Paul Legan | Going Beyond Metadata: Extracting Meaningful Informa...
 
Evolve19 | Giancarlo Berner & Brett Butterfield | AI & Adobe Sensei
Evolve19 | Giancarlo Berner & Brett Butterfield | AI & Adobe SenseiEvolve19 | Giancarlo Berner & Brett Butterfield | AI & Adobe Sensei
Evolve19 | Giancarlo Berner & Brett Butterfield | AI & Adobe Sensei
 
Evolve 19 | Gordon Pike | Prepping for Tomorrow - Creating a Flexible AEM Arc...
Evolve 19 | Gordon Pike | Prepping for Tomorrow - Creating a Flexible AEM Arc...Evolve 19 | Gordon Pike | Prepping for Tomorrow - Creating a Flexible AEM Arc...
Evolve 19 | Gordon Pike | Prepping for Tomorrow - Creating a Flexible AEM Arc...
 
Evolve 19 | Jayan Kandathil | Running AEM Workloads on Microsoft Azure
Evolve 19 | Jayan Kandathil | Running AEM Workloads on Microsoft AzureEvolve 19 | Jayan Kandathil | Running AEM Workloads on Microsoft Azure
Evolve 19 | Jayan Kandathil | Running AEM Workloads on Microsoft Azure
 
Evolve 19 | Amol Anand & Daniel Gordon | Author in AEM Once - Deliver Everywhere
Evolve 19 | Amol Anand & Daniel Gordon | Author in AEM Once - Deliver EverywhereEvolve 19 | Amol Anand & Daniel Gordon | Author in AEM Once - Deliver Everywhere
Evolve 19 | Amol Anand & Daniel Gordon | Author in AEM Once - Deliver Everywhere
 
Evolve 19 | Benjie Wheeler | Intro to Adobe Experience Manager 6.5
Evolve 19 | Benjie Wheeler | Intro to Adobe Experience Manager 6.5Evolve 19 | Benjie Wheeler | Intro to Adobe Experience Manager 6.5
Evolve 19 | Benjie Wheeler | Intro to Adobe Experience Manager 6.5
 
Evolve 19 | Bruce Swann | Adobe Campaign - Capabilities, Roadmap, and Fit wit...
Evolve 19 | Bruce Swann | Adobe Campaign - Capabilities, Roadmap, and Fit wit...Evolve 19 | Bruce Swann | Adobe Campaign - Capabilities, Roadmap, and Fit wit...
Evolve 19 | Bruce Swann | Adobe Campaign - Capabilities, Roadmap, and Fit wit...
 
Evolve 19 | Pete Hoback & Francisco Fagalde | AEM QA, UAT, & Go Live
Evolve 19 | Pete Hoback & Francisco Fagalde | AEM QA, UAT, & Go LiveEvolve 19 | Pete Hoback & Francisco Fagalde | AEM QA, UAT, & Go Live
Evolve 19 | Pete Hoback & Francisco Fagalde | AEM QA, UAT, & Go Live
 

Recently uploaded

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 

Recently uploaded (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

EVOLVE'16 | Keynote | Cat Reusswig | Taking Your AEM Implementation to The ROCKSTAR level!

  • 1. #evolverocks TAKING YOUR AEM IMPLEMENTATION TO ROCKSTAR LEVEL!!!!!! CAT REUSSWIG August 31, 2016
  • 2. #evolverocks • Culture • Mvp • Agile teams • Automation • devops TOPICS I’LL COVER HAVE NO FEAR: ITERATE EVERYTHING 2
  • 3. #evolverocks A way of thinking, behaving or working that exists in an organization CULTURE IS KEY 3
  • 4. #evolverocks ITERATE EVERYTHING, FEAR NOTHING! TRY STUFF! • Hypothetical: lets just say you are asked to start a major project initiative where they would like multiple sites migrated to AEM in parallel and quickly….. • What do you do? 4
  • 5. #evolverocks MVP – Minimal Viable Product, the smallest useful set of capabilities that will meet the business need in production MVP AND RELEASE PLANNING 5
  • 6. #evolverocks Abstraction: Story review  components ensures multi-use lego approach Story Mappings  aids in MVP creation CSS Strategy  shared plus specific ABSTRACTION LEADS TO FREEDOM DOESN’T HURT OPTIMIZATION EITHER 6
  • 7. #evolverocks Bigger projects vs smaller projects Mature team including solid Product Owners New team, learning curve/ramp up requirements Pairing! Time zones & communications SCRUM VS KANBAN CHOICES CHOICES 7
  • 8. #evolverocks Obvious answer: when communication goes to *$@#; When standups take more than 15 minutes BUT (behold the underlying truth!) Sometimes you need to try something to bring along more people to the agile way • New to agile, new to AEM, new to processes • Pair people so they function as one – only one speaks at Standup • Make each team as cross functional and complete as possible – include UX, PO, QA, Analytics, Devs, SM SCRUM TEAM SIZING HOW BIG IS TOO BIG? 8
  • 9. #evolverocks If the process is nailed  AUTOMATE IT! (why not?) • Releases • Deploys • Testing • Go/NoGo • Trouble-shooting AUTOMATION FOCUS FREE THE HUMANS – MAKE THE MACHINES DO IT! 9
  • 10. #evolverocks SHARED PAIN IS A GREAT MOTIVATOR: UAT Handoff • Provide UAT Wikis • Review Wikis (UAT Team) Beta Release • Cut Code and Create Release Candidate • Deploy to Beta (Test) Environment • Mark tickets for handoff PRODUCTION SUPPORT • Handle issues incoming from production DOTS: delivery of the sprint duties with sprint cycle rotation 40% 60% 10
  • 11. #evolverocks Focus one team on DOTS and live the pain HOW TO MAKE DOTS LESS SCARY NOTHING TO FEAR BUT FEAR ITSELF (OR JUST ELIMINATE THAT NASTY FEAR STUFF) Ooohh Noooo I’m on DOTS! 11
  • 12. #evolverocks • Github Webhook to kick off build (Jenkins) • Build includes Unit/Integration/Functional Tests • Karma Tests • Deploy to CI • Validation Scripts -> Check bundle status and that right ones are there • SmokeTest (author and publish are different) ensure app is up and running properly CONTINUOUS INTEGRATION UPLIFT First Stop: CI/CD 12
  • 13. #evolverocks • Content Syncs from Prod to Test Envs (Prod -> DW -> TestEnv) (remember Grabbit?) https://docs.adobe.com/docs/en/aem/6-2/administer/content/assets/best-practices-for- assets/assets-migration-guide.html • Release Cut (merge master into Release branch) • Update Jira Tickets with ToProd Info (tagging tickets that will be deployed in next release) • Update UAT Handoff Wikis -> Letting business and UAT teams know which tickets are ready for UAT and their status • Deploy latest release to Betas for testing. RELEASE PROCESS AUTOMATION THINGS WE USED TO DO MANUALLY THAT ARE NOW CRON JOBS Second Stop: Build & Release 13
  • 14. #evolverocks Utility Jobs - actions that used to be 100% manual now able to be triggered by Jenkins Job: • Server Restarts • Server Clean UP (Remove Zombie Bundles) • Clear Dispatcher Cache • Clear JSP Cache • Cherry-Pick (needed commits onto next release branch) • Build and Deploy Random Branch Jobs Our success: we extrapolated this entire process for our analytics code stream; mirroring the entire automated process for this additional code stream. Puppet makes it all work locally! RELEASE PROCESS - ROCKSTAR 14
  • 15. #evolverocks How to find out before the business team that something is wrong in PROD??? Spiked a story on identifying key transactions/metrics Spiked a story to learn with the experts on how to use our tool: AppD Focused on Instrumenting Business Transactions First Focus: FOLLOW THE $$$$$$$ -- do CHECKOUT END TO END! Collaborative team approach Tried all of it out in the BETA environment – Learned the hard way that we could impact production with our instrumentation so testing it is a good thing! NOW FOR THE HEAVY LIFTING: TROUBLE-SHOOTING AUTOMATION 15
  • 16. #evolverocks • Instrumentation For Checkout - Metrics on Avg Load, Response time, #Errors for every page in the flow - Counts on Splash Page Errors (specific reasons the flow fails or crashes) - Counts on flow entry and completion (rough look at close rate) • Instrumentation For Business Class - Metrics on Avg Load, Response time, # Errors on Home page vs other pages - Monitoring on Geolocation service - Number of times served up from "FingerPrint" (on network) availablityh - Number of times served up from fallback UPLIFT IN METRICS FOR THE DEV TEAM: ITS NOT JUST ABOUT ANALYTICS FOR THE BUSINESS 16
  • 17. #evolverocks Graphing the Metrics - Trending information on Error counts (Error/min VS Exception/min) - Dashboarding for DOTS (support) team - Traffic to nodes and datacenters - Response times, errors, load VISUALS 17
  • 19. #evolverocks Current Alerts - Average response times get too high - End User Monitoring times get too high - Disk space gets too low - Error rate gets too high Axioms - Only send alerts containing actionable steps to solve the issue! - Notices only go to people who can fix the problem NOTIFICATIONS 19
  • 20. #evolverocks FUTURE DREAMS Can actually be configured to trigger Jenkins jobs (like restarts) A great example would be when Disk space gets too low (due to AEM needing compaction)- AppD could alert and in the alert trigger a job that: 1. Emails support teams 2. Takes specific node out of node balancer 3. Performs compaction (including restarts) 4. Validates node 5. Puts back in load balancer 20
  • 21. #evolverocks DEVOPS: THE KEYS TO THE KINGDOM ITS HARD WORK, BUT WELL WORTH THE EFFORT! • For the 6.1 upgrade, we tackled improving our delivery & tooling with the migration to the cloud • We wanted elasticity, consistency that had eluded us in our VM env • VAGRANT image made it so ALL DEVS matched PROD!  QUALITY • Configuring any new environment, be it author, pub can be done almost instantly with our “infrastructure as code” • Fully redundant across data centers, GSLB • =#FREEDOM!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 21
  • 22. TOOLS USED TO HELP AUTOMATE THE AGILE DEV/TEST/DELIVERY CYCLE #evolverocks 22