Building cloud architecture versus moving existing on-premises architecture to the cloud
Migrating a mature enterprise software package to the cloud is a formidable challenge. Facing a complex project with tough deadlines and budget limitations often causes the project leadership to take the path of least resistance and simply transplant the existing software architecture to the cloud by relying on the Infrastructure as a Service (IaaS) offering of their cloud provider. Choosing this option results in migrating the application by merely creating its mirror image in the cloud, with each on-premises server migrated to its virtualised cloud counterpart. With this approach, few changes in the software itself are required for the migration.
In the long run, taking this route deprives an organisation of the tremendous value and potential of the true cloud technologies, such as Docker, Kubernetes, AWS Lambda, Fargate and Step Functions, and Azure Functions. The advantages of true cloud technologies include lower development costs, reduced operating costs due to the use-based billing model of the serverless cloud, superior scalability, and flexibility.
By implementing serverless cloud technologies, CompatibL was able to reduce the infrastructure cost of CompatibL Risk deployment in the AWS cloud by an average of x2.7 times, and in the Azure cloud by an average of x3.5 compared to deploying the same application in an on-premises data centre. This cost advantage was made possible by leveraging true serverless cloud technologies rather than running the existing application on virtualised servers.
AWS and Azure
Adapting cloud architecture to CPU-heavy requirements of enterprise risk
Most cloud architecture solutions are designed for a set of standard performance requirements that are very different from the unique performance requirements of enterprise risk management.
A typical cloud application has moderate CPU or RAM requirements and can run with each virtual CPU (vCPU) supporting a large number of concurrent users without running into performance limitations. In enterprise risk management, most calculations are CPU and RAM intensive. The cloud architect must keep in mind the limitations to popular cloud technologies that may be triggered by running such loads.
For example, each AWS Lambda calculation is limited to a maximum of 15 minutes; there are limits to how many vCPUs an AWS Fargate run can use; the list of limitations that are unfamiliar to software engineers with on-premises only experience goes on and on. These limitations must be addressed when moving from an on-premises enterprise risk application that performs a single, long calculation on a manycore server to a cloud architecture where each element of the calculation is limited in the time it takes to run and the number of vCPUs it can use.
User collaboration in the cloud
With typical cloud applications, there is no need to share query or calculation results between users; the application performs each query or calculation anew, because the overhead of storing the results exceeds the overhead of repeating the call to the function that produces them.
In enterprise risk, using the application is a collaborative process, and multiple users can work together on producing or analysing the same complex, CPU intensive reports. In a well-designed enterprise risk cloud application, users can “see” each other’s progress and share their settings and results easily. An effective and easy-to- use multi-user mode helps reduce the cost of running enterprise risk in the cloud through more effective collaboration and data sharing.
The screenshot illustrates CompatibL Risk multi-user mode. It shows how each user can see the current progress and real-time changes made by another user
Migrating to the cloud is much more than moving an existing on-premises application to virtualised servers hosted by a cloud infrastructure-as-a-service (IaaS) provider. Only by embracing true serverless cloud technologies can the firm leverage full benefits of the cloud in reducing the development and operational costs of enterprise risk.