当前位置:网站首页>End application R & D enters cloud native Era

End application R & D enters cloud native Era

2020-12-07 19:18:56 Aliyun yunqi

brief introduction :  With the development of technology and the emergence of various client scenarios , Business front desk forms become more diverse ,“ Provide seamless 、 Consistent digital user journey ” It has become the key goal of enterprise application architecture in the new era , At the same time, it is also the core business traction behind the development of large front-end technology . Based on Alibaba cloud's experience in serving a large number of users in the past few years , This paper summarizes the new paradigm of end application development based on cloud native technology , Hope for the vast number of developers 、 The enterprise provides the application research and development methodology for enterprise business foreground in the cloud computing era .

 

Alibaba cloud Cloud native application R & D platform EMAS Yang Bin ( Tea )

Diversified user experience ( Multiexperience ) With the big front end

With cloud computing 、 mobile 、IoT、AI Such as technology concept landing and sustainable development , The digital process of society is accelerating .Gartner Recently released a new enterprise application architecture methodology MASA(Mesh Application and Service Architechture, Grid application and service architecture )[1], Fusion is close to 5 Popular technology trends in , For the majority of enterprise information suppliers 、 Developers and enterprise users define a broader enterprise digital application architecture model .
image.png

Different from what Ali defined as Zhongtai ,MASA The enterprise application is divided into three layers , Based on the traditional back-end business capabilities , The front desk of the enterprise , And for front and back links API Gateway layer also covers , Through the grid architecture to achieve enterprise business processes 、 staff 、 service 、 Content 、 Dynamic connectivity between devices , To build more agile to match existing technology forms and future technology trends 、 flexible 、 Scalable application architecture .

Along with MASA, Facing the enterprise front desk Multiexperience( Diversified user experience ) By Gartner Clearly put forward and defined as 2020 Ten technology trends in [2].Multiexperience Expect to take advantage of diversified front-end technology ( Mobile application 、Web、 Applet 、 Wearable devices and so on ) Upgrade the digital touch point for end customers , Build diversity with end customers as the center ( Experience diversity ) And one body ( Architecture integration ) The user interface .Multiexperience It is different from the popular concept of big front end in China , But they have the same story line behind them .

There is no unified definition of big front end in China , It's more of a relatively pure technical concept , It means the set of end technologies facing the customer side , It starts with the client Native And Web The continuous integration of the two technology stacks , Behind the core is cross platform technology in mobile 、PC、 Applet 、Web And so on the scene of continuous development and maturity .

Big front end technology stack in Multiexperience Under the background of such business requirements, it is constantly honed , At the same time, the reverse support business continues to expand the scene and scope of its digital contact for end customers . Technology expands business boundaries , Business drives technological change . For full end scenarios , Provide seamless 、 The consistent digital user journey is Multiexperience The user concept is in the same vein with the big front end .

Now , Facing a new business architecture paradigm , How to accelerate the development of diversified end applications in the new era , To provide more agile and efficient delivery to the business ? Cloud native technology is the best option .

One cloud and many ends , How cloud native technology drives end application research and development

A lot of people have doubts , What is the relationship between cloud nativity and the development of end testing , Isn't cloud native a concept of a back-end technology domain ? It's not . Cloud Nativity represents a methodology for application construction : How to maximize the advantages of cloud computing service model, low cost 、 Build and manage a flexible application with agility . Its key concepts include :
• All operating environments are transparent , Stretch and stretch ;
• All the R & D processes are streamlined , Efficient delivery ;
• All infrastructure services , Pay as you go ;

The cloud native R & D model aims to reduce the technical risk of the business , Let developers focus more simply on their own business . End oriented application scenarios , The idea of cloud native technology also applies .

Gartner stay 2019 It's defined a new technology track :Multiexperience Development Platform(MXDP)[3], It's used to describe those things that go through agile 、 Modern technological capabilities help enterprises to achieve Multiexperience R & D platform of , Its capability matrix is shown in the figure below :
image.png

from MXDP We can see that , In addition to the traditional R & D tool components , Cloud native technology has become MXDP The core technical element , Typical technologies include :

DevOps, High speed iteration of driver applications

There are typical differences between end application and traditional back end , To move App For example , The application itself is built on heterogeneous machines 、OS Above the platform , There are many constraints in the running environment , Relying on a large number of back-end service support , The continuous integration and delivery process of the application itself also contains many elements unique to mobile scenarios , For example, the compiler environment 、 Compatibility testing 、 Internal test distribution 、 Channel packaging 、 Gray scale release, etc , These key differences determine that the end application must build its own unique DevOps system .
image.png

