Supporting Atlassian
     Software
      Keith Brophy
System Documentation
• Application deployment
• Server configuration
• Logging configuration
• Database
• External systems integration
• Application change log
Backups

• Backup policy
• Application files
• File system files
• Database
• Use native database tools
Upgrades

• Review release notes
• Test, Test, Test
• Upgrade checklist
• Plugin compatibility
Security

• X-Factor
 • XSS
 • XSRF
 • Header INjection
• Security Advisories
Test Environments

• Clone of production
• Test major system changes
• Test plugins
• Stress/Load testing
Plugins
• Review Plugin
 • Documentation
 • Recent updates/releases
 • Compatibility with your version (UPM)
 • Source code
• Verify in test environment
Logs

• Review regularly
• Keep clean
• Vital for support requests
• Confluence Support Utility
Monitoring

• Resource metrics
• Application metrics
• Enable JMX for remote JVM monitoring
• Monitoring tools
Exceptions

• Fatal - capture details before restarting
• Retrace Steps
• Is it reproducible?
• Review logs
• Plugin issue - disable until diagnosed
Memory Issues

• Limited resource
• Increase memory (not always!)
• Enable GC logging
• Heapdump analysis
Performance

• Difficult to diagnose
• Enable profiling
• Thread dump analysis
• External profiling tools
Who ya gonna call?

• Atlassian Support
• Online Documentation
• Forums
• J.A.C. / S.P.A.C.
• Partner Support Programs
•   Support

•   Consultancy

•   Hosting

•   Training

•   www.adaptavist.com
•   Attributions


•   RachelH - Old books at Kirkdale - http://www.flickr.com/photos/bagelmouse/4695867796


•   Nevada Tumbleweed - Nevada Test Site Gate #1 - http://www.flickr.com/photos/us_army_rolling_along/4182005549/


•   713 Avenue - Lego Color Bricks - http://www.flickr.com/photos/seven13avenue/2080281038/


•   Tony the Misfit - Maine Logging Truck - http://www.flickr.com/photos/tonythemisfit/3840163742


•   teamaskins - Surveillance - http://www.flickr.com/photos/teamaskins/379578703


•   _rockinfree - Times Square - http://www.flickr.com/photos/rockinfree/4577763508/


•   graeme_newcomb - Bike of Burden in Vietnam - http://www.flickr.com/photos/graemenewcomb/358329131/


•   Xurble - Ghostbusters Car - http://www.flickr.com/photos/xurble/2441298832/


•   thecrazyfilmgirl - Stop Sign - http://www.flickr.com/photos/thecrazyfilmgirl/3248283617/


•   Nathan Eal Photography - Going nowhere fast - http://www.flickr.com/photos/thatguyfromcchs08/2300190277/


•   The U.S. Army - Aerial security in Kandahar - http://www.flickr.com/photos/soldiersmediacenter/4408186601/

