PDMS in the Clouds
By Paul Barrett, Infrastructure Technician
PDMS and hosting
At PDMS we have been hosting the systems we develop for many years. The ways in which we achieve this have evolved and changed over that time. From dedicated physical servers when I first started (15 years ago) through to our own virtualised private cloud and now to the public cloud.
We maintain our multi-site private cloud as a cost-effective hosting option for our clients. Utilising a core set of shared managed services to provide consistent availability, confidentiality and integrity to all our clients that host with us. The level of control that we gain from this private cloud allows us to minimise running costs and, in many cases, provide a lower-cost hosting option for our clients than the public cloud. All of this while maintaining the resilience of both physical location and internet providers on the Isle of Man, in essence providing the same level of resilience as the zones in a public cloud region.
Changes in the cloud
In recent years, with the maturing of the public cloud, and our client’s appetite for this newer way of provisioning services we have evaluated and identified systems that can take advantage of the public cloud services. This may be the hosting of the full system in a public cloud environment or the use of individual cloud services to extend the capabilities of our own private cloud hosting.
As we evaluated the various services offered by the public clouds, we came to the realisation that simply reproducing what we do in our own private cloud into the public cloud would lead to increased operating costs. It would also mean that PDMS would miss out on a lot of the best features of the public cloud offerings by restricting ourselves to the services (usually Infrastructure as a Service) that match our own private cloud.
Having realised this we focused our efforts on ensuring that any system (or part of a system) that utilises the public cloud is architected in a cloud-friendly way - this means that we get the most out of the resources and services we purchase from cloud providers. This in turn reduces the management overhead for our Infrastructure Team at PDMS as a big portion of our management responsibility is taken on by the cloud provider.
One of the biggest challenges we have faced with the public cloud is in relation to the size and type of systems that we host. Our systems tend to be business systems that have a defined user base and a consistent utilisation. This means that the biggest benefit of the public cloud – auto global scaling is of less use to us. While we do utilise some of this for our pre-production environments where we can provision them only when they are required to reduce the operating costs.
Although the responsibility for the underlying data centres, networks and operating systems lies with the cloud provider, as we have seen in recent months with both Azure and AWS having regional outages, this doesn’t guarantee the availability of the systems that we provision. PDMS do mitigate this risk with multi-region or multi-cloud architectures, but this must be balanced with operating costs and complexity.
All this flexibility does come at a cost, namely in the effort required to establish the automation of the infrastructure builds and software deployments. We have been working towards this before we even started out on our public cloud journey by implementing build and release automations for our software systems.
The future of the cloud
In theory, we could build upon the cloud to include infrastructure elements and provide a way to fully deploy a new instance of a system with very minimal effort. Bringing with it the benefit of having a repeatable and tested full-stack deployment solution that has allowed us to create more pre-production environments on an ad-hoc basis than we have ever had before. This all contributes towards supporting our agile development processes and streamlining the delivery of change in our systems.
In this fast-paced industry this could be anything, but we will be focusing on using what services are available to best meet the requirements and challenges of our clients. Currently this is the use of the Platform as a Service offerings to streamline the provisioning and management of the services and systems that we provide.