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 ）, 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 .
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 .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）, 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 ：
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 .
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） 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 .
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） 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 ） 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 .
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
• 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 .
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 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 （ firstname.lastname@example.org ）, Change productivity , To change the world .
Link to the original text
This article is the original content of Alibaba cloud , No reprint without permission .
- C++ 数字、string和char*的转换
- Won the CKA + CKS certificate with the highest gold content in kubernetes in 31 days!
- C + + number, string and char * conversion
- C + + Learning -- capacity() and resize() in C + +
- C + + Learning -- about code performance optimization
C + + programming experience (6): using C + + style type conversion
Latest party and government work report ppt - Park ppt
Online ID number extraction birthday tool
Field pointer? Dangling pointer? This article will help you understand!
GVRP of hcna Routing & Switching
- LeetCode 91. 解码方法
- Seq2seq implements chat robot
- [chat robot] principle of seq2seq model
- Leetcode 91. Decoding method
- HCNA Routing＆Switching之GVRP
- GVRP of hcna Routing & Switching
- HDU7016 Random Walk 2
- [Code+＃1]Yazid 的新生舞会
- CF1548C The Three Little Pigs
- HDU7033 Typing Contest
- HDU7016 Random Walk 2
- [code + 1] Yazid's freshman ball
- CF1548C The Three Little Pigs
- HDU7033 Typing Contest
- Qt Creator 自动补齐变慢的解决
- HALCON 20.11：如何处理标定助手品质问题
- HALCON 20.11：标定助手使用注意事项
- Solution of QT creator's automatic replenishment slowing down
- Halcon 20.11: how to deal with the quality problem of calibration assistant
- Halcon 20.11: precautions for use of calibration assistant
- "Top ten scientific and technological issues" announced| Young scientists 50 ² forum
- Reverse linked list
- JS data type
- Remember the bug encountered in reading and writing a file
- Singleton mode
- 在这个 N 多编程语言争霸的世界，C++ 究竟还有没有未来？
- In this world of N programming languages, is there a future for C + +?
- js Promise
- js 数组方法 回顾
- ES6 template characters
- js Promise
- JS array method review
- 【Golang】️走进 Go 语言️ 第一课 Hello World
- [golang] go into go language lesson 1 Hello World