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

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
 
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
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
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
 

Recently uploaded (20)

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
 
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
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
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
 

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