R & D domain : End application oriented DevOps The platform needs to solve the organization collaboration and automation of application continuous integration process . The R & D period for end applications , ripe DevOps The platform needs to have :
• Build environment for multiterminal compiler and realize automatic software update ;
• reliable , Flexible and scalable construction of service clusters ;
• Code and certificate hosting ;
• Static code scan ;
• Software defined workflow ;

Test domain : The test complexity of end application is greatly improved compared with the traditional back-end application , Besides the basic function 、 Performance test , There is also a need for heterogeneous models 、 terminal 、 Compatibility test of operating system , A mature end application test platform should have :
• Compatibility testing service , Covering mainstream models 、 equipment 、 operating system ;
• Performance testing services , Support all kinds of application crash 、ANR、 Carton 、IO、CPU、 Memory and other key performance indicators monitoring and evaluation ;
• Automated test engine , Support test case writing 、 Playback and management ;
• Remote real machine capability , Support cloud access for devices ;
• intelligence Monkey And AITest Test capability driven by intelligent technology ;

Publishing domain : The target publishing object of end application is massive terminal devices , Production release is subject to application market audit , therefore , reliable 、 accurate 、 Targeted application distribution capability is the key technical requirement of application production distribution , Include :
• Distribution capabilities within the enterprise ;
• Support software defined grayscale capabilities , Support for different regions 、 The Internet 、 Model 、 Channel and other custom tags are distributed in grayscale ;
• Production release capability for different channels ;
• Version management and archiving ;

Operation and maintenance domain : The operation and maintenance system of end-oriented application should always focus on the perception of problems , The location of the problem , The repair of the problem unfolds , In traditional Metrics,Tracing,Logging On the basis of , We have a particular emphasis on end-oriented Hotfix The ability of , This is a special difference from the back-end application form . A mature end-to-end operation and maintenance system should include :
• End application oriented APM Ability , Support includes starting speed 、 Page loading 、 collapse 、 network performance 、API Monitoring and alarm system including performance, etc , And can work with the back end APM Linkage for transaction based access tracking ;
• Remote logging capabilities for end applications , Support real-time terminal logging and management , Accelerate remote diagnosis of problems ;
• Hot repair capabilities for end applications , Support code for different device platforms 、 Hot update of resources ;

Operational domain : End application as enterprise business portal , It is the key interface for the enterprise to face the end user , You have to be aware of user behavior at all times 、 Listen to users , Agile iteration that drives business . oriented App The ability of data analysis and public opinion feedback is DevOps One of the key closed loops of .

Data analysis should have
• All end oriented user behavior data collection capabilities , Including applets ,APP,H5,PC,WEB,IoT etc. ;
• Easy to use terminal embedded tools : Support code embedding point , Automatic burying point , Visualization of buried points, etc ;
• Open data capabilities : Support with API How to synchronize data , Support seamless docking with cloud computing platforms ;

Public opinion feedback should have
• All end oriented user feedback channel capability ;
• Intelligent response robot ;
• Collection and analysis of public opinion data ;

DevOps by Multiexperience The key values brought about by our production practices include :
•  Shorter business iteration cycles
The workflow and automation capability of covering the whole life cycle of application will greatly improve the application continuous delivery ability and cross team collaboration efficiency , And shorten the delivery cycle of the business . As an enterprise's entrance to end users , Shorter business iteration cycles mean faster market facing response , This is the cornerstone of business success in the digital age .
  More reasonable allocation of human resources
Cloud native tool chain and automation pipeline will help enterprises avoid spending a lot of engineering and technical personnel to maintain localized tools and systems , At the same time, greatly reduce the application of continuous delivery process of the manual link . Enterprises can focus their valuable human resources on the production and R & D of their core business .
•  More robust application delivery quality
Automatic terminal test system and comprehensive monitoring and diagnosis system will provide complete and sufficient quality assurance for end application , These cloud native services will save enterprises a lot of professional investment in subdivided fields , And through the professional and continuous engineering technology evolution and the introduction of intelligent technology, the quality assurance system is continuously optimized .
•  Better instant user experience
The comprehensive behavior data embedding and analysis around the end application will help enterprises better grasp the matching degree between product function and market , The ability of instant public opinion feedback helps enterprises better manage users and maintain relationships . All of these direct and indirect voice from customers will directly drive the rapid iteration of the business , Through cloud native DevOps The production practice of agile development .

Serverless & Backend as a Service(BaaS), The running engine of end application

Serverless It's one of the hottest topics in the developer community , Its core idea is to de server : The basic capabilities of cloud computing in the bottom layer are abstracted in high dimension , With API/SDK The way to open the access and access of back-end capabilities , No need for developers to configure and deploy server resources to achieve elastic scaling 、 Pay as you go back service support .Serverless In fact, the technological concept of the technology has appeared a few years ago : Back end as a service (Backend as a Service,BaaS)[4] It's typical to follow Serverless The service form of design concept , As early as 2012 year BaaS It spreads in the developer community and is loved by developers for its convenient usage model . Typical BaaS Services include message push 、 User authentication 、 Cloud storage 、 Cloud database, etc .
image.png

