Achieving Cloud-Oriented Transformation of IT Applications
As the most popular Information Technology (IT) buzzword in the past ten years, cloud computing has successfully realized sharing of IT resources and on-demand provisioning of services. Thanks to cloud computing, businesses are now able to innovate at lower costs and with enhanced agility. Cloud computing has not only changed the Internet industry; it has also affected and changed business and operating models, including the competitive landscapes across many enterprises and industries. Cloud computing has become the engine propelling the digital transformation of enterprises.
For enterprise applications, going cloud is an inevitable direction. This has become a consensus for various industries and enterprises. Along with the growing maturity of cloud computing, more and more enterprises are embracing the cloud. At Huawei Connect 2016, Huawei predicted that ‘by 2025, all enterprises will be using cloud technologies and cloud models. In the past decade, only 20 percent of enterprise applications were running on the cloud, but by 2025, more than 85 percent of enterprise applications will be deployed on the cloud.’ Most enterprises are exploring solutions that enable cloud-oriented applications, and are introducing Software-as-a-Service (SaaS) cloud applications and building and deploying IT applications based on cloud technologies and cloud architectures. In the future, enterprise applications will evolve towards the cloud at an increasingly faster pace, with the range of impacts being extended from non-critical business applications to production systems and critical business applications.
For more than 20 years, the processes and operating modes of enterprises were mostly implemented based on the Package Enabled Business Transformation (PEBT) model. Software packages were developed by integrating best practices of the industry and the needs of particular industries. The IT systems of most enterprises were constructed based on mature software packages such as Enterprise Resource Planning (ERP), Customer Relationship Management (CRM), and Product Data Model (PDM). Software packages carried the key business transaction activities and customer data of enterprises, and became the backbone and important information assets for the IT applications of most enterprises. After long-term investment and construction, more than one hundred IT applications have been developed based on three major software packages, namely, EBS, Siebel, and Oracle Agile PLM. Software packages accounted for more than 80 percent of the applications running on the backbone network of Huawei.
However, with the rise of the Internet and mobile social networking, enterprise IT users require applications that operate in real-time and are easy to use. In this context, the disadvantages of traditional software packages in terms of response time, performance, and scalability were gradually exposed. Meanwhile, the coupled architectures of traditional IT applications resulted in complicated relationships of integration between IT applications and difficulty in sharing functions. A minor change often required overhauling the entire system or architecture. Since software package-based application implementation and business innovation require a long period of time, applications that are based on traditional software packages have been unable to keep pace with and meet the requirements of users for flexibility and rapid innovations.
In addition, the industry still lacks new vendors who are able to provide mature and reliable cloud-oriented software packages that can be deployed on a large scale. The traditional mainstream software package providers are making very slow progress towards the cloud, and no major breakthroughs or advancements have been made as of yet. Therefore, companies cannot upgrade their internal on-premises software packages to cloud-oriented applications in a short period of time. Nor can they find completely new cloud plans to replace on-premises software packages.
Other burdens of these companies include business processes and data that have been accumulated over the years and cost considerations. As a result, businesses not only lack the financial motivation to evolve their traditional IT applications to the cloud architecture, they are also unable to get rid of historical burdens and embark on an easy journey of cloud-oriented transformation.
Against this backdrop, achieving compatibility for and coordinating the development of both on-premises software packages and innovative cloud applications has become a long-term challenge to the IT departments of enterprises. While they aspire to embrace the cloud, enterprises must address the following three problems:
On the one hand, enterprises need to persistently leverage the power of IT to drive innovation and improve their competitiveness. On the other hand, an important mission of enterprise IT is to ensure the stability and continuous operation of IT systems, and take into account business stability during innovation to prevent their core businesses from being interrupted.
Therefore, enterprise IT application cloudification and architectural upgrades will be a long and gradual process. For the time being, the On-premises + Cloud strategy is a preferable choice that can protect existing investments, ensure business stability, and support smooth implementation of cloud-based enterprise IT applications. During the process of application cloudification, on-premises software packages will remain as the backbone of IT applications and play an important role. On-premises software packages and cloud-based applications will coexist for a long time, forming a hybrid IT architecture that features On-premises + Cloud.
In 2011, Gartner released the ‘Pace-Layered Application Strategy,’ which divides IT applications into three layers based on the degree of standardization of supporting facilities. The three layers are top, middle, and bottom, as shown in the following figure:
This multi-layered and multi-leveled strategy provides a good reference for the evolution of IT application architectures. The back-end uses primarily on-premises software packages to construct a backbone that supports core processes and data such as order processing, supply, and delivery. Other businesses, such as sales, customer service, and manufacturing can deploy differentiated applications and innovative cloud applications to build up differentiated competitiveness. In the future, back-end applications will remain basically stable, and differentiated and innovative cloud applications will account for an increasingly higher percentage of the internal IT application portfolio of enterprises.
On the one hand, the advantages of on-premises software packages in terms of business and data logic must be best utilized. For the internal IT applications of enterprises, software packages are meant to constitute the back-end, that is, the System of Record, which uses standardized software packages to implement the transaction model and the main data model, thereby ensuring the stability of the business flows of enterprises.
On the other hand, efforts must be taken to bypass the disadvantages of on-premises software packages that are being used. In typical cases, the IT system of an enterprise can have several hundred applications. To avoid duplicated development of the same functions and applications and to share the functions of software packages, the IT department of the enterprise can decouple the architectures of applications and introduce the Service Oriented Architecture (SOA). This approach allows the functions of a software package to be exposed and encapsulated into individual services. After encapsulation and service-oriented processing, software packages can be completely open to business services, providing extensive, diversified, and shared business functions to facilitate the construction of a System of Differentiation and a System of Innovation for the front-end, thereby avoiding duplicated development efforts.
With the emergence of service-oriented functions of software packages and increasing numbers of cloud-based innovative applications, enterprises will encounter some new problems. For example, how do we effectively share and use applications that are scattered across different IT systems? How can we quickly achieve interworking between innovative front-end applications and back-end software packages? To achieve these goals, it is necessary to construct and introduce a powerful middle platform between front-end innovative applications and back-end software packages. This middle platform will be responsible for managing and utilizing services to achieve the purposes of rapid innovation and interworking between front-end innovative applications and back-end software packages.
In another example, we constructed an ‘order processing middle platform’ geared to support the online sales of Huawei mobile phones. This middle platform provides basic capabilities and shares both business and IT services. For the upper layer, the middle platform supports quick development of diversified innovative applications oriented to various scenarios, including To Business (2B) and To Customer (2C). For the lower layer, the middle platform supports standardized inter-working with back-end software packages. In the past, if you wanted to open a shop on a third-party website, it generally took three to six months to achieve inter-working with back-end applications. Now, through the construction of a middle platform that realizes standardized interworking between back-end software packages and third-party applications, the amount of time needed to open an online shop is reduced to one or two weeks. In addition, the middle platform can also help consolidate business rules. For example, thanks to automated processing of routine operations such as purchase order handling and approval, the amount of time that is needed for a purchase order to be processed decreases from two days to merely several seconds, thereby realizing automated business processes and rapid transaction handling.
The middle platform is an important part of the enterprise IT system, and contributes to both the agility of front-end services and stability of the back-end. Future IT architectures will feature a lightweight front-end, powerful middle platform, and stable back-end. The front-end is intended to achieve agile and rapid innovation oriented to businesses and business objects, thereby improving business efficiency and the user experience. The middle platform shares capabilities and business and IT services. It consolidates transaction rules and realizes automated business processes and rapid transaction handling. The back-end uses software packages as its backbone, and carries standardized business models and primary data model to ensure business stability.
In the past, enterprise IT departments had to manage huge numbers of applications that were closely coupled in architectures. This situation was unfavorable to achieving rapid construction and continuous deployment of applications, causing tremendous difficulties to cloud-oriented transformation. In recent years, Amazon, Netflix, and other Internet companies adopted the microservice architecture to resolve the issue of application complexity. What these companies developed are no longer giant monolith applications. Instead, a single giant monolith application was split into multiple smaller microservices, each of which is generally intended to complete a specific function, such as purchase order management or customer management. Every application function is implemented by a corresponding microservice, and multiple interrelated microservices implement the overall function of the application.
One microservice can be developed, deployed, and maintained separately as an application, without the need to consider the impact that may be generated due to the development of other services. Thanks to the microservice architecture, continuous construction and deployment of applications based cloud technologies and architectures become possible, greatly reducing the difficulty in achieving cloud-oriented transformation for applications.
Cloud-oriented transformation of applications requires support from powerful technology platforms, and cloud-oriented applications must be constructed and deployed based on Infrastructure-as-a-Service (IaaS) and Platform-as-a-Service (PaaS) that are particularly geared towards the cloud. A cloud-oriented and service-oriented IaaS layer can reduce the amount of time needed to obtain calculation, storage, and network resources, and meet the requirements of applications for elastic and scalable IaaS resources. By constructing a unified cloud- and service-oriented PaaS platform, an enterprise is able to resolve a number of issues, including duplicated development of common functions of applications, middleware, and databases for multiple applications, and slow application deployment and difficulty in performance scale-up. The IT department of an enterprise is expected to provide flexible and scalable IaaS and PaaS services that would allow business departments to focus on business innovations without being concerned about the acquisition of bottom-layer resources.
The cloud-oriented transformation of enterprise IT applications is a long process that cannot be achieved overnight. The core issues are the evolution and coordinated development of on-premises software packages and cloud applications. Smooth and steady cloud-oriented transformation of IT applications is obtainable by designing multi-layered and multi-leveled application policies, as well as adhering to the On-premises + Cloud strategy in the long term to leverage the advantages of both on-premises software packages and cloud-oriented applications.