Today, organisations need more agile IT environments to match the highly dynamic and resource-intensive needs of the application development function, without compromising the performance of production workloads.
2. opinion piece | Cloud Breathes New Life into Test and Development
Today, organisations need more
agile IT environments to match
the highly dynamic and resource-
intensive needs of the application
development function. A new
generation of cloud services is rising
to the occasion.
Businesses today face as many obstacles as
they do opportunities: shrinking budgets,
onerous regulatory requirements, and
emerging competition from new players
in the market. As the pace of change and
the level of competition grow, they need
to become ever more fleet-of-foot in
deploying new products and services. For
these reasons, software and application
development is becoming a business-critical
undertaking, one that has direct impact
on corporate revenues and customer
satisfaction.
The returns for accelerating the time-to-
market for key software and applications
are measurable and immediate across
all industry verticals. For example, in the
financial services industry, providing new
online capabilities for portfolio and wealth
management affects your ability to attract
customers and to keep them coming back.
If you can take a particular set of online
services to market a month or quarter
ahead of your competition, you’ll directly
drive up your revenues.
Development teams need to build new
environments to design, write or debug
code and compile software on a regular
basis. To operate at maximum productivity,
development teams need access to
properly configured computing and storage
resources, on-demand. Oftentimes, these
environments are transitory – developers
will work on them for a few hours, after
which they’ll be discarded.
However, traditional test and development
environments often tend to inhibit, rather
than enable, this level of agility. Typically,
IT administrators control the provisioning
of these resources, or the number of
resources to which developers have
access is restricted. To access resources,
the development team will need to apply
for budgetary approval for a new set of
dedicated computing resources, order
them, (impatiently) wait for delivery, install
and configure the resources, and finally set
up the new development environment. It’s
a costly and time-consuming arrangement.
There’s also a good chance that these
resources will end up being underutilised
during their working lives.
Developers, accustomed to operating
in dynamic, fast-paced environments,
find this prolonged process frustrating.
IT administrators, on the other hand see
value in taking time to create development
environments that are more static, to
provide maximum stability. Unsurprisingly,
these opposing requirements often lead
to a dip in productivity on the part of
software development teams. It can also
lead to rogue purchasing of infrastructure
or public cloud resources.
Testing, testing
Once new software has been developed,
the next step is quality assurance (QA)
and performance and scalability testing.
To assure performance levels, the QA
environment must provision resources that
perform at production levels. This means
high-speed networks, fast storage systems,
throughput and latency levels on a par with
those within a production environment.
Servers must be optimised with the
appropriate amount of CPU and RAM.
Creating a high-performance testing
environment that directly mirrors the
production environment is no mean feat.
Additionally, developers may experience
resistance on the part of IT administrators,
who may be loath to divert resources
away from the production environment in
fear of compromising service levels. And
even if administrators are willing and able
to provide the necessary resources, the
process establishing a configuration for
performance testing can be lengthy and
resource intensive. As a result, this step
in the development process is sometimes
performed less than thoroughly, or even
skipped entirely. This can lead to costly
rework when problems aren’t discovered
until late in the cycle, or worse still, post
deployment.
It’s clear that the traditional approach
to testing and development isn’t
serving businesses as well as it should.
Today, organisations need more agile
IT environments to match the highly
dynamic and resource-intensive needs of
the application development function,
without compromising the performance of
production workloads.
Some organisations seek to address their
testing and development challenges by
increasing their number of virtual servers.
This isn’t always effective; however, while
the provisioning of resources will be faster,
it will remain a manual process, undertaken
by IT administrators.
Today, organisations need more agile
IT environments to match the highly
dynamic and resource-intensive needs
of the application development function,
without compromising the performance of
production workloads.