Presentation on theme: "Using Atlassian Products in an Enterprise Environment"— Presentation transcript:
1Using Atlassian Products in an Enterprise Environment Mark McCormack British Telecom Inlife Support Lead Development Services Organisation
2Outline Using Atlassian products in an Enterprise Atlassian Product adoptionSize of Confluence and Jira in our EnterpriseSome Atlassian Use CasesCustomisationsApplication MonitoringPlatformWhat’s NextProduct WishlistSome Lessons LearntQ & A
3About London 2012 Olympics Network is available in 173 countries. Around 3,000 new customer sites every monthCarry 80% of all credit card transactions in the UK.More than 90% of the UK’s financial institutions use our secure data networksRolling out super-fast broadband to 40% of the UK by 2012.FTTC downloads of 40Mb/s and uploads of 2 Mb/s.FTTP downloads of 100 Mb/sLondon 2012 Olympics
4Development Services Organisation We advise on best practices for all toolsInlife team looks after all hosted applications:We are an Atlassian shopSubversion, Jive Forums, NexusOther in-house toolsAuthz, Teams, IPPI, Provisioning, Static Data & PALMSSDK Catalogue (will soon become BT Enterprise Repository)
5Product History Dec 2003 June 2004 April 2006 February 2007 July 2007 5 people created a team (called code red) but there was no way of coordinating their effortsBought Confluence and Jira and installed it on a PC and put it in a meeting roomJune 2004Usage spread to a few development teams (200 users)Bought new hardware and installed it in a server room (engineering.intra.bt.com)April 2006Another group installed a separate instance of Jira and Confluence to manage service improvementsFebruary 2007Management Services and Engineering decided joining forces would be a good ideaUserbase reached 300 and 2000 respectivelywas born and hosted by VS Group on VMWare.July 2007A Virtual Administrator crew formed out of 35 volunteers from the userbase to perform end user support and administer the platformTwo users in particular did most of the Admin work. Userbase grows to over 9000 people.
6Product Maturity August 2007 Sponsors found to pay for new hardware & uplift plan createdTeam split started to disrupt progress to achieve this and ownership was contestedSeptember 2007Userbase grows to 10,000October 2007I/O Capacity of the disks in the VSP environment started to be exceeded.Platform started to have outages with huge traffic increaseJanuary 2009:Moved to an enterprise hardware infrastructure, Oracle 10G RAC & 24x7 supportCollaborate Wiki was formed, Confluence 2.10 and integrated with CrowdFebruary 2009:Introduced Storm & Jira IssuesJuly 2009:Started to assimilate other wikis (like twiki, rdrwiki, ProfComms)
8Numbers 3 flavours of Jira ACF – Architecture Conformance Framework Issue Tracking (100 projects)Story Management Operating ModelBT is adding > 20,000 stories every month
9Confluence Use Cases Tool Guides on how to get started Tool Access Request FormsWe have a teams application we encourage before requesting a SpaceEarly stages of a Provision ApplicationApplication Deployment ScheduleCollaboration between Dev and Inlife Teams (geographically dispersed)Don’t send s but rather send Confluence linksTrying to have an FAQ before raising an issue for helpApplication Usage StatisticsMyBT has a dashboard interface and makes use of the Confluence remote API and render as html inside a portlet.Most of the Ajax related actions don’t work
10Confluence Customisations Implemented the functionality of security classification requirements in the scaffolding plugin.To implement this functionality the edit page / do edit page actions of the confluence needs to be overridden. Scaffolding plugin was already overriding the edit actions of confluence.Confluence doesn't allow two plugins to override a particular action.Extended the edit actions to include classification
11More Confluence Customisations https://collaborate.bt.com/staticdata plugin to provide a LOB picker from LDAPStatic Data Macro that retrieves platformsBT Space Admin Confluence plugin makes use of our eorg DB in order to get the Line of Business functionality associated with a SpaceModified the Excel Plugin as it was hanging Confluence a lotWe had one user with a page that had 48 references to the excel macroEvery reference was an API call that forced a GC, so we disabled explicit GCPage went from 14 minutes to load to about 4 seconds
12Customisations Hierarchy plugin Static Data plugin to strip LOB info out from LDAPLoads of constraints on Story creation and workflowAll Stories must have at least one child and at least on Acceptance CriteriaOrganogramAdded Active User Report under Users, Groups and RolesRoles for StormLoads of different workflows (put issues On Hold whilst with Dev team or Vendor)
13More Customisationshttps://collaborate.bt.com/fisheye plugin to allow the authorisation of SVN repositories (handled by hasPermissionToAccess method which is overrided to authorise against our Authz).Use https://collaborate.bt.com/crowd client libraries for apps like https://collaborate.bt.com/forumWe have a Jira Project that helps us keeps track of Subversion Projects ensuring everyone has a Salsa ID.Unified Rolling Calendar Plugin
14Application Monitoring ZXTMNagios alerts via for slow (or dead) apps.JMX is enabled for most of our java appsDisk space (e.g shell script to alert > 80%)Backup successes or failures uploaded to our wikiAccess logs with IP trackingUsage statistics to figure out what our users are doingPerl script we run for snapshots of ugly appsYourKit Profiling from within IntelliJkSar
15PlatformCurrently 18 HP Blades mostly BL460s with 2 Quad cores and 32GB of RAM for our existing hosted application serversRHEL 5 (soon OEL)Were using Weblogic 10.3 but now Tomcat 6JavaZXTM 5.0Oracle 10g in a Cluster hosted by another team on HP Blade 680s with 2 Quad cores and 64GB of RAMCrowd is our only clustered application (currently)We use Capistrano to help automate our deployments and allows easy rollback
16What’s Next? Clustering of Confluence, Jira and SVN Triple our hardware for Disaster RecoveryArchiving & stats analysis plugins (customised)Improve provisioningAll the Atlassian 2s (Bamboo, Crowd, Fisheye, Crucible) although upgrading to Fisheye 2.0 will be expensive on disk space.Start charting long-term trends with better monitoringAssimilate all wikis (like LimsWiki for one)
17Wishlist Confluence Wishlist Tighter integration with Jira Allow Jira Issues to be raised via Confluence and vice versaAllow profiles to have attributes (like team, group or project)Confluence attachment storage API. We want to store attachments away from Confluence and write our own adaptors to do this.Improve the edit permissions cascading securityCustomisations of actions (eg. Overrides to allow > 1 plugin)Jira WishlistAllow two columns for attributesAllow picklists to show more values without scrollingSmart forms that can include wiki macrosHow can we hide Administrators from assignee list?Can Greenhopper scale? How compatible is it with existing plugins/customisations?
18More WishesJira …Would like to use our Issues as a source for FAQ before users raise an issue?Ought to be Confluence tightly coupled with Jira Issue labelsTimebooking to allow resource Management?OthersFisheye 2 IE6 browser supportMake Crucible a viable app for the enterprise (we have some open Atlassian issues for 10k+ users)Can we turn on “remember my login on this computer” checkbox during login?
19Lessons Learnt Be wary of any plugin Excel Macro plugin We turned off the usage tracking pluginWe trialled the stats analysis plugin but its currently off since we got hammered two lunchtimes in a row shortly after going liveWebLogic seems to be a lot slower than tomcatConfluence 3.x is much better than 2.xWe had problems with Crowd 1.6 client and currently use Crowd 1.3 clientTune the JVM heapConfluence: we use java –server –Xms:8G –Xmx:8G PermSize=512m MaxPermSize=512m +UseParallelGC +AggressiveHeap LargePageSizeInBytes=4M -DisableExplicitGCJira: we use –server –Xms4G –Xmx4G PermSize=1G MaxPermSize=1G +UseParallelOldGC +AggressiveOptsCrowd: we use java –server –Xms:4G –Xmx:4G PermSize=512m MaxPermSize=512mFisheye: not really tuned yet –Xms:4G –Xmx:4G MaxPermSize=512m
20Questions firstname.lastname@example.org British Telecom Inlife Support Lead Development Services Organisation