Brief introduction:With the continuous improvement and development of cloud native concept and cloud native technology, more and more industries begin to practice cloud native technology, which has different degrees of impact on technical practitioners in different positions. From business logic to technology selection, the entire technology stack has been turned upside down for both IT leaders and front-line developers and operations personnel. In order to better welcome the arrival of cloud native era, it is necessary for everyone to have a deep understanding of the impact of cloud native landing practice on different positions.

With the continuous improvement and development of cloud native concept and cloud native technology, more and more industries begin to practice cloud native technology, which has different degrees of impact on technical practitioners in different positions. From business logic to technology selection, the entire technology stack has been turned upside down for both IT leaders and front-line developers and operations personnel. In order to better welcome the arrival of cloud native era, it is necessary for everyone to have a deep understanding of the impact of cloud native landing practice on different positions.

CXO and IT Director

Many enterprises have comprehensive and stringent requirements for technical leaders such as CXO (including CTO, CIO, CISO, CDO, etc., referred to as CXO in this paper) and technical supervisors. Technical leaders should not only be able to take into account all aspects of technical management, but also take maintaining the company’s business as the core responsibility. Therefore, CXO and IT technical leaders need to have a broad technical vision, excellent technical judgment and even high-level architectural design skills, as well as a good product awareness to cope with the ever-changing internal and external environment.

The external environment

As CXO and IT/R&D directors of enterprises, these senior roles must first realize that cloud nativeis the inevitable trend of cloud computing development, cloud nativereshapes the basic technology platform for enterprise digital transformation, and cloud nativearchitecture is the basic technology architecture for building modern enterprise applications. Whether it is for Internet applications, enterprise transactions, big data applications, or for artificial intelligence-type loads, cloud native architecture is very important.

Secondly, for issues of particular concern to technical managers, such as open source, localization, etc., CXO and IT leaders need to see that most cloud-native related technologies and standards come from the projects of major open source foundations, and these technologies and standards constitute an open source technology system. The cloud native services launched by major cloud providers are also compatible with the corresponding technologies and standards. Open source Cloud native technologies and products are very consistent with the demands of enterprise customers for “Vendor lock-in”. When changing Cloud Service Provider (CSP) or Independent Software Vendor (ISV), Companies don’t have to worry about technology unswitchable or high migration costs. Localization has increasingly become the country and enterprises of the rigid need. Enterprises need to choose the cloud original products that meet the localization standards, including the autonomous control ability of the cloud original products, the contributed source code (usually reflected in the aspects of operation and maintenance, API, component expansion, etc.), and the localization server support, etc. At the same time, organizations such as the China Academy of Information and Communications Technology and the China Institute of Standardization of Electronic Technology also provide relevant evaluations for enterprises to help them choose commercial products that meet the localization standards.

The internal environment

Inside the enterprise, CXO and IT leaders must leverage cloud native technologies to drive technology upgrades and realize technical and business value in the context of the enterprise.

Firstly, at the strategic and organizational level, ACNA (Alibaba Cloud Native Archite-Cting) architecture design method is used to evaluate and formulate the Cloud Native strategy and implementation path of the enterprise, and make it a part of the overall strategy of the enterprise, so as to help and accelerate the digital transformation of the enterprise. In addition, the cloud native strategy is the same as the enterprise middle platform strategy, which is not only a comprehensive upgrade of technology, but also an upgrade of the enterprise IT organizational structure and organizational culture. Now more and more enterprises have realized this, alibaba, for example, it is not only as early as 10 years ago launched the cloud native related technology and product research and development, established in 2020 during the cloud congress about “alibaba cloud native technical committee”, is to let the outside world see group push alibaba and ant group comprehensive cloud original biochemical determination.

