By Xiao Sheng
The author is from the R&D Center of China Life and has senior experience in digital transformation and cloud-native practices for enterprises. The following content is based on the author's views of a newly published book Alibaba Cloud Cloud Native Architecture Practices.
Note: This book is currently only available in Chinese.
As IT practitioners in the financial industry, two issues have been considered in the process of digital transformation of traditional enterprises. The first issue is what is digitalization and why should be digitized? The second issue is learning how to promote digital transformation and learning how to plan and adjust the path, tools, and organization.
People can often confuse the concepts of informatization and digitalization. They thought they had accomplished their IT objectives by launching a few business systems or putting in a few digital platters. However, this may only change the form of some information data transferring to the leadership, and there is no change in the working mode of the whole business. The original need for a manual operation still requires manual operation. The process must continue (even some new processes have been added to the new system), with no significant change to efficiency. There are additional issues that need to be considered, such as whether there is an increase in business performance, if so, whether it is positively correlated with IT construction, and whether it is cost-effective. These often lack a valid evaluation method and can fall into the pit of pseudo-digitalization easily.
All architectures, including the cloud-native architecture, must be designed to support enterprise strategies.
Enterprises must be clear about the relationship between the business strategy and the cloud IT strategy. For example, is the cloud IT strategy only necessary technical support to the business strategy, or is the cloud IT strategy also part of the business strategy?
This article summarizes the interesting points from Alibaba Cloud Cloud Native Architecture Practices. Technology ultimately serves enterprise value. Therefore, we believe that digitalization improves the business model based on information technology capabilities. It aggregates all processes and data in the whole value chain and focuses on guiding business operation and decision-making. Its final manifestation is presented as an intelligent form with the combination of the complete data of all elements, automation, and real-time features.
“The main demands of digital business on technological architecture are to ensure business continuity, rapid business launch, business cost control, and technology-enabled business innovation.”
"Small frontend, large middle platform, and backend" are the mandatory choices to enable the business development team to deliver high-quality products faster to meet the business needs. The business development team can only make the frontend lighter by focusing more on business and performing more agile delivery. Conversely, once the middle platform and the backend are more intensive with high-quality design and specifications, the reusability of best practices among them is higher.
The core idea can be summarized in one word – sinking.
When we sink public technical capabilities and methods into the development framework, the basic platform, and the automated standard process, applications can be built quickly based on these capabilities. Also, they will be born in a high-quality architecture system as well. The cloud-native architecture is the best practice methodology for implementation.
“Cloud-native architecture is a collection of architectural principles and design patterns based on cloud-native technologies, helping enterprises and developers take full advantage of the platform-based and elastic resource capabilities offered by cloud platforms. Cloud-native covers cloud-native technologies, cloud-native products, cloud-native architectures, and the development ideas of building modern applications.”
Modernization applications and cloud-native applications are built or implemented based on cloud-native architectures and development ideas. They cover several concepts, such as seven architecture principles, including the service-oriented principle and the elasticity principle, ten architectural patterns, such as compute-storage separation pattern and event-driven pattern, and R&D ideas, including DevOps and GitOps.
Cloud-native architecture and development ideas are built or implemented based on cloud-native technologies and products, including more than ten technologies and products, such as container technology, DevOps technology, microservices, Service Mesh, Serverless, cloud-native big data, cloud-native AI, and cloud-native security. Among them, the Open Application Model (OAM) is a refreshing concept. It extends the standardized declaration of resources in PaaS to one of the applications and configurations, making simple applications simpler and complex applications easier to manage.
Finally, cloud-native products and technologies are cloud infrastructures based on the public cloud, private cloud, or hybrid cloud. The composition of cloud-native is such a hierarchical relationship.
“Cloud-native architecture upgrade is a complete upgrade of an enterprise's entire IT architecture. Each organization must tailor its cloud-native architecture upgrade to its own situation, where organizational capabilities and the technology stack are on equal footing.”
On the road of digital transformation, the historical issues of traditional enterprises are quite significant. Making architectural changes without being able to stop operations is akin to changing the engine, operating procedures, or crew of an aircraft mid-flight.
The author is from China Life, who has personally experienced a case of a service-oriented technology upgrade. As a last resort, cloud-native technology has offered a new answer.
At the early stage of IT construction, there were many chimney systems. With the increase of systems, the demand for interaction between systems is increasing, and the demand for service is put on the agenda. More than a decade ago, the SOA concept, represented by bus-based architecture, became popular because systems were interfaced with service buses. However, the pressure on services has increased year by year with the rise of mobile Internet, and the bottleneck of bus-based architecture has emerged gradually. A jitter of the bus can cause congestion in various services easily, which is exacerbated by the introduction of the microservice architecture.
At this point, the service registration and discovery model has matured, and new systems are all implemented using Spring Cloud and similar products. However, the existing systems cannot be transformed using this invasive method with high costs and risks. In addition, multiple programming languages begin to emerge, making it difficult to implement the same service governance between different languages. We had no choice but to struggle to maintain the service bus and try to improve its robustness from an architectural level. It wasn't until we heard about the concept of service mesh a few years ago (the non-intrusive SideCar specifically) that we realized that the answer was in front of us. We are currently in the process of comprehensive gridding.
The SideCar itself is not new, but why has its popularity changed in recent years? Fundamentally, the maturity of cloud-native technologies, such as container technology and DevOps, solve the problem of cost and efficiency of massive SideCar O&M. Therefore, the cloud-native technology also emphasizes timing and complements each other. As applications, we follow the trend and build a new steady state.
“In addition, the design of cloud-native architecture needs to consider changes in organizational structure. An important principle of cloud-native architecture is servitization, including microservices and small services. A typical principle in this field is Conway's Law, which requires an enterprise's technological architecture and communication architecture to be aligned. Otherwise, it will lead to a perverse service-oriented architecture and even lead to increased communication costs and disputes in the organization.”
People are the first element when practicing any plan. Conway's Law is always mentioned when giving technical lessons to new colleagues or when sharing architecture. The structure of the product is the epitome of the structure of the organization. When implementing some technical structures or management processes, the organizational structure cannot be bypassed. In the case of not making major adjustments to the organizational structure, the plan we choose is not necessarily the most ideal, but it is the most suitable under the current organizational structure.
As for ourselves, we need to remind ourselves all the time to jump out of the concepts that the organizational structure has set for us and look at the problem and think about the solution from the whole process, the whole scene, and a higher level.
“However, one point to note is that cloud computing service enterprises, including AWS, Alibaba Cloud, and Microsoft, did not fully follow these software architecture standards to build their cloud service software architecture systems. This is not an accident at all because these enterprises are fully aware that the cloud computing-based software architecture should be a software architecture suitable for non-centralized organizations rather than the traditional software architecture based on a centralized organization. Therefore, the traditional software architecture standards for cloud-native architectures need to be customized further and tailored to give full play to their value. Software architecture design patterns will have the interest concerns used in traditional software architecture design methods but differ in the specific design approach.”
However, simply having the method doesn't mean it will work. Teams, enterprises, and organizations have their pain points, demands, corresponding culture, and advantages. After choosing the right direction, the specific practice must be explored through the path that conforms to the characteristics of the enterprise itself, which needs constant practice and trial and error. The Alibaba ACNA architecture design method and its maturity model evaluation system can be used as a reference for the degree of technological architecture evolution and results in digital transformation.
"The technology strategy of enterprises is gradually shifting to the direction of business architecture and its governance. The application delivery process will become more standardized with the deepening and popularization of DevOps. Moreover, the increase in the number of cloud service types will also give rise to new development models and development frameworks.
Finally, I still want to emphasize returning to my original aspiration that technologies serve enterprise value, assessing the rate of return on investment (ROI) comprehensively. By doing so, enterprises can increase efficiency, reduce costs and risks, and enhance the experience.
Alibaba Clouder - July 23, 2021
Hesey - December 30, 2019
Alibaba Clouder - March 6, 2019
Alibaba Clouder - October 14, 2020
Alibaba Clouder - May 1, 2021
Alibaba Clouder - June 10, 2020
Accelerate software development and delivery by integrating DevOps with the cloudLearn More
An enterprise-level continuous delivery tool.Learn More
A unified, efficient, and secure platform that provides cloud-based O&M, access control, and operation audit.Learn More
Customized infrastructure to ensure high availability, scalability and high-performanceLearn More
More Posts by Alibaba Developer