Hard City and Alibaba Cloud Serverless Application Engine (SAE) create a low-code platform

Author: Chen Zetao, Product Director of Hard City, Luo Hao, Senior Architect of Alibaba Cloud Cloud Native, Shenzhen Qianhai Hard City, established in 2016, is a digital electronics industry supply chain and manufacturing platform. The scientific and technological innovation companies provide one-stop delivery capability services including electronic devices, PCBs, and SMT. For small and medium-sized enterprises, this is a platform for obtaining supply chain services + manufacturing and processing services with reasonable stocking and reasonable purchasing.

Compared with traditional code development, the research and development of each market demand requires a lot of research and development resources to be invested in the corresponding demand development. This not only includes the work of code development, but also takes up a lot of resources for communication with engineers in the early stage. This not only consumes a lot of research and development costs for each demand, but also needs to wait for the completion of research and development to respond to market demands. This is why Hard City chose to be a low-code platform.

In actual business, we will frequently receive demands from the market, and there are still some uncertain and tentative demands in these demands. This has always made our R&D resources quite strained. The creation of the low-code platform not only allows businesses without programming foundation to get started quickly, but also allows each business department to build their own management applications, which greatly alleviates the problem of tight R&D resources.

In our actual use process, we found that the low-code platform can not only cover many simple requirements development, but also many conventional and complex requirements can be completed through the low-code platform. Especially in uncertain and tentative requirements, due to the inherent instability of such requirements, changes in requirements are very common. At this time, due to the low iteration cost and low threshold of low-code, the business can directly modify the application in the background to achieve a rapid response to the market target.

At present, our low-code platform is developed using Java and Nodejs, the back-end uses SpringBoot, and the front-end uses Vue. When deploying based on ECS, it is published using Shell script and loaded to multiple hosts based on Nginx. However, we often encounter problems such as unbalanced server resource occupation, high operation and maintenance costs, and cumbersome allocation of operation permissions, which has caused problems for the cooperation of our entire team. For this reason, we have been looking for corresponding solutions.

Until we found a fully managed, O&M-free, and highly elastic SEA platform. SEA supports open source microservices, open source timed task frameworks, and full hosting of web applications. To this end, we built the architecture and found that SEA can reasonably allocate resources between applications and servers, as well as application dynamic scaling flexibility. This effectively lowers the threshold for server operation and maintenance, avoids risky operations, simplifies the operation process of blue-green application release by our team members, and improves release security and reliability.

After a period of use, we can currently publish SAE applications through the cloud effect pipeline, and the image build storage is cached in the Alibaba Cloud image library. Each developer of the project can publish the application through the pipeline, and based on the Alibaba Cloud RAM system, it can be easily With good control rights, the publishing efficiency is greatly improved. Each SAE should have an independent node. It does not need to consider which host the application should choose to publish to. It only needs to do SLB load balancing, and pay as much as the actual resources are used. There is no need to worry about various machine maintenance problems of the server, which significantly improves the efficiency of operation and maintenance work. For the application itself, it is the improvement of human efficiency, and more convenient and concise steps can complete the deployment cycle of an application.

In terms of operation and maintenance management, it is lighter and less complicated to worry about. For the entire microservice architecture, the context is clearer and the scalability is stronger, and more and stronger load capacity can be expanded with just one click. The company can also be more controllable when making cost budgets, and does not need a bunch of servers and IPs.

Future planning and vision of the hard city low-code platform

In the future, we expect business and technology to go hand in hand. It is suitable for the needs of self-management of the business. The business itself can quickly complete its own needs online through low-code and maintain it by itself. For very complex and technically demanding requirements, technicians will intervene at this time, allowing technicians to focus more on solving high-value and high-tech problems. This not only allows the business to quickly respond to market demands, but also allows the technicians to have more energy to solve the technical problems of the enterprise. Finally, let the business personnel and technical personnel of the enterprise flow and focus, so as to make the enterprise more dynamic.

SAE's solutions and advantages for SaaS scenarios

Through the practice of hard city, we can also feel that SAE has greatly improved the efficiency of development and operation and maintenance, as shown in the figure below, this is actually because SAE combines the advantages of containers, serverless, and microservices to create a one-stop application Development and deployment platform.

It shields the complexity of K8S and other resource maintenance from the bottom, and provides the full application lifecycle management, microservice governance, APM, elastic management and other capabilities on the top, allowing users to more easily complete containerization, application migration, and business cloudification. Picture 1.pngAt the same time, SAE can also support "0" code transformation and migration for stock applications that have been micro-serviced or are still in the monolithic architecture. As shown in the figure below, it is assumed that the business is deployed based on ECS. If you want to improve the flexibility of the business to better cope with traffic fluctuations, or simply want to simplify tedious things such as resource management and operation and maintenance, then SAE can directly use ECS. Replace, that is, redeploy the business code deployed on the ECS on the SAE platform. The deployment and use of resources such as front-end security and back-end databases remain unchanged.

It needs to be reminded here that if it is based on ECS's self-built database, message middleware and other services with strong status, it is not suitable for migration to SAE. After all, once elastic scaling occurs, it will cause the lack of "status data". If Not very sensitive to price, it is recommended that this part of the service can be migrated to PaaS products on the cloud for better stability. Picture 2.pngBased on the above two points, we can further expand. For most SaaS enterprise customers, we found that there are two types of business demands:

One is a subscription-based SaaS company that builds its own service platform and provides external services such as ticket booking, catering services, airport wine, travel, ERP, and HRP. The core focus of such enterprises is the competitiveness and agile iteration of vertical business fields to ensure that they can quickly respond to the market. At the same time, this type of business also has great demands for elasticity, so it is very suitable to build elastic microservice capabilities or elastic containers based on SAE, which not only allows users to focus on business development, but also the platform provides resource management, elasticity, application management, etc. The integrated capability greatly simplifies operation and maintenance costs, and can also improve resource utilization through flexibility to save resource costs. SAE can also build pipelines in conjunction with Jenkins or cloud effects to improve the overall development and deployment efficiency. Picture 3.pngThere is also a type of SaaS enterprise that will undertake many independent deployment requirements, and deliver the business platform built by itself in the final customer's Alibaba Cloud account or IDC. For the services deployed on Alibaba Cloud, there will be a series of processes such as resource development, deployment, and post-operation and maintenance. Especially, the technical capabilities of the end customers are uneven, so how to quickly complete the business deployment and simplify the later troubleshooting and maintenance work is particularly important. Here, SAE provides a one-click deployment method based on terraform, which can deploy and pull up all the product resources of the business system, such as business code + SAE resources, VPC network, SLB, database, etc., in minutes, with strong replicable sex. As shown in the figure below, coupled with SAE's own APM monitoring capabilities and flexible O&M-free features, it can also greatly reduce maintenance costs for subsequent delivery to end customers. Picture 4.pngServerless has become the next decade of cloud computing. It is expected that Alibaba Cloud's serverless capabilities can bring convenience to more and more users, simplify the cost of using the cloud, keep the complexity for yourself, and leave simplicity for users.

For more content, pay attention to the Serverless WeChat official account (ID: serverlessdevs), which brings together the most comprehensive content of serverless technology, regularly holds serverless events, live broadcasts, and user best practices.

{{o.name}}
{{m.name}}

Guess you like

Origin my.oschina.net/u/4611872/blog/5560860