[Editor's note: This is the fifth article in a six-part series that looks at the primary considerations as well as the process of self-discovery that is required in the definition, development and implementation of private cloud computing. The articles were prepared by cloud experts at Logicalis, an international provider of integrated information and communications technology solutions and services.]
by Brian Day Director of Application Services and Platform-as-a-Service (PaaS) Strategy for Logicalis
So, for any of the reasons we discussed earlier in this series, you’ve decided to build a private cloud infrastructure in your data center. But unless you’ve just started a brand-new organization, your IT environment is currently running a diverse collection of last-generation and older applications that were deployed with the one-application-per-server rule of thumb that unleashed the server sprawl that most organizations are still recovering from.
Although virtualization was unleashed by hypervisor software, most of the emphasis has been placed on the impact of virtualization on the hardware infrastructure. The full potential of cloud computing, however, will only be realized through advances in lean and agile development of applications that can fully leverage the cloud environment. Instead of having to over-buy to support peak demands, the new generation of applications are capable of automatic self provisioning and can expand and contract as business requirements change.
The best way to get across the gap that exists between apps that intelligently provide for themselves and your existing app inventory is a step-by-step process that starts with assessing what you’ve got now and dividing it into separate categories that you can conquer one at a time. For example:
- Identify the applications you don’t want to have to worry about anymore, i.e., email and other utilities that are not part of your core competency. These are good candidates for replacing with SaaS apps or throwing over the fence to hosting services like Microsoft’s Office 365.
- Identify the third-party applications that can’t be virtualized and need to stay on physical hardware where they are. Plan on leaving them where they are for now, but not forever.
- Identify the custom applications you have developed and determine if they can be virtualized as is. This would be a good time to do a cost/benefit analysis to determine whether it is time to revise or replace them.
- Choose a development environment for the new apps. The two main choices here are open source Java or Microsoft’s .NET. A discussion of the pros and cons is beyond the scope of this column. Suffice it to say both are evolving rapidly.