Take a peek on what projects we've worked so far - here you can find extensive information
about several projects in which we described the objectives, the challenges and the results.
Finance and banking solutions need to keep up with technology - this was exactly the case with the product of this international ISV fintech company. The product that they have developed was usually deployed on traditional IT infrastructure, on-premises. As the demand for cloud technologies among their clients grew, they faced the decision to move their product to use Azure services. The only question that remained unanswered was if it will be a traditional Lift-and-Shift approach or a complete re-factorization of the solution to fully rely on PaaS services.
Also, the deployment of the solution in traditional environments has been usually time-consuming and prone to errors, as engineers had to manually configure the servers, install frameworks, configure runtimes or manage databases. A solution to automatically deploy and configure the solution was needed.
1) Azure PaaS
Re-factoring the application and re-designing it to work fully on PaaS services looked as the best approach - this way, scalability, flexibility and performance can be assured without issue. So, instead of doing a Lift-and-Shift approach and traditionally hosting the application on servers/Virtual Machines, services like App Services, PaaS Databases, Service Bus and API Management are leveraged.
App Services offers the perfect solution of managing the needs regarding availability and performance - setting up correctly calculated auto-scale setting ensures that the application will be up and running at any given point, no matter how many users will access it or how much traffic will it need to hold.
Azure Functions serve perfectly for situations where actions are event-driven. This serverless compute platform solves complex orchestration problems, being automated and being flexible scaled based on the workload volume.
API Management helped the organization to publish APIs to internal developers to unlock the potential of their data and services. Each API consists of one or more operations, and each API is added to one or more products. To use APIs, developers subscribe to a product that contains that API, and then they can call the API's operation.
Service Bus acts like an enterprise integration message broker, offering a reliable and secure platform for asynchronous transfer of data and state. Data is transferred between different applications and services using messages.
2) Automated deployment
To pull off such automation, a complex architecture of orchestrations and pipelines has been developed in Azure DevOps. Along pipelines and CI/CD integration that managed the continuous development of the product in an agile manner (by building the artifacts), there were also build pipelines that managed automatically the infrastructure needed - this infrastructure is created with the help of ARM templates. This way a full process was designed, pipelines being created for managing deployment of infrastructure, configuration of infrastructure, injection of data in databases, injection of application artifacts, execution of security sealment on the solution. These pipelines can be triggered all together and, with a simple click, the solution can be deployed automatically on any customer environment, without manual intervention - and without any manual intervention being required, the human error regarding configuration was reduced to zero.
Re-factoring the application to use PaaS services in cloud proved to be the best decision yet. Now, the organization markets the solution as automatically deployable in hours, being a major advantage when compared to its competitors. The time-consuming and prone to human-error process is now a thing of the past.
The agility and scalability the cloud offers permits them to leverage new features and adapt their market strategy, cloud opening new opportunities for them. Performance issues are almost non-existent now and monitoring can be done in a smart way with the help of the cloud-native tools that Azure offers.