I don’t often blog on specific products or services but I when I recently saw the new partnership between IBM and Cloudshare for agile development I had an epiphany. What caught my attention was not the specific features of the individual products or the combined partnership but the logical application of technologies to solve a long-standing problem.
Cloud has been hailed as a panacea. Moving products, services and infrastructure to the cloud is NOT a clear and simple decision. Usually. But if there ever was a great convergence of technology and need it is in application development. Having worked in infrastructure management for over 20 years I know all too well how development is often the “orphan stepchild” of IT departments. So here are 3 reasons why the cloud is a natural fit as infrastructure for development environments:
1. It’s Fluid
In my experience, IT infrastructure teams tend to focus on “live” production environments. Development environments are not considered production, so are not treated with the same level of care (uptime, data protection, DR, etc) as production environments. However, there is a tangible impact — read cost — associated with disruptions in development environments. Taking the burden of deployment and support off internal IT teams adds value and flexibility. Need a new environment to development a new feature? Spin it up. Need a quick demo environment for an investor or custom environment for a prospect? No problem. This is the flexibility that has long been missing in development environments.
2. It’s Autonomous
Developers are often left to fend for themselves in terms of tools and infrastructure (“They’re technical. They can manage it themselves.”). The challenge for development teams in this type of dual role is focus. I estimate tens of thousands of man-hours lost on projects I’ve been involved with where the development team has lost time due to infrastructure issues — disk space, performance, hardware problems, maintenance — time not allocated in the project plan. Developers should focus on development, not infrastructure.
3. It’s Integrated
The development life-cycle puts unique demands on infrastructure. A typical development life-cycle involves Development, Testing, Quality Assurance/Acceptance, Testing, and Staging environments. This not only means tremendous allocation of resources and infrastructure management, but it is often divorced from the code controls — source code control, acceptance management, code promotion, and reporting — that’s are an integral part of the process. It’s a logical integration.
I am often asked “should I move my business to the cloud” and it’s never an easy answer. However, if asked “should I move my development to the cloud”, the answer has gotten a whole lot easier. Marrying a development environment like IBM Rational with virtual server environments provided by Cloudshare shows a lot of promise.
This post was written as part of the IBM for Midsize Business program, which provides midsize businesses with the tools, expertise and solutions they need to become engines of a smarter planet.