Infrastructure Wishlist

Get Started. It's Free
or sign up with your email address
Infrastructure Wishlist by Mind Map: Infrastructure Wishlist

1. The goals of SCM are generally: * Configuration Identification - What code are we working with? * Configuration Control - Controlling the release of a product and its changes. * Status Accounting - Recording and reporting the status of components. * Review - Ensuring completeness and consistency among components. * Build Management - Managing the process and tools used for builds. * Process Management - Ensuring adherence to the organization's development process. * Environment Management - Managing the software and hardware that host our system. * Teamwork - Facilitate team interactions related to the process. * Defect Tracking - making sure every defect has traceability back to the source

2. Change/Configuration Management

2.1. Issue Tracker: JIRA

2.1.1. Organizes the work items

2.1.2. Keeps track of the changes per release

2.1.3. Good if it can integrate with the Source Repository to show the actual changes

2.1.4. Planning help

2.2. Source Repository: Subversion

2.2.1. Versioning Scheme

2.2.1.1. one size does not fit all

2.2.1.2. see the Streaming Lines patterns

2.2.2. Release Tags

2.2.2.1. release can be rebuilt any time

2.2.2.2. checkout old sources for debugging

2.2.3. Release Branches

2.3. Integration Server

2.3.1. Performs automated builds

2.3.2. Controlled environment to ensure clean builds for testing and release.

2.3.3. Mediates between the source and release repository.

2.4. Release Repository

2.4.1. All artifacts are frozen forever

2.4.2. Highly available

2.5. Release Notes

2.5.1. Integrated with issue tracking

2.5.2. Integrated with source repository

3. Minimum REQUIRED Project Documentation

3.1. Project Overview

3.1.1. What it does

3.1.2. Architectural summary

3.1.3. Deployment summary

3.2. Support FAQ

3.3. Operation Manual - how to perform typical tasks (less than 3 printed pages)

3.4. optional

3.4.1. Packaging and Deployment Details (only if it differs than the standard stereotype)

3.4.2. Developer Overview

3.4.3. Glossary

4. Basic Services

4.1. DNS

4.1.1. Makes it easier replace a server

4.1.2. If we give each app an unique DNS name, we can easily move the apps between physical machines

4.1.3. Makes the DR easier.

4.2. DHCP

4.2.1. Provides more control on the used IPs

4.2.2. Makes using VMWare easier

5. App Provisioning

5.1. Knows which host should have which version of an application

5.2. Push out/rollback an application with a single command

5.3. products

5.3.1. traditional

5.3.1.1. IBM Tivoli

5.3.1.2. Sun N1

5.3.1.3. ControlTier (consultingware)

5.3.2. virtualization

5.3.2.1. BMC Virtualizer

5.3.2.2. VMWare

5.3.2.3. DataSynapse

5.3.2.4. Azul (JVM Virtualization)

5.3.2.5. Platform

6. User Provisioning

6.1. Application accounts should not be used by users! Instead user accounts should get sudo access or go through a management console.

6.2. LDAP PAM

6.2.1. each user has the same name/pass everywhere

6.2.2. can use the AD infrastructure

6.3. Kerberos

6.3.1. single sign on

6.3.2. delegation (more fine grained than sudo)

6.3.3. requires more administration than simple LDAP + sudo

6.4. systems

6.4.1. Windows

6.4.2. Solaris

6.4.3. Sybase

6.4.4. Applications

7. App Management

7.1. Monitoring

7.1.1. Know about app dependencies

7.1.2. Notify about change of status

7.1.3. Keep track about app events

7.1.4. View current app state

7.1.5. Maintain Statistics & Historical info

7.2. Management

7.2.1. Start an application and all prerequisites with a single command.

7.2.2. Automatically execute user specified command or management operation

7.2.2.1. when

7.2.2.1.1. app failure

7.2.2.1.2. parameter crosses a threshold

7.2.3. Schedule operation for the next control window

7.3. Notification

7.3.1. Send an notification when event occurs.

7.3.2. Send aggregated report on fixed interval.

7.3.3. Send aggregated report XX minutes after the first event.

7.4. Audit

7.4.1. Keep track of the management operations performed by each user. This includes scheduling/unscheduling a management operation.

7.5. interfaces

7.5.1. SNMP

7.5.1.1. hardware and OS resources

7.5.2. JMX

7.5.2.1. every Java application running on JDK1.5+

7.5.3. WMI

7.5.3.1. Windows

7.6. products

7.6.1. BMC Patrol (global standard)

7.6.2. Nagios (free)

7.6.3. JManage (free, JMX only)

7.6.4. Open NMS (free)

7.6.5. Manage Engine (up to 5 managed apps is free; cheap)