Secondly, since cloud native technology is a comprehensive reconstruction of enterprise application development, CXO and IT leaders need to think about how to rewrite applications with container, micro-service, Serverless, Service Mesh and other technologies, and reshape enterprise R&D and operation process with DevOps. GITOPS, IAC and declarative architecture are used to redefine the pipeline and operation and maintenance mode of the enterprise, and the original monitoring system is upgraded with observability and SLA (Service-Level Agreement), and the identity centric security system of the cloud is used to guarantee the security of the enterprise.

The purpose of all technology upgrades is to bring real value to the enterprise, so CXO and IT leaders need to keep the following in mind when making technology upgrades with cloud native.

  1. Operating costs and ROI (Return On Investment).
  2. Direct cost savings from extensive use of BaaS (Backend as a Service) and flexibility.
  3. The efficiency improvement brought by new technology, new tools and new processes based on cloud native.
  4. Stability, indirect cost optimization (risk reduction, user experience improvement, etc.) resulting from SLA enhancement.

Architect/consultant/system planner

For the technical backbone of the enterprise, such as architects/consultants/system planners, cloud native technologies and architectures have a profound impact on the work of architecture evolution and risk control, technology selection, building modern applications, IT service process reshaping, new tool application, security planning and so on.

1. Architecture evolution and risk control

The fundamental of the evolution of cloud native architecture is to change the infrastructure environment in which software runs — cloud platform, so that the upper software architecture changes from “steady state” to “breaking the original steady state and building a new steady state”. This requires architect/consultant/system planning personnel carefully assessing enterprise organization ability, development and operations staff skill levels, development cycle and cost budget, legacy system integration, business demands, etc., and use the ACNA architectural approach to risk control, in order to ensure the cloud native architecture smooth implementation and continue to play in the enterprise value.

2. Technical selection

Technology selection involves two aspects: on the one hand, the choice of cloud native technology and architecture in the field, and on the other hand, how to choose between multiple similar technologies or products in the same field. For the former, it is suggested that enterprises should gradually select the technology domain that matches the enterprise demands and capabilities according to the evaluation dimension of the maturity model of cloud native architecture (for example, some enterprises will choose “container + micro-service + Internet middleware” to build the enterprise middle platform) according to the architecture iteration cycle. For the latter, it is suggested that on the basis of open source and openness, enterprises should choose products and services supported by commercialization (at least successful cases of commercialization implementation in the same field), such as micro-service, container and other services provided by cloud platform.

3. Build modern applications

By building modern applications natively based on the cloud, enterprises can achieve business agility to meet the rapidly changing market challenges and give applications the ability to scale dynamically and be resilient. By rewriting and refactoring enterprise core software, enterprise core architects apply cloud-native technologies and architectural iterative processes to the next generation of development of these core software, enabling new applications to take on the characteristics of modern applications. Since enterprise cloud originalization will bring a thorough upgrade of application architecture, it is suggested that system rewriting should be chosen as far as possible rather than restructuring, so as to minimize the repayment of historical technical debts, reduce the legacy burden of the system, and accelerate the modernization process of new applications.

4. IT service process remodeling

After the enterprise upgrades the cloud native technology, the whole IT service process also needs cloud native upgrade, including event management, issue management, change management, release management and configuration management, and these processes are well defined. The upgrade process is more automated and simplified as new tools, methods, and standards are defined with cloud-native technologies. In event management in the process, for example, the use of observability tools greatly reduce the burden of the monitoring, because the cloud based on Kubernetes event management is better at covering from the virtual host, container, PaaS services, integrated services all events to the application level of centralized collection, storage, analysis and alarm, correlation analysis, and visualization display process, In order to improve the service desk and the subsequent event processing efficiency.

5. New tool applications

