One of South Africa’s leading life insurance companies required a system migration from legacy systems to the cloud.
Challenges:
- Recruiting legacy system software developers is difficult and expensive.
- Legacy systems are difficult to maintain and enhance.
- Legacy systems hardware upgrades are expensive.
- The client had a requirement to be able to use modern web technologies.
- Legacy API calls became slow and required a rewrite.
Implementation:
- The architecture we decided to use allowed us to keep the legacy IBMi system up to date, so that all the legacy apps can run as per normal, as well as have the data available in other databases, so we can seamlessly migrate parts of the system. With the intention of eventually migrating the entire legacy system.
- An API Gateway was implemented to allow for proper authentication and rate limiting and as a means to expose CRUD services.
- Multiple Azure serverless functions were built as an easy way to swap out the data layer, be it legacy or cloud.
- Redis cache was implemented to enhance speed of the requests and responses as legacy API calls were slow.
- Micro services were implemented and legacy logic was moved into this layer.
- All services are deployed using CI/CD pipelines, deploying docker containers to Azure deployment slots, giving the client 0 downtime deploys.
Results:
- Reduced cost on legacy systems
- Quicker response times on web pages
- Ability to use the latest cloud technologies