because BaaS Services significantly cut back-end R & D spending , It has been widely used in the end application scenarios . but BaaS The core solution is the vertical scenario of the back-end capability abstraction , It doesn't support the back-end logic of the business itself .Function as a Service(Faas)[5] The emergence of the emergence of this vacancy , And make Serverless The architecture paradigm can provide a more complete closed loop for end-to-end application scenarios .

FaaS It's a new way to build and deploy software , Based on event driven model , Function granularity provides developers with a hosting environment for business code . This architecture model is used in data processing 、Backend for Frontend、 Mobile application 、IoT The application and Web Application scenarios have more common application space .

To sum up, we can see that , Application oriented Serverless The architecture contains BaaS and FaaS Two forms of service , In order to fully support the scenario requirements of end application , ripe Serverless The engine should include
•  Message push
Support the establishment of reliability between server and client 、 Power saving long connection , oriented Android、iOS、Web、IoT Peer applications provide downstream message push capabilities .
•  Login authentication
Provide multi-dimensional, secure and reliable end-to-end authentication capabilities for developers , So as to reduce the development cost and business risk of developers in login and account system . Authentication mode includes mailbox Authentication 、 SMS authentication 、 Number authentication and mainstream Internet platforms ( TaoBao 、 Alipay 、QQ、 WeChat 、Google etc. ) Login authentication capabilities provided .
•  Data synchronization
Provide a stable and reliable 、 Encrypted secure data synchronization system , Support the offline use of data in the client and online synchronous update , To provide services in mobile applications 、Web Application and PC Consistent user experience between applications .
•  Remote configuration
Remote configuration is a persistent configuration management service for end application , Configure content through cloud management , And push updates to the client in real time , Flexible control of the application functions 、 Configuration and UI Realization .
•  Cloud storage
Offer based on API/SDK The convenient cloud storage capacity of , Support includes text 、 picture 、 Video and other user generated content .
•  Cloud database
Cloud based NoSQL database , Provide convenient access interface for various front ends , Support real time data operation 、 Cross end data synchronization and elastic scaling .
•  Cloud functions
Allows developers to host applications directly to cloud function platforms , Using function as the smallest unit to complete event driven business logic development , adopt API Mode for remote access and call .
• AI Ability
Application intelligence is the key technology trend of end application , Basics AI Capabilities will become end applications Serverless The foundation of Architecture , Including but not limited to OCR、 Face recognition 、 Speech recognition, etc .

Serverless The core values of architecture and services are embodied in three aspects :
  Resource cost
The traditional application architecture model needs to purchase a batch of server equipment in advance , And budget according to the estimated business peak in the service life , There are many uncertainties , The vacancy of server resources will also bring huge cost waste . and Serverless On the other hand, it implements on-demand extension 、 A flexible model of pay as you go , Make the enterprise cost more controllable .
  O & M costs
Developers don't have to worry about the capacity and daily operation and maintenance of the underlying computing resources , All infrastructure maintenance will be done by Serverless The service provider is responsible for solving the problem and making it transparent to developers . Reduced O & M costs , Flexible resource usage and scalability · Capabilities will help developers better focus on the growth of the business itself .
•  R & D Efficiency
complete Serverless The engine provides the support of most scenario capabilities for end-oriented applications , It makes the development of application very convenient and easy to maintain . And in the traditional R & D model , Code development 、 Environment building 、 Capacity piezometry 、 The cluster expansion 、 Application deployment and other links will bring huge time cost .

Low code , New changes in application R & D form

The emergence of cloud native technology makes the traditional business architecture transform to Cloud Architecture on a large scale , Software development efficiency has also been significantly improved at this stage . But the digital age , Various application scenarios emerge , Business is right IT The timeliness of market-oriented response also puts forward higher requirements . In the wave of cross era technological evolution ,Low-code Development Platform( Low code platform )[6] Come out of the water quickly , And along with the diversification of end application scenarios, it has accelerated the popularization . Low code technology not only improves the efficiency of software development , It's a change .
image.png

Compared with the traditional manual coding based application model , The low code platform is provided to developers based on GUI Software editing environment , Combined with cloud native infrastructure, it helps developers quickly complete the construction of applications . meanwhile , This kind of R & D model greatly reduces the skill requirements of software developers , More have certain IT People with basic concepts can participate in software development , The cloud native architecture naturally helps developers to deploy the software itself 、 Operation and maintenance, etc .

