How many early software developers had even heard of IT
operations? (Aren't they the guys responsible for running the
mainframe and a bunch of arcane business applications?)
Well, times have now changed.
The new mission-critical nature of Web applications has
brought operations out of the data center and into the
development lab. This changed environment also requires that
developers work as part of a larger cross-functional
technology team to deploy and run the latest software.
This collaboration is not always a smooth process, as the
interaction between these teams may be hindered by complex
technologies and poor tools.
Who is responsible when a complex multi-tier application
fails to deploy correctly? What happens when an application
runs correctly, but intermittently exhibits poor performance?
These vexing questions, and others like them, can slow
technical progress to a crawl.
Today, despite the obvious need to work together, there is
often tension between the development and operations teams.
What if technology could be used to bridge the chasm between
these two crucially important teams?
IBM has finally built a bridge. With the company's latest
Rational and Tivoli tools, complex distributed applications
can now be deployed reliably, and production issues can be
diagnosed with ease.
Deployment Automation Is Your Friend
Building and
deploying a complex multi-tier Web application by hand is not
a task for the faint of heart. When the build/deploy process
is not automated, executable code destined for various targets
must be manually copied from a build environment to a
deployment area and then manually distributed. Server
provisioning and configurations must also be checked manually,
and logs must kept for which releases went to which servers.
Certain problems can arise during a manual build/deploy
process, including:
- Difficulty in reproducing and fixing defects, which can
delay application delivery and decrease application quality.
- Difficulty in rolling an application back to a previous
version, which can waste both time and development
resources.
- Redeployment failures, which can waste time and
resources and negatively affect customer satisfaction.
- Undocumented deployment procedures, which can decrease
individual productivity.
Frankly, manual deployment
is a recipe for disaster. There is just too much room for
error. The corresponding finger pointing that arises from
less-than-successful deployments practically guarantees a
strained relationship between development and operations.
Even when an automated solution for managing software
deployments is in place, many problems still remain,
particularly those pertaining to defect repair and rollback.
These issues persist because no automated linkage exists
between management of the deployed applications and the
management of the software configurations used to build them.
The key to a smooth software build/deploy cycle is a
reliable, automated process that allows problems to be
reproduced, diagnosed, and repaired against the precise
version of the application that failed on the platform
involved. This solution makes other automated capabilities
that are critical to success possible, such as:
- The ability to roll back smoothly to a previous
application version when issues occur, without the need for
manual intervention.
- An audit trail that specifies what executables were
deployed and where.
- The ability to maximize time and resources by building
and deploying only the components necessary to "patch" a
defect or implement an enhancement, as opposed to rebuilding
and redeploying the entire application.
Organizations will find that
IBM Rational ClearCase and
IBM Tivoli Configuration Manager are
perfectly suited to manage their software build/deploy cycles.
Rational ClearCase provides an extensive range of SCM
capabilities, including version control, flexible workspace
management, access control, and advanced build management. It
also includes comprehensive build auditing, so you will know
exactly what went into a release.
Tivoli Configuration Manager provides comprehensive,
multiplatform control over enterprise-wide software
distribution and inventory management processes, including
rollback, traceability, dependency checking, reporting, and
access control. It allows users to schedule, submit, monitor,
and control distribution activities to simplify and streamline
software distribution.
When used together, Rational ClearCase and Tivoli
Configuration Manager provide a proven solution that enables
organizations to build and deploy applications across even the
most complex global environments. A ClearCase baseline (which
contains the assets needed for distribution) is easily
packaged into a Tivoli distribution package. The Tivoli
Configuration Manager then automatically delivers the software
packages to the target destinations (even those operating
outside corporate firewalls).
Dogged by Poor Performance?
What about
applications that deploy correctly, but exhibit sub-par
performance? Any developer who has worked on production
performance problems knows the challenges—intermittent delays
that are hard to reproduce, a paucity of useful diagnostic
data, and an unforgiving environment that cannot be changed
without serious consequences.
Production performance problems can be the source of
endless frustration. Without real insight into application
behavior, you'll never know exactly what is going on.
Moreover, if there is any meaningful diagnostic data, it's
often tedious to retrieve it from the production environment
and extremely challenging to correlate the data with the
application itself.
Working in concert with IBM Tivoli Monitoring for Transaction
Performance, the IBM Problem Resolution Toolkit
rapidly brings an end to fruitless searches. The Problem
Resolution Toolkit improves time-to-problem resolution by
providing a detailed view of Tivoli-collected production
profiling data within IBM Rational Application Developer.
Problematic transactions can be viewed as a UML2 sequence
diagram to clearly show the interactions between classes and
where the most time is being spent. Upon locating the
offending class, you can quickly jump into the source code for
further analysis. The Problem Resolution Toolkit also lets you
view profiling data in more traditional ways, such as via
annotated call graphs and by drilling down into a method to
understand the behavior of the method and its descendants
fully.
Success Is the Only Option
Organizations that use
IBM Rational/Tivoli tools to address their deployment and
production needs will find themselves well positioned to
succeed. Not only do these tools overcome a number of
challenging technical issues; they also can improve
cooperation between the development and operations teams by
eliminating long-standing points of friction.
| Note: |
Concerns
about the effective collaboration of developers and
members of the IT operations team is characteristic of
the broader struggle organizations face in their effort
to better align IT with the needs of the business. IBM
is dedicating a lot of cycles to defining, analyzing and
addressing these broader IT lifecycle management (ITLM)
concerns, and the capabilities listed in this article
are a result of that effort.
For a broader
discussion of IT lifecycle management and IBM's plans
for addressing it, visit the ITLM
homepage. |