Supporting Atlassian Software

  • 1.
    Supporting Atlassian Software Keith Brophy
  • 3.
    System Documentation • Applicationdeployment • Server configuration • Logging configuration • Database • External systems integration • Application change log
  • 5.
    Backups • Backup policy •Application files • File system files • Database • Use native database tools
  • 7.
    Upgrades • Review releasenotes • Test, Test, Test • Upgrade checklist • Plugin compatibility
  • 9.
    Security • X-Factor •XSS • XSRF • Header INjection • Security Advisories
  • 11.
    Test Environments • Cloneof production • Test major system changes • Test plugins • Stress/Load testing
  • 13.
    Plugins • Review Plugin • Documentation • Recent updates/releases • Compatibility with your version (UPM) • Source code • Verify in test environment
  • 15.
    Logs • Review regularly •Keep clean • Vital for support requests • Confluence Support Utility
  • 17.
    Monitoring • Resource metrics •Application metrics • Enable JMX for remote JVM monitoring • Monitoring tools
  • 19.
    Exceptions • Fatal -capture details before restarting • Retrace Steps • Is it reproducible? • Review logs • Plugin issue - disable until diagnosed
  • 21.
    Memory Issues • Limitedresource • Increase memory (not always!) • Enable GC logging • Heapdump analysis
  • 23.
    Performance • Difficult todiagnose • Enable profiling • Thread dump analysis • External profiling tools
  • 25.
    Who ya gonnacall? • Atlassian Support • Online Documentation • Forums • J.A.C. / S.P.A.C. • Partner Support Programs
  • 26.
    Support • Consultancy • Hosting • Training • www.adaptavist.com
  • 28.
    Attributions • RachelH - Old books at Kirkdale - http://www.flickr.com/photos/bagelmouse/4695867796 • Nevada Tumbleweed - Nevada Test Site Gate #1 - http://www.flickr.com/photos/us_army_rolling_along/4182005549/ • 713 Avenue - Lego Color Bricks - http://www.flickr.com/photos/seven13avenue/2080281038/ • Tony the Misfit - Maine Logging Truck - http://www.flickr.com/photos/tonythemisfit/3840163742 • teamaskins - Surveillance - http://www.flickr.com/photos/teamaskins/379578703 • _rockinfree - Times Square - http://www.flickr.com/photos/rockinfree/4577763508/ • graeme_newcomb - Bike of Burden in Vietnam - http://www.flickr.com/photos/graemenewcomb/358329131/ • Xurble - Ghostbusters Car - http://www.flickr.com/photos/xurble/2441298832/ • thecrazyfilmgirl - Stop Sign - http://www.flickr.com/photos/thecrazyfilmgirl/3248283617/ • Nathan Eal Photography - Going nowhere fast - http://www.flickr.com/photos/thatguyfromcchs08/2300190277/ • The U.S. Army - Aerial security in Kandahar - http://www.flickr.com/photos/soldiersmediacenter/4408186601/