There are a number of new tools associated with the cloud native technology architecture that can greatly improve the efficiency of cloud delivery, aggregation, and cloud operations. If enterprises lack these tools, they will face problems of insufficient automation, fragmentation of IT information, and high risk of operation and maintenance. Therefore, the architect/consultant/system planner needs to be responsible for the enterprise CI/CD (continuous integration/continuous delivery) process, micro-service implementation, cloud opening and integration of PaaS/SaaS services, enterprise CMDB (Configuration Management Data Base, Configuration management database integration, enterprise monitoring integration, account/authority/authentication integration and other scenarios to select and even develop appropriate tools to improve the automation level of enterprise operation and maintenance, reduce the risk of operation and maintenance.

6. Safety planning

In the context of digital transformation, although the value of digital assets is constantly being explored, the risks are also increasing. DevSecOps, zero-trust model and a large number of cloud security services, which are advocated by cloud native, carry out fine-grained upgrade of security policies such as permission control, service-level dynamic isolation and request-level access control, thus realizing the security control of end-to-end process from code development to application operation and maintenance. This process requires the enterprise to upgrade its security planning to synchronize planning from cloud infrastructure to application security.

The developer

Cloud native technology and architecture have a great impact on the majority of technical developers (design, development, testing and other technical personnel), which is specifically reflected in the following six aspects.

1. The technology stack

Developers across the technology stack, from the front end to the back end, will benefit from adopting cloud-native technologies: The development environment is moving from a local IDE to a Cloud IDE, with pre-integration of Cloud services within the IDE (for example, using Cloud Toolk IT for application deployment within the IDE), making overall code writing and debugging more efficient. The Backend for Frontend layer, which uses Serverless architecture and a large number of PaaS cloud services, simplifies the technology stack and frees developers from Backend operations. Backend developers need to focus on technologies that will be used a lot, such as containers, microservices, Serverless, Service Mesh, PaaS cloud services, etc.

2. Distributed design pattern **

Cloud native technology architecture takes a large number of existing distributed design patterns and integrates them into open source products and cloud services, greatly reducing the effort of architects and developers. For example, architectural patterns such as microservices and ServiceMesh can be preset with grayscale mode, fuse-out, silo isolation, current limitation, degradation, observability, service gateway, etc. And examples such as event-driven Architecture (EDA), read-write separation, Serverless, CQRS (Command Query Responsibility Segregation, The command and query responsibility separation mode, BASE (Basically Available, Softstate, Eventual consistent) mode and other modes need to be introduced from the application architecture level, and cannot be transparent to the application.

3. Business development

The more cloud-native technologies and cloud services are adopted, the less effort developers have to devote to developing non-functional features, and the more time and energy they have to focus on functional design of the business itself. For applications based on Service Mesh and Serverless, developers don’t even have to worry about server operation and maintenance, constantly upgrade dependent software, deal with the complexity of gray heat rise and automatic fallback, and reduce the workload of integration and smoke testing by using online flow pressure testing.

4. Test method

The traditional way to design test cases based on prediction is inefficient. The solution is to use active fault injection and chaotic engineering to conduct fatigue testing, which can simulate the possible failures in the real world. The testing method of online traffic recording and playback can quickly form test cases and improve the effectiveness of regression. Crucially, these testing methods are carried out directly in production systems, rather than being tested in a test environment. Internet companies like Netflix, Amazon, Alibaba and others are using these testing methods in large scale to reduce the risk of failure in a large distributed environment.

5. Software development, operation and maintenance process

For enterprises from traditional waterfall model to agile development mode, DevOps and DevSecOps change the R&D process more obviously. They not only require enterprises to ensure safe and continuous release, but also require enterprises to redefine and standardize the R&D process and tools that R&D personnel contact, and realize the integration of development and operation and maintenance positions. The creation of positions that focus on improving engineering stability, efficiency and quality redefines the organization, processes and culture of R&D and operations.

6. Learn the scenario

Cloud platform is the infrastructure of the digital society, is an important part of the new infrastructure. Many of the most advanced and latest IT technologies and ideas will be reflected in the cloud platform. The open source projects behind these new technologies, as well as the conferences, gatherings, discussion boards, and tech blogs around open source projects, are great places for techies to learn and improve their skills. In addition, the technical media related to cloud computing often provides a large number of new technologies and solutions in the cloud native domain, and developers can broaden their horizons and improve their technical capabilities through learning. (These media outlets often provide online documentation, live streaming, video recordings, technical articles, blogs, and more.)

Operations staff

Operation and maintenance personnel, including SRE (Site Reliability Engineer), as the guarantee of successful operation of software, will also be deeply affected by the cloud native technology and architecture, especially in the technology stack, operation and maintenance tools, monitoring and error handling, SLA management, AIOPS and other aspects. The details are as follows.

1. The technology stack

On the one hand, the technology stack change of operation and maintenance personnel is passively caused by the adoption of cloud native technology stack construction in the operation and maintenance software. On the other hand, IT is based on proactively leveraging cloud-native technologies and tools to build new efforts and processes for integration, monitoring, automation, self-healing, performance management, high availability management, security management, SLA management, IT asset management, event management, configuration management, change management, release management, patch management, etc. A typical application scenario here is to use the Kubernetes Operator to automate resource creation, delivery, and instance migration operations.

2. Operation and maintenance tools

Cloud native architecture emphasizes highly automation of operation and maintenance process through IAC and declarative operation and maintenance. Even in a complex distributed system with hundreds or thousands of machines, operations such as deployment, upgrade, rollback, configuration change, and expansion/shrinkage can be handled automatically. As a core concept of IAC, GITOPS not only contains the description of the system target state, but also runs through the whole change process, which not only conforms to the transparent principle of DevOps, but also has the advantages of declarative operation and maintenance.

3. Monitoring and error handling

From the user feedback and discovery of abnormal system indicators to the adoption of a variety of operation and maintenance means to confirm, analyze and solve problems and failures, is an important scope of daily error handling. Observability emphasizes the ability of a single execution of a business to obtain log, measurement, and trace information from multiple distributed services, containers, virtual hosts, networks, and BaaS services, thereby improving monitoring capabilities and error handling. Cloud native technology does not require operations personnel to collect and correlate this information from multiple distributed nodes. Instead, Prometheus and Grafana help perform correlation analysis, alerting and visualization of multi-dimensional information.

4. The SLA management

With the measurement information, we can combine the dependencies from the invocation relationship to SLA management of business services and PaaS components, and thus SLA management of global services and IT assets. In the absence of infrastructure and capabilities such as Service Mesh and Observability, traditional monitoring systems have to try to capture these metrics from logs in different formats. If the software does not print the metric information, the monitoring system will not be able to obtain it. At the same time, due to the lack of full-link dependency, SLA management can not do upstream and downstream correlation analysis, which leads to the system can not be the first time to perceive whether a Service or component has achieved its Service Level Objective (Service Level Objective). These problems are well solved in the cloud native system, which can help the operation and maintenance personnel to improve the SLA management level of the system.

5. AIOps

AIOPS refers to the use of machine learning and artificial intelligence technology in operation and maintenance to actively analyze and prevent faults, while accelerating the speed of fault processing. When observability operations are implemented across a large number of business services and technology components, the system will generate a large amount of log, metric, and tracking data that will be analyzed using real-time machine learning and artificial intelligence techniques. It can assist abnormal detection before and after changes, correlation analysis of multiple events and elimination of “false positives”, root cause analysis, automatic abnormal node removal and emergency recovery and other operations.

Software Delivery Engineer/System Integration Engineer

As important players in the software delivery chain, software delivery engineers and systems integration engineers will also change the way they work as they apply cloud-native software.

1. Standardize delivery

One of the biggest challenges in the delivery process is that different customers have different IaaS environments, including different server or virtual hosting technologies, network environments, storage products, operating systems, and base software libraries. Different IaaS environments not only result in different versions of the delivered software, but also change at different delivery stages, which further increases the complexity of delivery management. Containers and immutable shielding IaaS infrastructure can not only the different components, and the running environment changes in the container, can form in different image of different configuration version, instead of in situ modification upgrades way (this way will be lost version of the configuration information, or make a different version of the configuration become unmanageable), Thus, the software delivery process can be standardized, and the “contagion” caused by the frequent changes of IaaS layer to the changes of upper application configuration can be isolated, so as to achieve the purpose of improving the efficiency of software delivery.

2. Automate delivery

Another difficulty with software integration and delivery is the need to provide software configuration, installation, or deployment manuals that the relevant personnel need to learn, and then adapt to the differences between standard deployments and different environment deployments. The installation script is only a side job in this process, as it does not require knowledge of the manual. Cloud native OAM (Operation Administration and Maintenance) describes the running environment, composition and Operation characteristics of the software at the metadata level from the perspective of the application through YAML file. Describes both the final state of the software deployment and the configuration changes that can be adapted. Scripts can read and understand YAML files. At the same time, we can see that the deployment of the same software in a typical scenario can be standardized, open source and shared (for example, the deployment process of Redis on Aliyun ECS). This not only automates the delivery process for commonly used software, but also improves delivery levels by sharing delivery experiences from typical environments.

3. Cloud delivery and aggregation

Cloud computing provides a new place for software to run and a new form of delivery. At the same time, cloud computing is a POC (Proof of Concept) venue for software delivery. The Integration of software and Cloud becomes a new software Integration pattern, forming a new CSI (Cloud System Integration, Cloud Integrator). The system first integrates with the software deployed in the public cloud on a small scale, and then replicates the environment in the public cloud to the private cloud in a one-click manner through the cloud native delivery tools. This reduces the cost of integration and delivery while simplifying the complexity of integration.

4. Continuous delivery

Continuous delivery of software is an essential part of the DevOps process. With small and frequent deliveries, DevOps makes the software delivery process more automated and versioned, with upgrades and rollbacks performed repeatedly and automatically. Continuous delivery improves software delivery efficiency by ensuring that there is always an up-to-date and available version of the software, that is, if the code or configuration changes, a new version can be generated immediately and verified for availability.

5. Extensive tool chain and knowledge

Cloud native technology system is open source, with widely used open source component products and open knowledge system. With these products and knowledge, software integration engineers and software delivery engineers can quickly learn the latest cloud-native technologies, get the most appropriate cloud-native tool chains, and quickly validate them in their own environments. Moreover, enterprises can obtain the basic technical knowledge of the products they use through Internet channels, which can also reduce the training cost in the process of software delivery to a certain extent.

From the database administrator to the database architect

Data Base Administrator (DBA) plays an important role in both traditional commercial database and open source database products. They are a key link to ensure the stability of the entire software system. The development of cloud native technology and products has also profoundly affected database administrators. The way they work is undergoing a huge change, with the focus gradually shifting from low-level system construction to business system architecture design, from basic stability to business structure optimization, and from how to make good use of database software to how to make good use of cloud native product system. At the same time, enterprises’ requirements for operation and maintenance objects, operation and maintenance platforms and technical capabilities have also undergone tremendous changes.

1. Operation and maintenance objects

With the continuous evolution of cloud native architecture, DAAS (Database as a Service) has become a reality that was once out of reach. Cloud database provides PaaS service out of the box, and provides rich cloud native database products such as computing resource pool and storage resource pool through cloud native resource pooling technology. This makes the database administrator’s operation and maintenance objects from the host, network, database into database services. Database administrators no longer need to focus on the delivery of resources from IDC (Internet Data Center) to host. These basic services will be completed by the cloud platform. The cloud platform will give full play to the scale benefits of supply chain and virtualization technology, and provide quality services far lower than the cost of self-built IDC. In the era of cloud computing, with the help of the IaaS service capability of cloud computing, database administrators have relieved the workload of the operation and maintenance of basic resources in their daily work, so that they can pay more attention to the supporting ability of database services for the business and shift the focus of operation and maintenance objects to database services.

2. Operation and maintenance platform

In the era of commercial database, the basic ability of a database administrator is to make good use of a single database product, build a basic operation and maintenance platform, and realize data security, high availability of services, backup and recovery, performance monitoring, problem diagnosis and other basic functions. Even in the era of open source database, database administrators of most companies also focus on the above mentioned aspects, or do customized modifications from scratch or based on open source operation and maintenance components, which consumes a lot of human and material resources, and it is difficult to obtain continuous operation and maintenance ability. Once there is a loss of core operation and maintenance personnel, the enterprise is likely to have a platform unsustainable situation. In cloud native architecture, a database of PaaS platform provides rich operational support capability, so the construction operations platform, database administrators no longer need to start from scratch from operations of fundamental component oriented to service oriented database operations, is based on the cloud platform provides rich OpenAPI realize the customized development of the business support ability, How to provide stable database service support for the business is the primary goal of the operation and maintenance platform. At the same time, with the gradual improvement of the basic capabilities of the cloud platform, the new technology makes use of the advantages of the OpenAPI system to continuously improve the capabilities of the operation and maintenance platform for database services. Therefore, we need to realize that only by changing the goal of operation and maintenance platform construction can we give full play to the advantages of platformization of cloud native architecture.

3. Technical ability

The technical and architectural advantages of rich cloud services in the cloud native era liberate traditional database administrators from basic problems. Enterprises are more in need of architects who are capable of designing business data architecture based on cloud services, rather than database administrators in the traditional sense of operation and maintenance. Therefore, database administrators need to make the transition as soon as possible. In the cloud native architecture, many problems that required a database administrator to solve in the past can be solved easily. The typical example is the data security problem, data security has always been the top priority of the database administrator’s work, they will put great energy into the disk disaster tolerance, computer room disaster tolerance, data backup and other data security work. Multi-AZ (Availability Zone) and distributed storage architecture in the cloud native era have natural advantages in solving data security problems. Another example of capacity planning, database capacity planning has been a difficult difficulty to grasp. In the period when the business model changes, such as in the big hurry scenario, it is easy to have the problem of insufficient system capacity. With the help of resource pooling technology, the cloud native system gives full play to the elastic capability advantage of the cloud native storage and computing separation architecture, and can greatly shorten the expansion cycle from the original “day” level to the “second” level. Shared storage technology is able to achieve the second level of the read node pull up to achieve the expansion of the system read capacity. It is believed that in the near future, with the breakthrough of CPU pooling, memory pooling and multi-point writable technology, the elasticity of database capacity will be more powerful.

In addition, SQL tuning has always been an important part of a database administrator’s daily routine. Instructing business developers to write SQL that conforms to the characteristics of a database has always taken up a large portion of a database administrator’s job. In the era of cloud native, cloud native automatic optimization system based on machine learning and expertise to realize database from perception, self-healing, self-optimizing, since the operations and the security of cloud services, can help the database administrator to reduce the complexity of the database management, eliminate the manual operation of service failure, thus effectively guarantee the stability of the database service, security and efficiency.

In the era of cloud native, cloud services largely liberated the database administrator, has also asked the database administrator as soon as possible to complete the transformation of personal ability, accelerating from the database administrator to database architect, thus more deeply involved in the business system architecture design, to help developers with good characteristics of the cloud database.

conclusion

Cloud native technology affects the daily work of related technical roles from many aspects such as business process, technology selection, technology stack, etc., and the impact of cloud native technology is far more than the above. In cloud native environment has become an inevitable trend in the future, technology practitioners will follow with different jobs in the cloud native stresses focus on business and evolve, and learn to accept and cloud native concept and technology, and through the cloud native technologies and products better to release the value of cloud computing, to better support the development of related businesses.

Copyright Notice:The content of this article is contributed by Aliyun real-name registered users, and the copyright belongs to the original author. Aliyun developer community does not own the copyright and does not bear the corresponding legal liability. For specific rules, please refer to User Service Agreement of Alibaba Cloud Developer Community and Guidance on Intellectual Property Protection of Alibaba Cloud Developer Community. If you find any suspected plagiarism in the community, fill in the infringement complaint form to report, once verified, the community will immediately delete the suspected infringing content.