info@dthomas.co.uk • +44 (0) 23 9282 2254
12 May 2023
The time to think about scalability was when your team wrote the first line of code.
Dr Patrick Flesner, partner at B2B tech-focused investment firm LeadX Capital Partners and author of FastScaling.
A t-shirt with the line "There is no cloud, it's just someone else's computer" is forever popping up as an advert on my social media feeds. Clearly, the artificial intelligence (AI) algorithms have got my sense of humour nailed. I haven't bought it yet, but those ads are very persistent.
There was a time not too long ago that pretty much every company owned the servers that ran their core software. These were real computer hardware, owned and managed by the companies themselves sitting in real air-cooled server rooms or data centres, maintained by company employees.
However, when new software applications were launched, techies had to think long and hard before adopting them. They had to work out how many processors the application would need; what speed those processors would have to run at. They would also need to specify how much storage they would demand and what type of storage was best suited to it.
These decisions were driven by the complexity of the application, the amount of data likely to be involved, and the predicted maximum number of concurrent users that would be using it, together with acceptable response times. If a system was going to fall over, it was likely to do so when being driven harder than it had been before and harder than the IT department had predicted. Rapid scaling was tough!
One of the key reasons companies are migrating their core software applications to cloud is scale.
Cloud computing scalability is like a motorway with multiple lanes that can be opened or closed depending on the level of traffic flow. Just as a motorway can expand or contract its lanes to accommodate more or fewer vehicles, cloud computing resources can be easily scaled up or down to meet the changing demands of applications and users. Like a motorway, cloud computing can handle heavy traffic during peak periods and reduce its capacity during off-peak hours. In addition, increasing the speed and carrying capacity of each vehicle would also enable more goods and passengers to be transported. In cloud computing, this is called vertical scaling. It is achieved by increasing both the processing power and memory of the virtual machines completing the work.
The ‘always connected' world we now live in, is creating ever-increasing complexities in the development of software in order to satisfy the end user's needs and expectations. We are becoming intolerant of slow, inefficient applications. However, superior user experience becomes challenging to deliver when applications need to handle significant load, be it from a resource-intensive process like bulk document production, or through massive spikes of user activity such as Black Friday sales.
Building software that meets these challenges head-on requires a complete rethink of how they are architected to ensure that the software works in tandem with the resources it has available, to maximise performance cost-effectively. Hosting an application in the cloud enables access to ‘elastic' resource, opening up a whole new lexicon in modern software architecture: from microservices and service fabrics, to scale sets and service buses.
To build a scalable cloud-ready solution it needs to be broken down into discrete self-servicing components called microservices. A microservice is a self-contained piece of functionality that is focused on a specific problem and can be communicated with via well-defined application programming interfaces (APIs).
Microservice management tools like Azure Service Fabric can be put to work to enable your solution to deploy additional or fewer services as your application faces variable demand - thus scaling is enabled. As the number of microservices increases or decreases, so does the number of resources needed. In computing terms those resources are: the power of the processor; the memory available to those processors; and the overall storage capacity. Infrastructure management tools enable the application to expand and contract as demand rises and falls.
The solution therefore acts like a beating heart, increasing or decreasing in tempo based on the demands it is under. To ensure that inbound requests are distributed across all the available resource, some management tools are needed to ensure optimum operation:
The performance requirements for the pensions dashboard are not solely ones of customer experience. The regulator requires adherence to some ambitious response times from pension providers when initially matching customers and subsequently presenting pension data back to them. Every time a user logs into a pensions dashboard, this data is retrieved afresh. No data will be stored on systems plugged in to the pension dashboard architecture.
On the morning that BBC Breakfast finally announces the launch of the pensions dashboards or the first time Martin Lewis tweets about it in perhaps a year from now, you can expect millions of hits to the live dashboards in a matter of hours. The only way of building a solution able to cope with that level of demand is a well-designed, expertly architected cloud application. It must be designed to scale rapidly.
Whilst cloud computing as a concept has been around for many years, it has really taken off in the last decade. Here at Dunstan Thomas, we have been actively architecting our products with cloud in mind since 2016. Indeed, we launched our first built-for-cloud application back in 2019.
We started by building a collection of microservices which became Innovi Web Services. Innovi Web Services is a framework of microservices that can be combined to create new and exciting products. We then built Imago Automation on this framework, also in 2019. And then revised our Adviser Tools in 2021 along the same lines.
It is this framework, despite the hugely challenging demands of the PDP prior to delay, which enabled us to build Imago Connect - our Pensions Dashboard Integrated Service Provider offering - so quickly and successfully.
Andrew Martin
Chief Distribution Officer at Dunstan Thomas
023 9282 2254
info@dthomas.co.uk