what is Cloud Native (Cloud Native)App?
Cloud Native the topic has been extremely hot recently, and we have different interpretations of its concept. From my personal perspective, Cloud Native represents a methodology for application building: how to maximize the advantages of cloud computing service models to build an elastic application at low cost and quickly. In essence, the cloud-native R & D model aims to reduce the technical risks of the business and make developers more simple and focused:
- all operating environments are transparent and expanded on demand;
- all R & D processes are streamlined and delivered efficiently;
- all infrastructure services, pay-as-you-go;
generally speaking, cloud-native applications refer to traditional back-end applications. Container, Microservice, and DevOps constitute the iron triangle of cloud-native R & D architecture. Cloud native can be interpreted in another way for mobile apps that prefer frontend to backend. Compared with traditional back-end application research and development, mobile apps are significantly different in form. Applications are built on heterogeneous OS platforms with more runtime environment constraints and rely on a large number of back-end services, the continuous delivery process of the application itself also includes many elements specific to mobile scenarios, such as the compilation environment (iOS), compatibility testing, internal testing and distribution, channel packaging, and phased release. From the perspective of basic environment support, cloud computing service providers need to solve several core problems for mobile apps:
cross-platform; Mobile apps need to face multiple OS platforms, which poses great challenges in R & D resources and iteration cycles. The one-stop cross-platform R & D framework helps to control the pace of applications entering the market and shield the impact of different OS platforms on applications.
Loose coupling; Mobile App itself is also a very large system project. Imagine the service content carried by aircraft carrier-level apps like mobile Taobao, it is normal for a large App to concurrently collaborate with dozens of teams for one version of iteration. Therefore, a loosely coupled application container/scaffold is the foundation for high-speed application iteration.
- Service components; Basic components have pure functions. Building elastic terminal basic capabilities through cloud-based middleware and back-end services is the most cost-effective software construction method.
- Fast iteration; The process elements specific to mobile apps determine that open-source CI/CD services cannot fully meet the needs of mobile App fast iteration scenarios. On the other hand, the continuous delivery process has a large number of interactions with back-end services on the cloud. The cloud-based continuous delivery/R & D support platform will be the ultimate killer of mobile App lifecycle management.
- On-demand expansion; Mobile App traffic fluctuations will be more intense and frequent, and the basic service support of on-demand expansion and auto scaling will help flexible business operations and reduce costs.
We call the mobile App built based on the preceding cloud computing model cloud native App. Among the familiar concepts, a typical cloud computing architecture derived from mobile apps is Serverless.
Serverless is a hot topic in the field of software architecture. Literally, you may be confused about how to host service entities without servers? In fact, Serverless is an application architecture paradigm from the user's perspective, that is, the computing model based on cloud services implements abstract encapsulation and management of business logic, you do not need to manage and expand the underlying resources. The well-known BaaS(Backend as a Service) and FaaS(Function as a Service) are the materialized Service forms of Serverless architecture models. For example, when you want to create a weather service so that your application or a third-party application can easily obtain real-time weather data, you can quickly build an independent weather microservice based on FaaS + API Gateway and open it to the public. This is a typical Serverless service scenario. The core value of Serverless architecture model is reflected in three aspects:
- cost the traditional R & D expenditure model needs to purchase a batch of server devices in advance and quantify the budget according to the estimated business peak value in the service cycle. There are many uncertain factors, the vacancy of server resources can also cause a huge waste of costs. The architecture model of Serverless implements an elastic model of on-demand expansion and pay-as-you-go, which makes enterprise costs more efficient and controllable. Due to the further refinement of the service granularity of Serverless, the efficient bin-packing algorithm can even achieve higher efficiency than that of auto-scaling virtual machine clusters.
- O & M developers no longer need to care about the capacity and Daily O & M of underlying computing resources. Cloud computing service providers are responsible for all infrastructure maintenance and are transparent to developers.
- The efficient and fine-grained Serverless computing model is very suitable for computing-intensive scenarios, and can realize instantaneous high-intensity pulse computing capability at low cost. However, traditional architectures require high-cost preparations for such pulse computing scenarios, such as environment construction, capacity stress testing, computing storage expansion, and online application deployment, these hidden time resource costs further prove the core value of Serverless.
Serverless intends to encapsulate the runtime of the service in the delivery system of the service itself, and shield developers from supporting details of the basic environment unrelated to the business, it is the highest level of abstraction of application logic that you can imagine.
Benefits of cloud-native apps compared with traditional R & D architectures
based on the introduction of Serverless, we should have seen the differences brought about by the cloud-native architecture paradigm. Next, let's systematically compare the core differences between cloud-native apps and traditional R & D models.
Alibaba Cloud support for cloud native apps
currently, there are not many domestic suppliers that can provide complete technology stack support for cloud-native apps. Most of them are vertical vendors that provide services in the form of BaaS. Due to the lack of App R & D support solutions and interaction with the IaaS layer, this type of service cannot fully utilize the strong cohesion feature of mobile App development, and becomes a single point of tool support, the efficiency improvement for developers is relatively limited and independent. Alibaba has accumulated nearly 7 years of research and development experience in the field of mobile Internet. With the deepening of mobile technology, the mobile development paradigm is also evolving rapidly, to support rapid iteration and quality assurance of mobile apps in the entire Alibaba system. The following figure shows the architecture paradigm of Alibaba Cloud Native App. In addition to the hard capability stack support of the terminal and cloud, Alibaba has also opened a series of soft capability stacks, including the R & D protocol for Android and iOS platforms and the R & D protocol for mobile R & D DevOps. Behind the soft and hard capacity stacks is the deep understanding and understanding of the mobile industry, which is by no means a masterpiece.
阿里巴巴Cloud Native App Paradigm
On the Alibaba Cloud platform, we are pleased to open the complete capability stack of Alibaba ApsaraMobile through Cloud Native App (mobile Cloud). Alibaba Cloud ApsaraMobile (mobile cloud) is an open platform for Alibaba's mobile technology. It has accumulated Alibaba's years of mobile Internet system architecture and has recently been deeply integrated with Alibaba Baichuan, it is the main window for the external output of Alibaba's eco-mobile technologies and concepts. The following figure shows the capabilities of ApsaraMobile that are currently available to developers. These features basically cover the core axis of cloud-native apps.
Cross-Platform UI Development framework: WEEX-based MADP(Mobile App Development Platform)
WEEX it is Alibaba's open-source cross-platform mobile UI development framework and was officially donated to Apache foundation for incubation at the end of 16. WEEX has the capability of one-time development and three-terminal (Android,iOS, and H5) running. Compared with H5, WEEX uses the same web development mode to maintain high R & D efficiency, with low R & D costs and near-Native performance experience, it is ideal for APP developers who need fast iteration and have certain requirements for performance experience.
Mobile App container: Atlas
Atlas alibaba is an open-source Android-end application container that provides decoupled component/plug-in module frameworks and dynamic support. Help engineers solve various difficult problems during the project coding period, Apk operation period, and maintenance and repair period.
- In the engineering period, realize the functions of independent development and debugging of the project and the independent engineering modules.
- During runtime, complete component lifecycle mapping, class isolation, and other mechanisms are implemented.
- During the O & M period, Quick and incremental updates and fixes are provided for quick upgrades.
Currently, Atlas is widely used in Alibaba's system. More than 60 business components, 20 collaboration teams, and millions of lines of code are running on Atlas, with its fast iteration capability, applications have been released 446 times in the past six months from monthly to weekly to anytime. In addition, Atlas itself is very lightweight, with only more than 90 classes. It supports the development of large and small apps, from large mobile Taobao to relatively small Alibaba Health, its stability has also been tested and is compatible with Android 4.x or later. The overall Crash rate of mobile Taobao has been maintained at about 5%, because containers cause fewer than 1% crashes.
R & D support platform: MobileHub
for enterprises, simply purchasing virtual machines instead of traditional physical machines only realizes the cloud-based basic resources, which is the initial use mode of cloud computing. The real symbol of Enterprise Internet Plus should be the Internet-based research and development system, how to use agile, DevOps, containers, distributed, serverless and other thoughts and architectures of the Internet form to truly influence the product system structure and the daily operation form of research and development within the enterprise, which is the higher-level value transmission of cloud computing.
MobileHub is a mobile App R & D support platform that Alibaba has accumulated and polished in the mobile Internet industry for many years. It supports the complete lifecycle and full process management of hundreds of millions of Alibaba apps, from project management, continuous integration, the entire workflow is built into automated testing, version management, phased release, monitoring, O & M, and User Operations. Alibaba's deep understanding and understanding in the mobile internet field are integrated into the entire workflow, it is an important carrier of several key elements (mechanisms, processes, and methodologies) of the software capability stack in the mobile App R & D system.
Mobile middleware and BaaS are responsible for supporting mobile App infrastructure capabilities and decoupling App services. They are suitable for cloud services to help businesses quickly complete infrastructure construction from 0 to 1. Cloud-based mobile middleware and BaaS services are essentially the concrete implementation of the mobile App Serverless architecture. ApsaraMobile divide mobile middleware into five specific functional domains according to the functional category of components, as shown in the following figure.
For the vast majority of enterprises, the construction of middleware is not located in the core development path of business, and lacks the source power of continuous and deep cultivation. Cloud services can share the cost of basic technology research and development through large-scale services, and have absolute advantages in talent accumulation, resource investment, product stability and performance, etc, it is an important manifestation of the refinement of the Division of Labor and the improvement of production efficiency in the entire mobile ecosystem. Alibaba has accumulated a large number of scenario capabilities in mobile networks, mobile high availability, messages, mobile data, and other fields, which can effectively help enterprises avoid repeated capacity building and heavy maintenance and evolution costs.
mobile surpasses PC to become the largest traffic portal, and business mobility has become one of the core strategies of almost all enterprises. How to seize the time window and bring products to the market as quickly as possible, it often becomes the key element that determines the final fate of the product. Cloud computing brings about huge changes in R & D models. For fast-growing teams and enterprises, the cloud-native R & D paradigm will bring low trial and error innovation costs, truly help entrepreneurship enter the "fast-moving Era". In the natural evolution of the entire mobile development ecosystem, cloud native is bound to become a mainstream form.