The following are the typical questions that could come up during a Technical Deployment Workshop along with some of the information we like to see in advance.
Prerequisites
Current topology with detailed server specifications (cores, memory, disk, OS, etc)
JVM Settings
System Monitoring reports for typical 24hr period
TBD Standard Topology Survey results
Integrated view of software development lifecycle tool landscape
Which Rational products have you deployed?
What other IBM tools/versions are integrated into your Rational environment?
What 3rd party tools/versions are integrated into your Rational environment?
What open source tools/versions are integrated into your Rational environment?
What home grown tools are integrated into your Rational environment?
If using RTC, what Eclipse/Visual Studio clients do you integrate with? What difficulties do you experience keeping them in sync with a deployed/supported version of RTC/CLM? Do you have or need a mixed client version environment (n-1 compatibility)?
In cases of multiple Jazz application servers of a given kind (e.g. multiple CCM servers), how are projects assigned to given server? Are there cross-server relationships between these projects?
What traceability relationships exist between the application artifacts?
Is RTC distributed SCM in use?
Is RTC process sharing in use?
What is your typical release pattern/schedule?
Have you implemented a continuous integration practice?
What is your volume of builds per day? week?
Have you implemented a continuous deployment practice?
What is your volume of deployments per day? week?
What are the typical application usage patterns by each CLM application and each role?
Top end user issues and concerns
What performance concerns do you have at this time?
What are the primary end user issues and concerns at the moment? Have you logged PMRs?
What are the primary application administration issues and concerns at the moment? Have you logged PMRs?
Do you have planned outages? How often/long? What do you during those times?
What is your requirement for Mean Time to Recovery (MTTR) for high availability scenarios in hours? see Mean Time to Recovery (MTTR). What is your typical/actual MTTR?
1 hour or more is reasonable. Anything less will be difficult to achieve.
What is your required Recovery Point Objective (RPO) for disaster recovery scenarios in hours? see Recovery point objective (RPO). What is your typical/actual recovery point?
24hours is fairly standard. Less is very aggressive, difficult to achieve.
What is your required Recovery Time Objective (RTO) for disaster recovery scenarios in hours? see Recovery time objective (RTO). What is your typical/actual recovery time?
2 days is reasonable
Approach
What is your strategy for backup?
What do you back-up? see CLM Backup (db conf files, proxy, virtual servers)
How often to you back-up your development environment?
How often do you test your approach to back-up (and restore)? How?
Do you perform root cause analysis of your failures and what are they telling you?
How are failures detected? How are you notified of your failures? How are they triaged?
Do you monitor for failures? Which levels?
How long do you try to recover from an HA failure before you decide to treat it as a DR failure?
What approach and technology do you use to support application tier high availability?
What approach and technology do you use to support application tier disaster recovery?
How often do you test your approach to high availability? How? see Chaos Monkey.
How often do you test your approach to disaster recovery? How?
Do you have a backup for every person involved in the process from failure to recovery?
Do you have the author or another test the procedures?
How do you verify that the environment has recovered properly?
Monitoring a system provides insight into trends and behavior based on real production data
Understanding what monitoring data tells us can enable capacity planning
Performance capability and problems can be best analyzed by understanding the normal behavior of a system as documented through monitoring data
Introduce the ideas of
Tactical monitoring, or “Monitoring in a time of war” I.e.: during a crit when logs are needed
Strategic monitoring, or “Monitoring in a time of peace” i.e.: when things are good and systems are usually left alone
What does the client monitor today?
App,App Server, System/OS, VM/LPAR, DB, Network, availability, end-user performance benchmarks, end to end user transaction performance, users/license, reverse proxy, caching proxy
What would the client like to monitor in addition?
App,App Server, System/OS,VM/LPAR, DB, Network, availability, end-user performance benchmarks, end to end user transaction performance, users/license, reverse proxy, caching proxy
What tools does the client use to monitor today?
IBM tools, jtsmon, homegrown, 3rd-party?
And at what tiers do these tools monitor?
What does the client do with the data that they monitor?
Tactical (monitoring > triggers)
Introduce, or acknowledge the “detect, decide, do” model
Are there triggers which cause alarms, e.g. JVM > X GB, CPU > 90%, end-user ping > 10sec, etc. ?
Do they have flowcharts, engagement matrix?
How do they do triage?
Do they do any postmortems or analysis?
Strategic (monitoring > planning)
Is data consolidated into a dashboard?
Are reports created?
How much data is created? How long do they save it?
Can they use their monitoring to formulate any trend data?
Can this trend data be used to forecast capacity planning?
What other groups might view monitoring data and what might they see?
IT looks at servers; Finance looks at licenses; Team admins look at usage; dbas look at dbs
Introduce the 5 (actually 6) things we suggest they monitor at a minimum
JVM size, CPU %, license usage, db size, data moved up/down into app server and db server, uptime
Do they monitor these 5 things?
What do they think is missing from our tools in re monitoring?
Security, audit and compliance
What security export regulations must you comply with?
local, regional, national, international
people, facility, corporate
database, application, web tiers
Are there multiple levels of security to work within e.g. unclassified, restricted, confidential, secret, top secret?
What confidentiality standards must you comply with?
teams within organization, between organization and with customer, between partners/subcontractors
people, facility, corporate
database, application, web tiers
Is there a need for multi-tenancy, e.g. host environment for multiple customers/contractors and need to segregate them?
Are there any needs to restrict what a given role, project, application, etc. has access to?
Do you have any corporate, national, etc. audit requirements (eg. UK FSA, SOX)? What impact does that have on data retention and access control?
Are there any other standards that impact the construction and use of your development environment?
What remote access/VPN/VDI requirements do you have?
Do you permit BYOD/mobile access? What standards/policies govern their use?
Do you have any corporate SSO standards and preferred technologies?
What web tier security do you have in place?
Do you do SSL offloading at the web tier (HTTPS outside data center and HTTP inside)?
Administration, configuring, tuning
Do you use your corporate help desk for capturing tickets against your environment?
Do you use RTC for your own infrastructure/tools team planning?
What are the administrative responsibilities of the CLM tools team?
What are the administrative responsibilities of the infrastructure team?
What are the administrative responsibilities of the project teams?
What are the support hours for the CLM tools team vs infrastructure team?
Do you have a regularly scheduled maintenance window?
What administrative procedures do you have documented in detail (e.g. backup, upgrade, maintenance)? How often are they reviewed or tested? Can they be performed by multiple team members?
Do you have a central knowledgebase (e.g. wiki) for capturing and publishing your procedures?
Where do your admins/end users go for documentation (external to IBM and/or internal to their site)?
Do you version control any part of your procedures or automation scripts?
For the responsibilities of the CLM tools team, do you have at least two administrators capable of performing each responsibility?
What approval process is required to make changes to the project, application, server, etc?
What training do you provide? How? When?
What additional administrative or application skills does your team need?