Editor's Notes

  • #2 * Supporting Atlassian Software - brief how-to\n* No magic\n* Principles for managing any application - and more specifically a Java web application - apply\n* Reading 'The CheckList Manifesto' by Dr Atul Gawande - main message: no matter how expert you may be, well-designed check lists can improve outcomes in nearly all circumstances - examples of surgical teams, pilots.\n* Some of these points could be captured in your Support Checklist\n
  • #3 \n
  • #4 * Nature of Atlassian software - grows ORGANICALLY from small roots - small teams grow across organisation\n* Important to document: INSTALLATION, WHATS CONNECTED and HOW (in case JIRA admin heads off to the Bahamas)\n* CHANGE LOG - capture all changes - PATCHES, PLUGINS, INFRASTRUCTURE changes\n* Some clients - COMPLETE DOCUMENTATION - rebuild deployments from scratch - STEP BY STEP\n* UP TO DATE - INCORRECT worse than NONE\n* STORE WISELY - app containing info may be down\n
  • #5 \n
  • #6 * DEFINE YOUR POLICY TODAY\n* More software used - more important information is stored - MORE CRITICAL it is use to build in RESILIENCE to usage\n* Get Backup policy right from START\n* Consult with your IT dept - should fit with their normal procedures\n* NATIVE DB tools should be used in most case - XML may become corrupted and unable to restore - uses a lot of memory in its generation\n* Feature request: Confluence WILL NOT WARN you when BACKUP FAILS\n
  • #7 \n
  • #8 * AGGRESSIVE release policy - new features/bugs/improvements available ASAP (6 JIRA releases, 8 Confluence releases, 10 Bamboo releases)\n* Can be too QUICK for some (integration with other systems, support) - ADVISABLE to stay as up to date as your IT team will PERMIT\n* EOL policy - supports major versions for two years after the last minor iteration of that version was released (e.g. Confluence 2.2.x was supported for 2 years after Confluence 2.2.10 was released)\n* STAY AHEAD OF EOL WAVE - avail of improvements and security patches if nothing else\n* TEST - Checklist for what must work - JIRA (workflows, custom fields), Confluence (theme, permissions)\n* Plugin compatibility checklist - are all your key plugins compatible with latest version\n\n
  • #9 \n
  • #10 * BENEFIT - upgrades get the lastest security fixes and patches\n* SECURITY ADVISORIES - vulnerabilities or breaches found within their applications - documentation/mailing lists - managed via my.atlassian.com\n* LAST NIGHT - Advisory for JIRA with 2 high level XSS/XSRF issues and a moderate and low risk vulnerabilty on secure tokens and components\n
  • #11 \n
  • #12 * EXACT CLONE OF PRODUCTION - otherwise you lose a lot of the value\n* Never SURE if change/fix/plugin will perform same WAY on PRODUCTION\n* SANDBOX where you can test INFRASTRUCTURAL changes\n* New PLUGINS - verify FUNCTIONALITY / COMPATIBILITY / PERFORMANCE\n* STRESS / LOAD testing - LOAD REPLICATION TOOL\n* EXISTING COMMERCIAL lisense holders = DEVELOPER LICESNE - no need for full commercial license\n
  • #13 \n
  • #14 * PLUGINS - make ECOSYSTEM so INTERESTING AND VIBRANT\n* Applications not just ISSUE TRACKER or WIKIS - PLATFORMS to BUILD ON and INTEGRATE with other systems\n* Spiderman's Grand Dad - WITH GREAT POWER COMES GREAT RESPONSIBILITY\n* NO STEVE JOBS to curate what appears in your UPM\n* DETECTIVE WORK - docs / release/ compatibility / source code\n* TEST ENVIRONMENT - experiment with plugin\n
  • #15 \n
  • #16 * START GOING WRONG - the LOGS are your friends\n* INDICATE if a problem is BREWING or if it has already HAPPENED\n* PINPOINT where problem occurs - or at least good indication\n* GENERAL HOUSE-KEEPING - weed out over-zealously reported expcetions (macro wrong param)\n* VITAL for support support request - first response will be to ATTACH the logs\n* Eash through Confluence - SUPPORT UTILTIY TOOL\n
  • #17 \n
  • #18 * MORE MONITORING\n* Resource monitoring - MEMORY / CPU / DISK\n* Application monitoring - RESPONSE TIMES / LOAD / CONNECTIONS / IO / DATABASE TRENDS / USER ACCESS LOGGING\n* GATHER over PERIOD of TIME - VISUALISE DATA - see trends\n* TOOLS - Hyperic / Pingdom\n\n
  • #19 \n
  • #20 * WHEN APPLICATIONS GO BAD\n* The SCENARIO that should have NEVER happened in REAL LIFE - bubbles up to user in all its glory!\n* CAPTURE as much data as possible (LOGS, steps to REPRODUCE, SCREENSHOTS)\n* Logs are invaluable - user access logging, you should be able to see exactly what the user was doing\n* SERIOUS PLUGIN ISSUE - disable until diagnosed and fixed\n
  • #21 \n
  • #22 * ALL SYSTEMS hav LIMITED RESOURCES - MEMORY is one of them\n* 32-bit Windows system - 1.4GB-1.6GB - 64-bit system provides more\n* Sometimes INCREASING MEMORY can help - but NOT ALWAYS!\n* Can cause more problems - especially if there is a MEMORY LEAK!\n* GC Logging / HEAPDUMPS on OOME\n* MAKE ONE CHANGE at a TIME\n
  • #23 \n
  • #24 * REPORTS of SLOW RESPONSE times\n* PROFILING to see brekdown of where time is spend on EACH REQUEST\n* Thread dumps can also show exactly what the application is working on if slow or not responding\n* PROFILING TOOLS - YOURKIT\n
  • #25 \n
  • #26 * ALL A LITTLE OVERWHELMING - help is out there!\n* Atlassian offer an excellent support service\n* A lot of ONLINE DOCUMENTATION - KNOWLEDGE BASE\n* COMMUNITY SUPPORT - Forums - Altassian, Adaptavist - many partner sites\n* PARTNER PROGRAMS for SUPPORT \n
  • #27 * ADAPTAVIST SUPPORT\n* Comprehensive diagnosis and advice service for all your JIRA, CONFLUENCE or CROWD questions/issues\n* Can also help out in EOL situations incase you have been submerged by that wave.\n
  • #28 \n
  • #29 \n