The prevalence of external cloud services used within an organisation, coupled with the increasing complexity of traditional infrastructure often act as the catalyst towards the adoption of private cloud. Private cloud provides some of the benefits of cloud whilst enabling IT simplification through standardised application deployment, without exposing private data externally.
In the creation of this private cloud there is a significant focus on Infrastructure-as-a-Service (IaaS) and standardisation. These platforms are deployed in order to provide a standardised hosting environment to support the traditional application workload and database systems. This traditional workload is typically defined by monolithic systems that require heavy interaction in terms of management and maintenance. They use long-life infrastructure – infrastructure that persists for months or years – have few version upgrades, and need human interaction for maintenance routines (e.g. start/stop to facilitate infrastructure patching). As the majority of an enterprise’s application landscape at this stage in a cloud journey is still based upon traditional software development methodologies, IaaS platforms provide long-life infrastructure services to host this traditional workload.
Private clouds can either be designed and built locally or an existing engineered cloud product will be deployed. In either circumstance, the benefits tend to come more from standardising the use of infrastructure, rather than from the existence of the cloud platform. As private clouds are dedicated to a single organisation, there are no other consumers available to leverage the unused capacity enabling usage based payment.
Private clouds are generally designed to support the traditional development style of enterprise workload, and therefore the focus of any application migration program is to simplify and standardise the manner in which the applications consume the infrastructure and middleware, in order to support faster deployment of new application releases. However, as these application releases are still based upon traditional software development practices, there are significant obstacles inhibiting agility. The behaviour of these applications impedes the ability of the application to survive when the underlying infrastructure is changed (e.g. to apply a patch). The applications are not designed for failure, they require complex start-up and shutdown routines and are often tightly coupled to the underlying infrastructure (including virtual infrastructure).
As the traditional applications are not designed for failure, private cloud infrastructure is generally constructed using enterprise hardware – compute and storage, as these environments must rely on infrastructure resiliency to provide application high availability. This results in private cloud infrastructure often being more expensive than public cloud commodity infrastructure.
It is important to note however that this style of application development is still suitable for a wide range of workload types, particularly for applications that seldom change where new releases might be a yearly occurrence. If the start-up and shutdown of those applications can be automated and their deployment routines simplified, these applications can be hosted extremely reliably for an extended duration. Whilst there can be difficulties for the cloud consumer in transforming their applications towards standardised platforms, the long term benefit for those applications should not be downplayed.
One of the risks with the first move to private cloud however is trying to take too big a jump on the journey. Remember, the application landscape is still what it was prior to commencing a move to private cloud. Trying to force those applications to behave in a cloud native manner tends to generate significant additional cost – a combined transformation and migration, and it causes frustration for the owners of those applications who struggle to see the value in the move. Generally, it is best to facilitate the move of the more cloud like applications, but whilst still providing standardised hosting for the older style applications. Having both types of applications on the same cloud platform does not weaken the ability of that platform to operate or be lifecycle managed effectively.