Platformization of Software for Us. Business Results for Enterprise
(From left) The Hon Greg Combet, Minister for Innovation and Industry; The Hon Bill Shorten, Minister for Employment and Work Relations; Mr. N.R. Narayana Murthy, Founder and Chairman Emeritus of Infosys; The Hon Julia Gillard, Prime Minister of Australia; Mr. Neville Stevens AO, Chairman of NICTA and Dr. Terence Percival, NICTA Director Broadband and the Digital Economy. [Photo courtesy: NICTA]
N.R. Narayana Murthy, our founder and chairman emeritus, visited Australia, recently, to announce a partnership with the country's premier information & communications technology organization, NICTA. The Infosys-NICTA program is a multi-faceted partnership which includes joint research, Ph.D. student internships, professional exchange programs, and commercialization of intellectual property over the next five years.
I am going to take the lid off on one of the main focus areas of the collaborative research - Platformization of Software. Although an unglamorous phrase, Platformization of Software is redefining the rules of software engineering. The term broadly refers to the engineering techniques and methods needed to enable traditional standalone software applications to be offered on the Cloud.
Ground-up, bespoke coding for disparate modules for every set of business requirements is already a thing of the past. Our research on platformization of software will include the development of new techniques to harvest software architectures, functions and processes from existing large code bases. This will enable strategic reuse of code and speed up the development of new systems, especially for Cloud-based platforms.
Platformization will significantly slash development effort, cost, and time. While it will disencumber Micro, Small and Medium Enterprises (MSMEs) with respect to cost and time, it will usher in speed and agility for large corporations.
Organizations, however, should avoid partial or superficial Cloud enablement. By this, I mean confining Cloud enablement to mere replacement of traditional infrastructure (storage or hardware) with that offered by a Cloud provider. Or, putting a Cloud interface over traditional software. The full potential of Cloud can be realized only when all the models of Cloud, right from IaaS (Infrastructure as a Service), PaaS (Platform as a Service) to SaaS (Enterprise Business Software as a Service) are leveraged.
For successful Cloud enablement, there are several areas that must be thoroughly researched from a software engineering perspective. Three significant ones are:
1. The architectural aspect of Cloud that enables hosting of multiple tenants without each interfering with the other. This can lower costs, specifically for MSMEs who can avail of infrastructure, hardware, software and business services in a pay-per-use model. To handle these needs for different layers - right from the UI to the Database and the Business Logic - a thorough model-based approach is vital.
2. Scalability is straightforward for a standalone application. But now, with multiple tenants, we need to address the availability and scalability needs of all the tenants together. Alongside the availability and scalability concerns, security is important in a multi-tenant environment, including foolproof isolation.
3. Automating the harvesting of architecture from legacy systems will require the underlying legacy application software to be significantly refactored. This is to ensure that shared components are reused, and the tenant's specific logic is extracted as focused services for specific customer tenants.
Infosys and NICTA will be working together to address these challenges and more. We certainly have a lot of ground to cover in the next five years.