Software rewrites are always painful; most companies would like to avoid them. It’s very risky in terms of whether the new software will be stable. will provide every old feature in the same way old software was providing? The cost of the rewrite will be under the assumptions? These questions always haunt CTOs and CEOs of tech companies.
Apart from rewrite challenges, the real problem is migrating data of existing customers; if anything goes wrong companies reputation may be destroyed.
But we are talking about a Migration of not only a mid-sized software but a huge software suite which includes HR and Financial Management systems. This software was so popular that thousands of public institutions, Banks, and other companies were dependent on it for their payroll and HR management.
This software suite was PeopleSoft, created by the company PeopleSoft.
PeopleSoft was one of the big companies that sells HR and Financial management service software products
In the year 2000, Oracle acquired the PeopleSoft company in a bit controversial way, but we will not discuss that, since we are focusing on the rewrite of the PeopleSoft Suite
Why Software rewrite needed?
When Oracle acquired PeopleSoft, it had thousands of big businesses as its customers, including Banks, Government Institutions, Public Institutions and many more.
These customers were generating millions for Oracle, and Oracle was taking care of trillions of dollars of these customers.
Rewriting and migrations was extreamly risky and could damage Oracle’s image.
With all these risks, why did oracle decided to rewrite? And rewrite into what?
So the answer is Oracle wanted to make PeopleSoft Suite SAAS, means Software As A Service.
Cloud and SAAS was becoming popular, customers did not need to have expensive servers and a server management team, upgrades were happening automatically, and deployments were simple, onboarding for new customers was as simple as creating a Gmail account, and data migration was smooth.
All these features were not expensive but it was saving millions of dollars for the customers.
Oracle’s co-founder, Larry Ellison, already knew the power of SAAS because the co-founder of the company that made SAAS a potential option for the entire industry, Mark Benioff(Salesforce Co-founder), was a friend of Larry. In fact, Mark used to work at Oracle, when he co founded SaleForce. Larry also invested a lot of money in SalesForce
PeopleSoft Suite was on-premises in nature, and it was in danger because it was charging heavy money for the customers; any competitor could harm Oracle by creating SAAS alternative for PeopleSoft
Oracle was totally confident that it had no choice but to make PeopleSoft SAAS.
Keep customers but get rid of the code
One of the painful facts the Oracle Engineering team clearly knew was that the existing PeopleSoft Code is not reusable to make it SAAS.
It was made for on-premises, it was tightly coupled, less optimized in keeping customizations because each client had their own private server, so scalability was not implemented.
But in SAAS, the entire model changes, central code should accommodate all customers’ customizations.
SAAS model of PeopleSoft needed an API Model; moreover, Oracle has to give its own infrastructure, so the new code must be highly scalable.
Oracle Engineers decided to rewrite SAAS version of PeopleSoft.
Using JEE instead of PeopleCode
The old version of PeopleSoft was written in the PeopleCode language, the language created by PeopleSoft Company.
Oracle decided to write SAAS version of PeopleSoft in Java Enterprise Edition.
Java is memory safe, scalable, and Oracle had a special attachment for Java, as they also acquired ownership of it in 2010, but these efforts had started in 2006
Oracle started rewriting PeopleSoft gradually, because rewriting millions of lines of code was not a month’s task; it would take years
(Re)Engineering Journey
Engineers started working on this massive task in 2006; official numbers are not confirmed, but experts say 15 to 20 thousand engineers were working on it from all over the world.
The new software suite was highly scalable and could store every customization of each client all over the globe
This task was very critical; the new SAAS suite would have to be fast and provide more features than on premise version. Oracle also needed to take customers who are comfortable with On premise version out of their comfort zone.
Code and architecture, theĀ Engineering team was changing everything.
Thomas Kurian, currently leading Google’s cloud division and high hopes of Google, was a technical person working at Oracle. He was one of the people who provided major guidance in this rewrite, in fact, experts are saying Google Cloud heavily using java for their cloud internal services just because of Thomas.
One of the biggest data migrations on the Planet.
Rewrite was one part, migration of customers’ data was another.
Bank, Government institutions, private companies, Multinational companies, every type of company was a customer of PeopleSoft or Oracle.
Any simple mistake in data migration would have caused major chaos, like payroll problems, bank data issues, and government records issues.
More over data was sensitive, and any simple file leak could have damaged Oracle’s image
Oracle has to encrypt data during migration so that engineers migrating data will not see the data.
The entire process of rewrite and migration took 10 years for Oracle, but Oracle eventually delivered it, and it became a major case study in the Industry.
Java gained trust for large-scale applications
AWS and Google Cloud internally mostly use C++ for performance and memory control. PeopleSoft migration established the fact that Java can be the choice for large scale SAAS applications.
Before this, Salesforce also did the same, but Salesforce was an early entry in SAAS but this project of SAAS proved the fact that JAVA can be a good choice for these types of large-scale applications.
But Larry’s vision was exactly right, today SAAS is everywhere, customers can sleep well without a nightmare of deployment errors, or they don’t have to think about infrastructure maintenance
No painful manual data backups are needed, no manual upgradation are needed. after few years, Oracle even entered the PAAS and IAAS.
Why did Oracle have no choice but to enter the Cloud market? We will see in another article
Thanks.