Subscribe
About

A cloud computing reality

Cloud computing will play a key role in the development and proliferation of re-usable software.

Martin May
By Martin May, Regional director (Africa) of Extreme Networks.
Johannesburg, 04 Nov 2010

Despite the dramatic increase in computing power over the last decade, which could reasonably be expected to cut software development time and costs, the expenditure associated with software design continues to rise exponentially.

This is particularly true of networked applications where the costs tend to be linked to the re-invention of components that, unbeknown to the developers, are often available in other sectors of the software industry.

The challenge for many developers is, therefore, to either source or develop software with a high number of re-usable components, with a view to lowering costs and reducing time to launch.

In many instances, this has proven to be difficult because the skills required to source as well as develop, deploy and support re-usable software have not traditionally been widespread, but confined to the heads of skilled and experienced developers.

Nevertheless, it is now acknowledged that to develop quality software more quickly and at lower cost, a design process needs to be adopted based on efficient and logical software re-use. This includes the re-use of documents, coding styles, components, models, patterns and source code.

Old faithful

The benefits of software re-use include increased dependability - as it has been proven in working systems - and reduced process risk, a key consideration in terms of project management as it reduces the margin of error in cost estimations.

With current economic considerations in mind, software re-use needs to become a reality at a number of levels, ranging from simple functions to complete application systems.

Software re-use needs to become a reality at a number of levels.

Martin May is regional director of Enterasys Networks.

Significantly, cloud computing is destined to play a key role in the development and proliferation of re-usable software. By developing new software within the cloud environment, developers will have to work according to the cloud's open standards, which will present them with a number of opportunities to re-use their software in the future.

What's more, cloud computing is rapidly evolving into an Internet-based environment in which fundamental computing models, basic architectures and infrastructures as well as standardised platforms and services are readily available to software developers.

Reinventing the wheel

For new-generation developers, there is no reason to keep initiating new techniques and methods, as proven alternatives will soon be available (if not available already) within growing repositories of re-usable assets in the cloud.

These repositories will hold a host of innovative approaches and specialised tools with which to encourage new software developments and accelerate their commercialisation.

In an article in the C++ Report magazine in January 1999, Douglas C Schmidt, professor of Computer Science at Vanderbilt University, said to attract systematic software re-use, it is crucial to develop and support 're-use magnets' - well-documented framework and component repositories.

“In my experience, open source development processes are an effective process for creating attractive re-use magnets... the open source model allows users and developers to participate together in evolving software assets,” he said.

He highlighted a key strength of the open source model; its ability to scale well to large user communities where application developers and end-users can assist with much of the quality assurance, documentation and support.

Over the last 11 years, open source software has provided or strengthened the foundation for many cloud computing implementations, and there remain a number of open standards under development tailored to suit the cloud, including the Open Grid Forum's Open Cloud Computing Interface.

Moreover, the Open Cloud Consortium (OCC), which is working to develop consensus on cloud computing standards and practices, supports the development of standards for cloud computing and frameworks for interoperating between clouds. It also develops benchmarks for cloud computing and supports reference implementations for the cloud.

In addition, the OCC manages test facilities for cloud computing, such as the Open Cloud Testbed, and operates cloud computing infrastructure to support scientific research, including the Open Science Data Cloud.

Once these standards are completed and accepted by even a few cloud service providers, they will gather momentum, and increasing numbers of customers will opt to choose service providers that support them.

Open source technology will also open cloud computing to more service organisations, allowing them to create and offer services running on standard hardware. This will give customers an increasing diversity of choice and avoid the feared vendor lock-in syndrome.

Against this backdrop, it is encouraging to see how decisions to use an open source platform are moving rapidly from the software development specialists to become an important strategic option selected by company executives as part of a corporate-wide computing strategy, which is centred on the cloud.

* Join Martin May on Facebook: http://www.facebook.com/martin.may.enterasys

Share