Mature low code platform will be widely used in the production of enterprises 、 marketing 、BPM、 Tool application scenarios , Its core competence consists of two parts :

  • Visual application choreography engine
    • Support includes Web、 Move App、 Multi terminal application scenarios including applets ;

• Support includes UI Visual choreography 、 Business flow choreography 、 Logical arrangement 、 Ability to arrange data and so on ;
• Support component 、 modular 、 Templates and other models , There is an open material system and component Market ;
• Model driven , With metadata parsing engine ( Including multiple translation engines / Rendering engine, etc. );

  • Cloud native application platform
    • Industry domain model and metadata management

• Code generation engine
• Cloud native app hosting
• CI/CD
• Rich integration and expansion capabilities

We can get from Schneider Electric and the top low code platform company Outsystems We can see the value of low code in our cooperation : Schneider Electric after the application of low code platform , In a short span of 20 It's been online in a month 60 paragraph App, Most of them App stay 10 Complete development and launch in the week , The labor cost saved in the first year is up to 650 People are naturally . Low code technology greatly shortens the path of traditional enterprise digital transformation .

to 2024 year ,Gartner It is expected that 65% It will be done in a low code way , It seems to be faster than expected , But it does continue to happen . In the global market , We can see OutSystems、Mendix、PowerApps、App Maker Rapid growth steps , Future combination AI With machine learning , We can see what is really “App factory ” The birth of .

Change and strain , Never stop making technological innovation

As a domestic mobile Internet 、 Cloud computing industry giant , Alibaba is in the big front end 、 Cloud native domain has rich practical experience . We from 2016 In 2000, it gradually exported the mature application middleware within the group to cloud , And in 2018 Mobile R & D platform was launched in EMAS( https://cn.aliyun.com/product/emas ), Now ,EMAS It has grown to span multiple ends ( Move App、H5 application 、 Applet 、Web Application etc. ) Cloud native application R & D platform for scenarios , Based on a wide range of native cloud technologies (Backend as a Service、Serverless、DevOps、 Low code, etc ), For business 、 Developers provide one-stop application R & D management services , Covering development 、 test 、 Operation and maintenance 、 Operation and other applications lifecycle .
image.png

As of today , With the rapid popularization and development of Cloud Computing , We have served 15 More than 10000 enterprises and developers .

In the mass production practice , We also see the key challenges that cloud native technology faces in end-to-end application scenarios :
•  Developing mental change
For all development teams , The definition of front and back teams is deeply rooted , Collaborative interfaces have become natural . However, as Serverless Cloud native technology is widely used , In more and more end application scenarios , The development team only needs front-end developers to complete the application development and online work in a closed loop ; In the application architecture dimension ,Serverless FaaS It's event driven , No state , A new paradigm of functional logic fragments , It is quite different from the traditional application model . Change is cost , What's more, it's not pure technology behind the change , And organizational change , The transformation of production relations .
•  Technology maturity
Whether it's Serverless FaaS Or low code development , All belong to the technology of commercial introduction period , There is still a lack of product perfection , There are also limitations to the scenarios that can be covered , For mainstream complex application scenarios ,Serverless FaaS It is also necessary to combine traditional micro services and other architectures to form a hybrid Serverless application . In system observability , R & D debugging convenience , Function startup performance , There is still a long way to go on key control points such as function execution time .
•  Architecture flexibility
Cloud native capabilities represent high-dimensional encapsulation and abstraction of cloud infrastructure , Abstraction means that the control granularity becomes coarse , The flexibility and customization of the system will be naturally weakened ;

Although the challenge is huge , But the trend is now .EMAS BaaS Has become a large number of domestic mobile App Essential infrastructure for , It covers more than 20 Billion active device terminals , Daily API The number of calls exceeds 10 billion ; be based on EMAS Serverless( https://www.aliyun.com/product/miniappdev ), During the epidemic period, we saw a large number of developers quickly developed the application of anti epidemic tools , It takes only a week from the idea to the product launch ; Within the enterprise , More and more office applications and form applications are rapidly built on low code platform , The productivity of enterprises has been greatly improved . reference Hype Cycle[7] Model of , A number of cloud based emerging technologies have emerged a large number of production practice projects , Technology maturity has entered a steady climbing period .

There is no doubt that we are standing on the eve of another technological era , Cloud in one , One cloud and multiple terminals are becoming the de facto standard for front-end application research and development , Embracing cloud Nativity will be the shortest path for developers to enjoy cloud computing dividends . We welcome more people of insight to join us ( lingming.yb@alibaba-inc.com ), Change productivity , To change the world .

 

Link to the original text
This article is the original content of Alibaba cloud , No reprint without permission .

版权声明
本文为[Aliyun yunqi]所创,转载请带上原文链接,感谢
https://chowdera.com/2020/11/20201112221016732k.html