Not all monoliths should be killed because they are!
This is the true story about migration and modernisation of a travel sector solution based on ADF, Java 1.4, Struts, Jac¡vaScript and PHP running on Oracle Application Server 10 and Oracle 10g database.
Perhaps old people in town can remember things such as OAS, OC4J, jHeadStart, and the like… so it’s about time for the old OAS to retire after a large period of service.
The good news is that, rather than throwing to the recycle bin such a large amount of lines of code (and the money it costed), you can keep all those application logic and data models intact and keep running smoothly in a new, modern and efficient cloud environment based in containers and new paradigms.
Oracle Cloud Infrastructure (OCI) components utilised are the following:
- A virtual cloud network with a public and a private subnet
- A Kubernetes cluster (OKE) on top of a cluster of vm machines and their corresponding boot disks on block volumes
- An Oracle Autonomous Database instance (ATP)
- A Shared File Storage (NAS)
- A public load lalancer
- A temporary databse for migration from Oracle 10g to ATP
Kubernetes architecture consists of a couple of persistent volumes and 4 namespaces for the following stuff:
- Weblogic Kubernetes Operator
- Apache Servers with WeLogic Proxy Plugin in it
- Weblogic Domain
How we did it?
First, Customer exported database and uploaded to object storage, then data was imported in temporary db system and, from there to final destination autonomous database.
Application code was imported in jDevelpoer 12g and then uploaded to Developer Cloud Service git repository for build automation.
- More than 15 years of business knowledge and value reused
- Costs savings moving the solution from hosting to cloud
- Modern platform ready to offer benefits of new technologies/approaches such as devops, ci/cd, microservices, apification, json, multi-model databases, distrubuted systems, …
- Scaling, auto-scaling, multi-region architecture, HA and DR and more
That’s all, hope it helps! 🙂