How close are we to the cloud service providers creating cloud-native internal developer platforms?
To set the scene, let's begin with overarching cloud migration strategies.
In this modern world of digital development, business transformation is in full swing, and even banks are moving their application estates to the cloud! If you are a CTO embarking on a cloud migration programme, it might be easy to make the assumption that
incredible changes can be made quickly, by fully utilising the cloud and transforming the legacy infrastructure!
However, assumptions can be dangerous, and this outlook has proven to be a lot more challenging in a sector as complex and as highly regulated as finance and banking. Some banks have begun to ‘lift and shift’ their existing application estate into the cloud
and run it on virtual machines; however experience shows that this does not allow the bank to unlock all of the benefits of the cloud. Taking this approach limits the scalability, reliability, developer experience, time-to-market and reduced operational expenditure
of re-engineering the applications using cloud native technologies. A bank that ‘lifts and shifts’ its application estate to the cloud usually does so because it is simpler and faster, or it may be under wider business constraints that forces it to do so.
So, what is the best approach to migrating banking and finance applications to the cloud? Any bank that wants to utilise cloud should look at examining and rearchitecting its entire application estate, helping to reduce operational expenditure and increase
the developer experience. This will drive developer productivity and engineering velocity, also decreasing time-to-market, thereby accelerating business value.
Gartner describes ‘cloud native’ as referring to; "… something created to leverage or implement cloud characteristics optimally. Those cloud characteristics are part of the original definition of cloud computing and include capabilities delivered as a service.
Cloud computing characteristics also include scalable and elastic, shared, metered by use, service-based, and ubiquitous utilising internet technologies.”
The cloud offers a silver lining!
Serverless cloud services such as Google Cloud Run, Azure container apps and AWS apps Runner incorporate the ethos of cloud-native - they are scalable, resilient and fully managed. These services allow an organisation to utilise the benefits of containerisation,
making it possible to deploy the same application on multiple cloud platforms, thereby ensuring that the application runs consistently, regardless of the underlying infrastructure.
Historically, we have had to ‘glue’ cloud services together to get such functionality and DevOps tooling had compose the functionality of complex finance and banking applications. When a banking application is re-architected for cloud, it is common to see
development teams gluing many cloud services together and building their own custom purpose-built internal cloud developer platforms.
Gartner's Hype Cycle argues that platform engineering and internal developer platforms improve the developer experience. "An Internal Developer Platform (IDP) is built by a platform team to create golden paths and enable the developer's self-service. An
IDP consists of many different technologies and tools glued together in a way that lowers the cognitive load on developers without abstracting away context and underlying technologies.” Following such best practice, platform teams have historically treated
their platform as a product, building it based on user research, then maintaining and continuously improving it.
However, maintaining and continuously improving these purpose-built internal developer platforms inevitably leads to an incredible amount of effort and operational expenditure.
In a recent Forbes's article, 16 Tech Leaders Shared their selections for ‘Must-Have Cloud Strategies and Services’, which captures the essence of the problem. The key observation was that "…every CIO focuses on building an internal developer platform to
overcome the complexity of cloud-native technologies and enforce governance for autonomous development teams. As a result, platform engineers are building internal developer platforms by utilising cloud capabilities. However, this is a time-consuming and never-ending
It is therefore key for the future that an internal developer platform-as-a-service is made available as an essential cloud offering; but are the cloud providers tackling this challenge? It is evident that they are, but as ever, there are always additional
complexities in finance and banking applications!
The cloud service providers are bundling their cloud services and cloud service capabilities together to build truly cloud-native internal developer platforms. In recent years, we have seen the emergence of similar platforms from each of the main cloud providers,
including: AWS app runner, Azure container apps and Google Cloud Run. Some of these serverless, cloud-native services include: container hosting, scalability, container build and deployment, service versioning, TLS certificate renewal, container registry integration,
built-in logging and monitoring, and API proxies. They quickly integrate with cloud databases, and we can govern them using cloud security policies.
However, how close are we now to the cloud service providers providing us with a true cloud-native internal developer platform? Evolution is underway, but many finance and banking applications are highly complex and challenging. To reach this goal, we must
continue to drive the essential requirements through the cloud service providers, to ensure the required functionality is built into their cloud native platforms.